Book description
Perl is a powerful programming language that has grown in popularity since it first appeared in 1988. The first edition of this book, Programming Perl, hit the shelves in 1990, and was quickly adopted as the undisputed bible of the language. Since then, Perl has grown with the times, and so has this book. Programming Perl is not just a book about Perl. It is also a unique introduction to the language and its culture, as one might expect only from its authors. Larry Wall is the inventor of Perl, and provides a unique perspective on the evolution of Perl and its future direction. Tom Christiansen was one of the first champions of the language, and lives and breathes the complexities of Perl internals as few other mortals do. Jon Orwant is the editor of The Perl Journal, which has brought together the Perl community as a common forum for new developments in Perl. Any Perl book can show the syntax of Perl's functions, but only this one is a comprehensive guide to all the nooks and crannies of the language. Any Perl book can explain typeglobs, pseudohashes, and closures, but only this one shows how they really work. Any Perl book can say that my is faster than local, but only this one explains why. Any Perl book can have a title, but only this book is affectionately known by all Perl programmers as "The Camel." This third edition of Programming Perl has been expanded to cover version 5.6 of this maturing language. New topics include threading, the compiler, Unicode, and other new features that have been added since the previous edition.
Table of contents
-
Programming Perl, 3rd Edition
- A Note Regarding Supplemental Files
- Preface
- I. Overview
-
II. The Gory Details
- 2. Bits and Pieces
-
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
-
5. Pattern Matching
- 5.1. The Regular Expression Bestiary
- 5.2. Pattern-Matching Operators
- 5.3. Metacharacters and Metasymbols
- 5.4. Character Classes
- 5.5. Quantifiers
- 5.6. Positions
- 5.7. Capturing and Clustering
- 5.8. Alternation
- 5.9. Staying in Control
- 5.10. Fancy Patterns
- 6. Subroutines
- 7. Formats
- 8. References
- 9. Data Structures
- 10. Packages
- 11. Modules
- 12. Objects
-
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
-
III. Perl as Technology
- 15. Unicode
- 16. Interprocess Communication
- 17. Threads
- 18. Compiling
- 19. The Command-Line Interface
- 20. The Perl Debugger
- 21. Internals and Externals
-
IV. Perl as Culture
- 22. CPAN
- 23. Security
- 24. Common Practices
- 25. Portable Perl
- 26. Plain Old Documentation
- 27. Perl Culture
-
V. Reference Material
- 28. Special Names
-
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
-
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.8. use diagnostics
- 31.9. use fields
- 31.10. use filetest
- 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.19. use strict
- 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
-
32.1. Listings by Type
- 33. Diagnostic Messages
- Glossary
- Index
- About the Authors
- Colophon
Product information
- Title: Programming Perl, 3rd Edition
- Author(s):
- Release date: July 2000
- Publisher(s): O'Reilly Media, Inc.
- ISBN: 9780596000271
You might also like
book
Programming Perl, 4th Edition
Adopted as the undisputed Perl bible soon after the first edition appeared in 1991, Programming Perl …
book
Computer Science & Perl Programming
In its first five years of existence, The Perl Journal ran 247 articles by over 120 …
book
Perl in a Nutshell, 2nd Edition
This complete guide to the Perl programming language ranges widely through the Perl programmer's universe, gathering …
book
Programming the Perl DBI
One of the greatest strengths of the Perl programming language is its ability to manipulate large …