Home Page Icon
Home Page
Table of Contents for
Cover
Close
Cover
by Jon Orwant, Tom Christiansen, Larry Wall
Programming Perl, 3rd Edition
Programming Perl, 3rd Edition
A Note Regarding Supplemental Files
Preface
The Pursuit of Happiness
What's New in This Edition
The Standard Distribution
Online Documentation
Navigating the Standard Manpages
Searching the Manpages
Non-Perl Manpages
Offline Documentation
Additional Resources
Perl on the Web
Usenet Newsgroups
Bug Reports
Conventions Used in This Book
Acknowledgments
We'd Like to Hear from You
I. Overview
1. An Overview of Perl
1.1. Getting Started
1.2. Natural and Artificial Languages
1.2.1. Variable Syntax
1.2.1.1. Singularities
1.2.1.2. Pluralities
1.2.1.2.1. Arrays.
1.2.1.2.2. Hashes.
1.2.1.3. Complexities
1.2.1.4. Simplicities
1.2.2. Verbs
1.3. An Average Example
1.3.1. How to Do It
1.4. Filehandles
1.5. Operators
1.5.1. Some Binary Arithmetic Operators
1.5.2. String Operators
1.5.3. Assignment Operators
1.5.4. Unary Arithmetic Operators
1.5.5. Logical Operators
1.5.6. Some Numeric and String Comparison Operators
1.5.7. Some File Test Operators
1.6. Control Structures
1.6.1. What Is Truth?
1.6.1.1. The if and unless statements
1.6.2. Iterative (Looping) Constructs
1.6.2.1. The while and until statements
1.6.2.2. The for statement
1.6.2.3. The foreach statement
1.6.2.4. Breaking out: next and last
1.7. Regular Expressions
1.7.1. Quantifiers
1.7.2. Minimal Matching
1.7.3. Nailing Things Down
1.7.4. Backreferences
1.8. List Processing
1.9. What You Don't Know Won't Hurt You (Much)
II. The Gory Details
2. Bits and Pieces
2.1. Atoms
2.2. Molecules
2.3. Built-in Data Types
2.4. Variables
2.5. Names
2.5.1. Name Lookups
2.6. Scalar Values
2.6.1. Numeric Literals
2.6.2. String Literals
2.6.3. Pick Your Own Quotes
2.6.4. Or Leave the Quotes Out Entirely
2.6.5. Interpolating Array Values
2.6.6. "Here" Documents
2.6.7. V-String Literals
2.6.8. Other Literal Tokens
2.7. Context
2.7.1. Scalar and List Context
2.7.2. Boolean Context
2.7.3. Void Context
2.7.4. Interpolative Context
2.8. List Values and Arrays
2.8.1. List Assignment
2.8.2. Array Length
2.9. Hashes
2.10. Typeglobs and Filehandles
2.11. Input Operators
2.11.1. Command Input (Backtick) Operator
2.11.2. Line Input (Angle) Operator
2.11.3. Filename Globbing Operator
3. Unary and Binary Operators
3.1. Terms and List Operators (Leftward)
3.2. The Arrow Operator
3.3. Autoincrement and Autodecrement
3.4. Exponentiation
3.5. Ideographic Unary Operators
3.6. Binding Operators
3.7. Multiplicative Operators
3.8. Additive Operators
3.9. Shift Operators
3.10. Named Unary and File Test Operators
3.11. Relational Operators
3.12. Equality Operators
3.13. Bitwise Operators
3.14. C-Style Logical (Short-Circuit) Operators
3.15. Range Operator
3.16. Conditional Operator
3.17. Assignment Operators
3.18. Comma Operators
3.19. List Operators (Rightward)
3.20. Logical and, or, not, and xor
3.21. C Operators Missing from Perl
4. Statements and Declarations
4.1. Simple Statements
4.2. Compound Statements
4.3. if and unless Statements
4.4. Loop Statements
4.4.1. while and until Statements
4.4.2. for Loops
4.4.3. foreach Loops
4.4.4. Loop Control
4.5. Bare Blocks
4.5.1. Case Structures
4.6. goto
4.7. Global Declarations
4.8. Scoped Declarations
4.8.1. Scoped Variable Declarations
4.8.2. Lexically Scoped Variables: my
4.8.3. Lexically Scoped Global Declarations: our
4.8.4. Dynamically Scoped Variables: local
4.9. Pragmas
4.9.1. Controlling Warnings
4.9.2. Controlling the Use of Globals
5. Pattern Matching
5.1. The Regular Expression Bestiary
5.2. Pattern-Matching Operators
5.2.1. Pattern Modifiers
5.2.2. The m// Operator (Matching)
5.2.3. The s/// Operator (Substitution)
5.2.3.1. Modifying strings en passant
5.2.3.2. When a global substitution just isn't global enough
5.2.4. The tr/// Operator (Transliteration)
5.3. Metacharacters and Metasymbols
5.3.1. Metasymbol Tables
5.3.2. Specific Characters
5.3.3. Wildcard Metasymbols
5.4. Character Classes
5.4.1. Custom Character Classes
5.4.2. Classic Perl Character Class Shortcuts
5.4.3. Unicode Properties
5.4.3.1. Perl's Unicode properties
5.4.3.2. Standard Unicode properties
5.4.3.3. Unicode block properties
5.4.3.4. Defining your own character properties
5.4.4. POSIX-Style Character Classes
5.5. Quantifiers
5.6. Positions
5.6.1. Beginnings: The A and ^ Assertions
5.6.2. Endings: The z, , and $ Assertions
5.6.3. Boundaries: The and B Assertions
5.6.4. Progressive Matching
5.6.5. Where You Left Off: The G Assertion
5.7. Capturing and Clustering
5.7.1. Capturing
5.7.2. Clustering
5.7.3. Cloistered Pattern Modifiers
5.8. Alternation
5.9. Staying in Control
5.9.1. Letting Perl Do the Work
5.9.2. Variable Interpolation
5.9.2.1. When backslashes happen
5.9.2.2. The qr// quote regex operator
5.9.3. The Regex Compiler
5.9.4. The Little Engine That /Could(n't)?/
5.10. Fancy Patterns
5.10.1. Lookaround Assertions
5.10.2. Nonbacktracking Subpatterns
5.10.3. Programmatic Patterns
5.10.3.1. Generated patterns
5.10.3.2. Substitution evaluations
5.10.3.3. Match-time code evaluation
5.10.3.4. Match-time pattern interpolation
5.10.3.5. Conditional interpolation
5.10.4. Defining Your Own Assertions
6. Subroutines
6.1. Syntax
6.2. Semantics
6.2.1. Tricks with Parameter Lists
6.2.2. Error Indications
6.2.3. Scoping Issues
6.3. Passing References
6.4. Prototypes
6.4.1. Inlining Constant Functions
6.4.2. Care with Prototypes
6.5. Subroutine Attributes
6.5.1. The locked and method Attributes
6.5.2. The lvalue Attribute
7. Formats
7.1. Format Variables
7.2. Footers
7.2.1. Accessing Formatting Internals
8. References
8.1. What Is a Reference?
8.2. Creating References
8.2.1. The Backslash Operator
8.2.2. Anonymous Data
8.2.2.1. The anonymous array composer
8.2.2.2. The anonymous hash composer
8.2.2.3. The anonymous subroutine composer
8.2.3. Object Constructors
8.2.4. Handle References
8.2.5. Symbol Table References
8.2.6. Implicit Creation of References
8.3. Using Hard References
8.3.1. Using a Variable as a Variable Name
8.3.2. Using a BLOCK as a Variable Name
8.3.3. Using the Arrow Operator
8.3.4. Using Object Methods
8.3.5. Pseudohashes
8.3.6. Other Tricks You Can Do with Hard References
8.3.7. Closures
8.3.7.1. Closures as function templates
8.3.7.2. Nested subroutines
8.4. Symbolic References
8.5. Braces, Brackets, and Quoting
8.5.1. References Don't Work as Hash Keys
8.5.2. Garbage Collection, Circular References, and Weak References
9. Data Structures
9.1. Arrays of Arrays
9.1.1. Creating and Accessing a Two-Dimensional Array
9.1.2. Growing Your Own
9.1.3. Access and Printing
9.1.4. Slices
9.1.5. Common Mistakes
9.2. Hashes of Arrays
9.2.1. Composition of a Hash of Arrays
9.2.2. Generation of a Hash of Arrays
9.2.3. Access and Printing of a Hash of Arrays
9.3. Arrays of Hashes
9.3.1. Composition of an Array of Hashes
9.3.2. Generation of an Array of Hashes
9.3.3. Access and Printing of an Array of Hashes
9.4. Hashes of Hashes
9.4.1. Composition of a Hash of Hashes
9.4.2. Generation of a Hash of Hashes
9.4.3. Access and Printing of a Hash of Hashes
9.5. Hashes of Functions
9.6. More Elaborate Records
9.6.1. Composition, Access, and Printing of More Elaborate Records
9.6.2. Composition, Access, and Printing of Even More Elaborate Records
9.6.3. Generation of a Hash of Complex Records
9.7. Saving Data Structures
10. Packages
10.1. Symbol Tables
10.2. Autoloading
11. Modules
11.1. Using Modules
11.2. Creating Modules
11.2.1. Module Privacy and the Exporter
11.2.1.1. Exporting without using Exporter's import method
11.2.1.2. Version checking
11.2.1.3. Managing unknown symbols
11.2.1.4. Tag-handling utility functions
11.3. Overriding Built-in Functions
12. Objects
12.1. Brief Refresher on Object-Oriented Lingo
12.2. Perl's Object System
12.3. Method Invocation
12.3.1. Method Invocation Using the Arrow Operator
12.3.2. Method Invocation Using Indirect Objects
12.3.3. Syntactic Snafus with Indirect Objects
12.3.4. Package-Quoted Classes
12.4. Object Construction
12.4.1. Inheritable Constructors
12.4.2. Initializers
12.5. Class Inheritance
12.5.1. Inheritance Through @ISA
12.5.2. Accessing Overridden Methods
12.5.3. UNIVERSAL: The Ultimate Ancestor Class
12.5.4. Method Autoloading
12.5.5. Private Methods
12.6. Instance Destructors
12.6.1. Garbage Collection with DESTROY Methods
12.7. Managing Instance Data
12.7.1. Field Declarations with use fields
12.7.2. Generating Classes with Class::Struct
12.7.3. Generating Accessors with Autoloading
12.7.4. Generating Accessors with Closures
12.7.5. Using Closures for Private Objects
12.7.6. New Tricks
12.8. Managing Class Data
12.9. Summary
13. Overloading
13.1. The overload Pragma
13.2. Overload Handlers
13.3. Overloadable Operators
13.4. The Copy Constructor (=)
13.5. When an Overload Handler Is Missing (nomethod and fallback)
13.6. Overloading Constants
13.7. Public Overload Functions
13.8. Inheritance and Overloading
13.9. Run-Time Overloading
13.10. Overloading Diagnostics
14. Tied Variables
14.1. Tying Scalars
14.1.1. Scalar-Tying Methods
14.1.2. Magical Counter Variables
14.1.3. Magically Banishing $_
14.2. Tying Arrays
14.2.1. Array-Tying Methods
14.2.2. Notational Convenience
14.3. Tying Hashes
14.3.1. Hash-Tying Methods
14.4. Tying Filehandles
14.4.1. Filehandle-Tying Methods
14.4.2. Creative Filehandles
14.5. A Subtle Untying Trap
14.6. Tie Modules on CPAN
III. Perl as Technology
15. Unicode
15.1. Building Character
15.2. Effects of Character Semantics
15.3. Caveats
16. Interprocess Communication
16.1. Signals
16.1.1. Signaling Process Groups
16.1.2. Reaping Zombies
16.1.3. Timing Out Slow Operations
16.1.4. Blocking Signals
16.2. Files
16.2.1. File Locking
16.2.2. Passing Filehandles
16.3. Pipes
16.3.1. Anonymous Pipes
16.3.2. Talking to Yourself
16.3.3. Bidirectional Communication
16.3.4. Named Pipes
16.4. System V IPC
16.5. Sockets
16.5.1. Networking Clients
16.5.2. Networking Servers
16.5.3. Message Passing
17. Threads
17.1. The Process Model
17.2. The Thread Model
17.2.1. The Thread Module
17.2.1.1. Thread creation
17.2.1.2. Thread destruction
17.2.1.3. Catching exceptions from join
17.2.1.4. The detach method
17.2.1.5. Identifying threads
17.2.1.6. Listing current threads
17.2.1.7. Yielding the processor
17.2.2. Data Access
17.2.2.1. Synchronizing access with lock
17.2.2.2. Deadlock
17.2.2.3. Locking subroutines
17.2.2.4. The locked attribute
17.2.2.5. Locking methods
17.2.2.6. Condition variables
17.2.3. Other Thread Modules
17.2.3.1. Queues
17.2.3.2. Semaphores
17.2.3.3. Other standard threading modules
18. Compiling
18.1. The Life Cycle of a Perl Program
18.2. Compiling Your Code
18.3. Executing Your Code
18.4. Compiler Backends
18.5. Code Generators
18.5.1. The Bytecode Generator
18.5.2. The C Code Generators
18.6. Code Development Tools
18.7. Avant-Garde Compiler, Retro Interpreter
19. The Command-Line Interface
19.1. Command Processing
19.1.1. #! and Quoting on Non-Unix Systems
19.1.2. Location of Perl
19.1.3. Switches
19.2. Environment Variables
20. The Perl Debugger
20.1. Using the Debugger
20.2. Debugger Commands
20.2.1. Stepping and Running
20.2.2. Breakpoints
20.2.3. Tracing
20.2.4. Display
20.2.5. Locating Code
20.2.6. Actions and Command Execution
20.2.7. Miscellaneous Commands
20.3. Debugger Customization
20.3.1. Editor Support for Debugging
20.3.2. Customizing with Init Files
20.3.3. Debugger Options
20.4. Unattended Execution
20.5. Debugger Support
20.5.1. Writing Your Own Debugger
20.6. The Perl Profiler
21. Internals and Externals
21.1. How Perl Works
21.2. Internal Data Types
21.3. Extending Perl (Using C from Perl)
21.3.1. XS and XSUBs
21.3.2. Creating Extensions
21.3.3. XSUB Input and Output
21.3.4. Using Functions from an External C Library
21.4. Embedding Perl (Using Perl from C)
21.4.1. Compiling Embedded Programs
21.4.2. Adding a Perl Interpreter to Your C Program
21.4.3. Calling a Perl Subroutine from C
21.4.4. Evaluating a Perl Statement from C
21.4.5. Fiddling with the Perl Stack from C
21.5. The Moral of the Story
IV. Perl as Culture
22. CPAN
22.1. The CPAN modules Directory
22.2. Using CPAN Modules
22.2.1. Decompressing and Unpacking CPAN Modules
22.2.2. Building CPAN Modules
22.2.3. Installing CPAN Modules into the Perl Library
22.3. Creating CPAN Modules
22.3.1. Internal Testing
22.3.2. External Testing
23. Security
23.1. Handling Insecure Data
23.1.1. Detecting and Laundering Tainted Data
23.1.2. Cleaning Up Your Environment
23.1.3. Accessing Commands and Files Under Reduced Privileges
23.2. Handling Timing Glitches
23.2.1. Unix Kernel Security Bugs
23.2.2. Handling Race Conditions
23.2.3. Temporary Files
23.3. Handling Insecure Code
23.3.1. Safe Compartments
23.3.1.1. Restricting namespace access
23.3.1.2. Restricting operator access
23.3.1.3. Safe examples
23.3.2. Code Masquerading as Data
24. Common Practices
24.1. Common Goofs for Novices
24.1.1. Universal Blunders
24.1.2. Frequently Ignored Advice
24.1.3. C Traps
24.1.4. Shell Traps
24.1.5. Previous Perl Traps
24.2. Efficiency
24.2.1. Time Efficiency
24.2.2. Space Efficiency
24.2.3. Programmer Efficiency
24.2.4. Maintainer Efficiency
24.2.5. Porter Efficiency
24.2.6. User Efficiency
24.3. Programming with Style
24.4. Fluent Perl
24.5. Program Generation
24.5.1. Generating Other Languages in Perl
24.5.2. Generating Perl in Other Languages
24.5.3. Source Filters
25. Portable Perl
25.1. Newlines
25.2. Endianness and Number Width
25.3. Files and Filesystems
25.4. System Interaction
25.5. Interprocess Communication (IPC)
25.6. External Subroutines (XS)
25.7. Standard Modules
25.8. Dates and Times
25.9. Internationalization
25.10. Style
26. Plain Old Documentation
26.1. Pod in a Nutshell
26.1.1. Verbatim Paragraphs
26.1.2. Pod Directives
26.1.3. Pod Sequences
26.2. Pod Translators and Modules
26.3. Writing Your Own Pod Tools
26.4. Pod Pitfalls
26.5. Documenting Your Perl Programs
27. Perl Culture
27.1. History Made Practical
27.2. Perl Poetry
V. Reference Material
28. Special Names
28.1. Special Names Grouped by Type
28.1.1. Regular Expression Special Variables
28.1.2. Per-Filehandle Variables
28.1.3. Per-Package Special Variables
28.1.4. Program-wide Special Variables
28.1.5. Per-Package Special Filehandles
28.1.6. Per-Package Special Functions
28.2. Special Variables in Alphabetical Order
29. Functions
29.1. Perl Functions by Category
29.2. Perl Functions in Alphabetical Order
29.2.1. abs
29.2.2. accept
29.2.3. alarm
29.2.4. atan2
29.2.5. bind
29.2.6. binmode
29.2.7. bless
29.2.8. caller
29.2.9. chdir
29.2.10. chmod
29.2.11. chomp
29.2.12. chop
29.2.13. chown
29.2.14. chr
29.2.15. chroot
29.2.16. close
29.2.17. closedir
29.2.18. connect
29.2.19. cos
29.2.20. crypt
29.2.21. dbmclose
29.2.22. dbmopen
29.2.23. defined
29.2.24. delete
29.2.25. die
29.2.26. do (block)
29.2.27. do (file)
29.2.28. do (subroutine)
29.2.29. dump
29.2.30. each
29.2.31. eof
29.2.32. eval
29.2.33. exec
29.2.34. exists
29.2.35. exit
29.2.36. exp
29.2.37. fcntl
29.2.38. fileno
29.2.39. flock
29.2.40. fork
29.2.41. format
29.2.42. formline
29.2.43. getc
29.2.44. getgrent
29.2.45. getgrgid
29.2.46. getgrnam
29.2.47. gethostbyaddr
29.2.48. gethostbyname
29.2.49. gethostent
29.2.50. getlogin
29.2.51. getnetbyaddr
29.2.52. getnetbyname
29.2.53. getnetent
29.2.54. getpeername
29.2.55. getpgrp
29.2.56. getppid
29.2.57. getpriority
29.2.58. getprotobyname
29.2.59. getprotobynumber
29.2.60. getprotoent
29.2.61. getpwent
29.2.62. getpwnam
29.2.63. getpwuid
29.2.64. getservbyname
29.2.65. getservbyport
29.2.66. getservent
29.2.67. getsockname
29.2.68. getsockopt
29.2.69. glob
29.2.70. gmtime
29.2.71. goto
29.2.72. grep
29.2.73. hex
29.2.74. import
29.2.75. index
29.2.76. int
29.2.77. ioctl
29.2.78. join
29.2.79. keys
29.2.80. kill
29.2.81. last
29.2.82. lc
29.2.83. lcfirst
29.2.84. length
29.2.85. link
29.2.86. listen
29.2.87. local
29.2.88. localtime
29.2.89. lock
29.2.90. log
29.2.91. lstat
29.2.92. m//
29.2.93. map
29.2.94. mkdir
29.2.95. msgctl
29.2.96. msgget
29.2.97. msgrcv
29.2.98. msgsnd
29.2.99. my
29.2.100. new
29.2.101. next
29.2.102. no
29.2.103. oct
29.2.104. open
29.2.105. opendir
29.2.106. ord
29.2.107. our
29.2.108. pack
29.2.109. package
29.2.110. pipe
29.2.111. pop
29.2.112. pos
29.2.113. print
29.2.114. printf
29.2.115. prototype
29.2.116. push
29.2.117. q/STRING/
29.2.118. quotemeta
29.2.119. rand
29.2.120. read
29.2.121. readdir
29.2.122. readline
29.2.123. readlink
29.2.124. readpipe
29.2.125. recv
29.2.126. redo
29.2.127. ref
29.2.128. rename
29.2.129. require
29.2.130. reset
29.2.131. return
29.2.132. reverse
29.2.133. rewinddir
29.2.134. rindex
29.2.135. rmdir
29.2.136. s///
29.2.137. scalar
29.2.138. seek
29.2.139. seekdir
29.2.140. select (output filehandle)
29.2.141. select (ready file descriptors)
29.2.142. semctl
29.2.143. semget
29.2.144. semop
29.2.145. send
29.2.146. setpgrp
29.2.147. setpriority
29.2.148. setsockopt
29.2.149. shift
29.2.150. shmctl
29.2.151. shmget
29.2.152. shmread
29.2.153. shmwrite
29.2.154. shutdown
29.2.155. sin
29.2.156. sleep
29.2.157. socket
29.2.158. socketpair
29.2.159. sort
29.2.160. splice
29.2.161. split
29.2.162. sprintf
29.2.163. sqrt
29.2.164. srand
29.2.165. stat
29.2.166. study
29.2.167. sub
29.2.168. substr
29.2.169. symlink
29.2.170. syscall
29.2.171. sysopen
29.2.172. sysread
29.2.173. sysseek
29.2.174. system
29.2.175. syswrite
29.2.176. tell
29.2.177. telldir
29.2.178. tie
29.2.179. tied
29.2.180. time
29.2.181. times
29.2.182. tr///
29.2.183. truncate
29.2.184. uc
29.2.185. ucfirst
29.2.186. umask
29.2.187. undef
29.2.188. unlink
29.2.189. unpack
29.2.190. unshift
29.2.191. untie
29.2.192. use
29.2.193. utime
29.2.194. values
29.2.195. vec
29.2.196. wait
29.2.197. waitpid
29.2.198. wantarray
29.2.199. warn
29.2.200. write
29.2.201. //
30. The Standard Perl Library
30.1. Library Science
30.2. A Tour of the Perl Library
31. Pragmatic Modules
31.1. use attributes
31.2. use autouse
31.3. use base
31.4. use blib
31.5. use bytes
31.6. use charnames
31.7. use constant
31.7.1. Restrictions on use constant
31.8. use diagnostics
31.9. use fields
31.10. use filetest
31.10.1. use filetest 'access'
31.11. use integer
31.12. use less
31.13. use lib
31.14. use locale
31.15. use open
31.16. use overload
31.17. use re
31.18. use sigtrap
31.18.1. Signal Handlers
31.18.2. Predefined Signal Lists
31.18.3. Other Arguments to sigtrap
31.18.4. Examples of sigtrap
31.19. use strict
31.19.1. strict 'refs'
31.19.2. strict 'vars'
31.19.3. strict 'subs'
31.20. use subs
31.21. use vars
31.22. use warnings
32. Standard Modules
32.1. Listings by Type
32.1.1. Data Types
32.1.2. String Processing, Language Text Processing, Parsing, and Searching
32.1.3. Option, Argument, Parameter, and Configuration File Processing
32.1.4. Filenames, Filesystems, and File Locking
32.1.5. Filehandle, Directory Handle, and Stream I/O Utilities
32.1.6. Internationalization and Locale
32.1.7. Operating System Interfaces
32.1.8. Networking and Interprocess Communication
32.1.9. World Wide Web
32.1.10. DBM Interfaces
32.1.11. User Interfaces
32.1.12. Authentication, Security, and Encryption
32.1.13. Perl Language Extensions and Internals
32.1.14. Convenient Classes
32.1.15. Warnings and Exceptions
32.1.16. Documentation Support
32.1.17. Module Installation Support
32.1.18. Development Support
32.1.19. Perl Compiler and Code Generator
32.1.20. Microsoft-Related Modules
32.2. Benchmark
32.3. Carp
32.4. CGI
32.5. CGI::Carp
32.6. Class::Struct
32.7. Config
32.8. CPAN
32.9. Cwd
32.10. Data::Dumper
32.11. DB_File
32.12. Dumpvalue
32.13. English
32.14. Errno
32.15. Exporter
32.16. Fatal
32.17. Fcntl
32.18. File::Basename
32.19. File::Compare
32.20. File::Copy
32.21. File::Find
32.22. File::Glob
32.23. File::Spec
32.24. File::stat
32.25. File::Temp
32.26. FileHandle
32.27. Getopt::Long
32.28. Getopt::Std
32.29. IO::Socket
32.30. IPC::Open2
32.31. IPC::Open3
32.32. Math::BigInt
32.33. Math::Complex
32.34. Math::Trig
32.35. Net::hostent
32.36. POSIX
32.37. Safe
32.38. Socket
32.39. Symbol
32.40. Sys::Hostname
32.41. Sys::Syslog
32.42. Term::Cap
32.43. Text::Wrap
32.44. Time::Local
32.45. Time::localtime
32.46. User::grent
32.47. User::pwent
33. Diagnostic Messages
Glossary
Index
About the Authors
Colophon
Search in book...
Toggle Font Controls
Playlists
Add To
Create new playlist
Name your new playlist
Playlist description (optional)
Cancel
Create playlist
Sign In
Email address
Password
Forgot Password?
Create account
Login
or
Continue with Facebook
Continue with Google
Sign Up
Full Name
Email address
Confirm Email Address
Password
Login
Create account
or
Continue with Facebook
Continue with Google
Next
Next Chapter
Programming Perl, 3rd Edition
Add Highlight
No Comment
..................Content has been hidden....................
You can't read the all page of ebook, please click
here
login for view all page.
Day Mode
Cloud Mode
Night Mode
Reset