-
Overview
-
Chapter 1 An Overview of Perl
- Getting Started
- Natural and Artificial Languages
- An Average Example
- Filehandles
- Operators
- Control Structures
- Regular Expressions
- List Processing
- What You Don't Know Won't Hurt You (Much)
-
-
The Gory Details
-
Chapter 2 Bits and Pieces
- Atoms
- Molecules
- Built-in Data Types
- Variables
- Names
- Scalar Values
- Context
- List Values and Arrays
- Hashes
- Typeglobs and Filehandles
- Input Operators
-
Chapter 3 Unary and Binary Operators
- Terms and List Operators (Leftward)
- The Arrow Operator
- Autoincrement and Autodecrement
- Exponentiation
- Ideographic Unary Operators
- Binding Operators
- Multiplicative Operators
- Additive Operators
- Shift Operators
- Named Unary and File Test Operators
- Relational Operators
- Equality Operators
- Bitwise Operators
- C-Style Logical (Short-Circuit) Operators
- Range Operator
- Conditional Operator
- Assignment Operators
- Comma Operators
- List Operators (Rightward)
- Logical and, or, not, and xor
- C Operators Missing from Perl
-
Chapter 4 Statements and Declarations
- Simple Statements
- Compound Statements
- if and unless Statements
- Loop Statements
- Bare Blocks
- goto
- Global Declarations
- Scoped Declarations
- Pragmas
-
Chapter 5 Pattern Matching
- The Regular Expression Bestiary
- Pattern-Matching Operators
- Metacharacters and Metasymbols
- Character Classes
- Quantifiers
- Positions
- Capturing and Clustering
- Alternation
- Staying in Control
- Fancy Patterns
-
Chapter 6 Subroutines
- Syntax
- Semantics
- Passing References
- Prototypes
- Subroutine Attributes
-
Chapter 7 Formats
- Format Variables
- Footers
-
Chapter 8 References
- What Is a Reference?
- Creating References
- Using Hard References
- Symbolic References
- Braces, Brackets, and Quoting
-
Chapter 9 Data Structures
- Arrays of Arrays
- Hashes of Arrays
- Arrays of Hashes
- Hashes of Hashes
- Hashes of Functions
- More Elaborate Records
- Saving Data Structures
-
Chapter 10 Packages
- Symbol Tables
- Autoloading
-
Chapter 11 Modules
- Using Modules
- Creating Modules
- Overriding Built-in Functions
-
Chapter 12 Objects
- Brief Refresher on Object-Oriented Lingo
- Perl's Object System
- Method Invocation
- Object Construction
- Class Inheritance
- Instance Destructors
- Managing Instance Data
- Managing Class Data
- Summary
-
Chapter 13 Overloading
- The overload Pragma
- Overload Handlers
- Overloadable Operators
- The Copy Constructor (=)
- When an Overload Handler Is Missing (nomethod and fallback)
- Overloading Constants
- Public Overload Functions
- Inheritance and Overloading
- Run-Time Overloading
- Overloading Diagnostics
-
Chapter 14 Tied Variables
- Tying Scalars
- Tying Arrays
- Tying Hashes
- Tying Filehandles
- A Subtle Untying Trap
- Tie Modules on CPAN
-
-
Perl as Technology
-
Chapter 15 Unicode
- Building Character
- Effects of Character Semantics
- Caveats
-
Chapter 16 Interprocess Communication
- Signals
- Files
- Pipes
- System V IPC
- Sockets
-
Chapter 17 Threads
- The Process Model
- The Thread Model
-
Chapter 18 Compiling
- The Life Cycle of a Perl Program
- Compiling Your Code
- Executing Your Code
- Compiler Backends
- Code Generators
- Code Development Tools
- Avant-Garde Compiler, Retro Interpreter
-
Chapter 19 The Command-Line Interface
- Command Processing
- Environment Variables
-
Chapter 20 The Perl Debugger
- Using the Debugger
- Debugger Commands
- Debugger Customization
- Unattended Execution
- Debugger Support
- The Perl Profiler
-
Chapter 21 Internals and Externals
- How Perl Works
- Internal Data Types
- Extending Perl (Using C from Perl)
- Embedding Perl (Using Perl from C)
- The Moral of the Story
-
-
Perl as Culture
-
Chapter 22 CPAN
- The CPAN modules Directory
- Using CPAN Modules
- Creating CPAN Modules
-
Chapter 23 Security
- Handling Insecure Data
- Handling Timing Glitches
- Handling Insecure Code
-
Chapter 24 Common Practices
- Common Goofs for Novices
- Efficiency
- Programming with Style
- Fluent Perl
- Program Generation
-
Chapter 25 Portable Perl
- Newlines
- Endianness and Number Width
- Files and Filesystems
- System Interaction
- Interprocess Communication (IPC)
- External Subroutines (XS)
- Standard Modules
- Dates and Times
- Internationalization
- Style
-
Chapter 26 Plain Old Documentation
- Pod in a Nutshell
- Pod Translators and Modules
- Writing Your Own Pod Tools
- Pod Pitfalls
- Documenting Your Perl Programs
-
Chapter 27 Perl Culture
- History Made Practical
- Perl Poetry
-
-
Reference Material
-
Chapter 28 Special Names
- Special Names Grouped by Type
- Special Variables in Alphabetical Order
-
Chapter 29 Functions
- Perl Functions by Category
- Perl Functions in Alphabetical Order
-
Chapter 30 The Standard Perl Library
- Library Science
- A Tour of the Perl Library
-
Chapter 31 Pragmatic Modules
- use attributes
- use autouse
- use base
- use blib
- use bytes
- use charnames
- use constant
- use diagnostics
- use fields
- use filetest
- use integer
- use less
- use lib
- use locale
- use open
- use overload
- use re
- use sigtrap
- use strict
- use subs
- use vars
- use warnings
-
Chapter 32 Standard Modules
- Listings by Type
- Benchmark
- Carp
- CGI
- CGI::Carp
- Class::Struct
- Config
- CPAN
- Cwd
- Data::Dumper
- DB_File
- Dumpvalue
- English
- Errno
- Exporter
- Fatal
- Fcntl
- File::Basename
- File::Compare
- File::Copy
- File::Find
- File::Glob
- File::Spec
- File::stat
- File::Temp
- FileHandle
- Getopt::Long
- Getopt::Std
- IO::Socket
- IPC::Open2
- IPC::Open3
- Math::BigInt
- Math::Complex
- Math::Trig
- Net::hostent
- POSIX
- Safe
- Socket
- Symbol
- Sys::Hostname
- Sys::Syslog
- Term::Cap
- Text::Wrap
- Time::Local
- Time::localtime
- User::grent
- User::pwent
-
Chapter 33 Diagnostic Messages
-
-
Colophon
- Title:
- Programming Perl, Third Edition
- By:
- Larry Wall, Tom Christiansen, Jon Orwant
- Publisher:
- O'Reilly Media
- Formats:
-
- Ebook
- Safari Books Online
- Print Release:
- July 2000
- Ebook Release:
- June 2009
- Pages:
- 1104
- Print ISBN:
- 978-0-596-00027-1
- | ISBN 10:
- 0-596-00027-8
- Ebook ISBN:
- 978-0-596-10357-6
- | ISBN 10:
- 0-596-10357-3
Our look is the result of reader comments, our own experimentation, and feedback from distribution channels. Distinctive covers complement our distinctive approach to technical topics, breathing personality and life into potentially dry subjects. The animal on the cover of Programming Perl, Third Edition is a dromedary (one-hump camel). Camels are large ruminant mammals, weighing between 1,000 and 1,600 pounds and standing six to seven feet tall at the shoulders. They are well known for their use as draft and saddle animals in the desert regions, especially of Africa and Asia. Camels can go for days without water. If food is scarce, they will eat anything, even their owner's tent. Camels live up to 50 years. Melanie Wang was the production editor and copyeditor for Programming Perl, Third Edition. Colleen Gorman and Maureen Dempsey provided quality control. Maeve O'Meara, Mary Sheehan, Emily Quill, Jeffrey Holcomb, Ann Schirmer, Colleen Gorman, Darren Kelly, Madeleine Newell, and Betty Hugh provided production support. Ellen Troutman Zaig wrote the index.
Edie Freedman designed the cover of this book using a 19th-century engraving from the Dover Pictorial Archive. Emma Colby produced the cover layout with QuarkXPress 4.1 using Adobe's ITC Garamond font.
Alicia Cech and David Futato designed the interior layout based on a series design by Nancy Priest. The authors' text in POD was converted by Lenny Muellner into DocBook 3.1 SGML. The print version of this book was created by translating the SGML source into a set of gtroff macros using a Perl filter developed at O'Reilly & Associates by Norman Walsh. Steve Talbott designed and wrote the underlying macro set on the basis of the GNU gtroff -ms macros; Lenny Muellner adapted them to SGML and implemented the book design. The GNU groff text formatter version 1.11 was used to generate PostScript output. Mike Sierra provided crucial help with the Chinese and Japanese Unicode characters in Chapter 15. The text and heading fonts are ITC Garamond Light and Garamond Book. The illustrations that appear in the book were produced by Robert Romano and Rhon Porter using Macromedia FreeHand 8 and Adobe Photoshop 5.
Whenever possible, our books use RepKover™, a durable and flexible lay-flat binding. If the page count exceeds RepKover's limit, perfect binding is used.
