Book description
This complete guide to the Perl programming language ranges widely through the Perl programmer's universe, gathering together in a convenient form a wealth of information about Perl itself and its application to CGI scripts, XML processing, network programming, database interaction, and graphical user interfaces. The book is an ideal reference for experienced Perl programmers and beginners alike.With more than a million dedicated programmers, Perl is proving to be the best language for the latest trends in computing and business, including network programming and the ability to create and manage web sites. It's a language that every Unix system administrator and serious web developer needs to know. In the past few years, Perl has found its way into complex web applications of multinational banks, the U.S. Federal Reserve, and hundreds of large corporations.In this second edition, Perl in a Nutshell has been expanded to include coverage of Perl 5.8, with information on Unicode processing in Perl, new functions and modules that have been added to the core language, and up-to-date details on running Perl on the Win32 platform. The book also covers Perl modules for recent technologies such as XML and SOAP.Here are just some of the topics contained in this book:
- Basic Perl reference
- Quick reference to built-in functions and standard modules
- CGI.pm and mod_perl
- XML::* modules
- DBI, the database-independent API for Perl
- Sockets programming
- LWP, the library for Web programming in Perl
- Network programming with the Net modules
- Perl/Tk, the Tk extension to Perl for graphical interfaces
- Modules for interfacing with Win32 systems
Publisher resources
Table of contents
- Perl in a Nutshell, 2nd Edition
- Preface
-
I. Getting Started
- 1. Introduction to Perl
- 2. Installing Perl
-
II. Language Basics
- 3. The Perl Executable
-
4. The Perl Language
- 4.1. Program Structure
- 4.2. Data Types and Variables
- 4.3. Statements
- 4.4. Special Variables
-
4.5. Operators
- 4.5.1. The Arrow Operator
- 4.5.2. Unary Operators
- 4.5.3. Arithmetic Operators
- 4.5.4. Comparison Operators
- 4.5.5. Autoincrement and Autodecrement
- 4.5.6. Assignment Operators
- 4.5.7. Pattern Match Operators
- 4.5.8. File Test Operators
- 4.5.9. Logical Operators
- 4.5.10. Bitwise Operators
- 4.5.11. Miscellaneous Operators
- 4.6. Regular Expressions
- 4.7. Subroutines
- 4.8. References and Complex Data Structures
- 4.9. Filehandles
- 4.10. Signals
- 4.11. Unicode
- 4.12. Formats
- 4.13. Pod
-
5. Function Reference
- 5.1. Perl Functions by Category
- abs
- accept
- alarm
- atan2
- bind
- binmode
- bless
- caller
- chdir
- chmod
- chomp
- chop
- chown
- chr
- chroot
- close
- closedir
- connect
- cos
- crypt
- dbmclose
- dbmopen
- defined
- delete
- die
- do
- dump
- each
- endgrent
- endhostent
- endnetent
- endprotoent
- endpwent
- endservent
- eof
- eval
- exec
- exists
- exit
- exp
- fcntl
- fileno
- flock
- fork
- formline
- getc
- getgrent
- getgrgid
- getgrnam
- gethostbyaddr
- gethostbyname
- gethostent
- getlogin
- getnetbyaddr
- getnetbyname
- getnetent
- getpeername
- getpgrp
- getppid
- getpriority
- getprotobyname
- getprotobynumber
- getprotoent
- getpwent
- getpwnam
- getpwuid
- getservbyname
- getservbyport
- getservent
- getsockname
- getsockopt
- glob
- gmtime
- goto
- grep
- hex
- index
- int
- ioctl
- join
- keys
- kill
- last
- lc
- lcfirst
- length
- link
- listen
- local
- localtime
- log
- lstat
- map
- mkdir
- msgctl
- msgget
- msgrcv
- msgsnd
- my
- next
- no
- oct
- open
- opendir
- ord
- our
- pack
- package
- pipe
- pop
- pos
- printf
- prototype
- push
- q/string/
- quotemeta
- rand
- read
- readdir
- readline
- readlink
- readpipe
- recv
- redo
- ref
- rename
- require
- reset
- return
- reverse
- rewinddir
- rindex
- rmdir
- scalar
- seek
- seekdir
- select
- select
- semctl
- semget
- semop
- send
- sethostent
- setgrent
- setnetent
- setpgrp
- setpriority
- setprotoent
- setpwent
- setservent
- setsockopt
- shift
- shmctl
- shmget
- shmread
- shmwrite
- shutdown
- sin
- sleep
- socket
- socketpair
- sort
- splice
- split
- sprintf
- sqrt
- srand
- stat
- study
- sub
- substr
- symlink
- syscall
- sysopen
- sysread
- sysseek
- system
- syswrite
- tell
- telldir
- tie
- tied
- time
- times
- truncate
- uc
- ucfirst
- umask
- undef
- unlink
- unpack
- unshift
- untie
- use
- utime
- values
- vec
- wait
- waitpid
- wantarray
- warn
- write
- 6. Debugging
-
III. Modules
- 7. Packages, Modules, and Objects
-
8. Standard Modules
- 8.1. AnyDBM_File
- 8.2. Attribute::Handlers
- 8.3. attributes
- 8.4. attrs
- 8.5. AutoLoader
- 8.6. AutoSplit
- 8.7. autouse
- 8.8. B
- 8.9. B::Asmdata
- 8.10. B::Assembler
- 8.11. B::Bblock
- 8.12. B::Bytecode
- 8.13. B::C
- 8.14. B::CC
- 8.15. B::Concise
- 8.16. B::Debug
- 8.17. B::Deparse
- 8.18. B::Disassembler
- 8.19. B::Lint
- 8.20. B::Showlex
- 8.21. B::Stackobj
- 8.22. B::Terse
- 8.23. B::Xref
- 8.24. base
- 8.25. Benchmark
- 8.26. bigint
- 8.27. bignum
- 8.28. bigrat
- 8.29. blib
- 8.30. bytes
- 8.31. ByteLoader
- 8.32. Carp
- 8.33. CGI
- 8.34. CGI::Apache
- 8.35. CGI::Carp
- 8.36. CGI::Cookie
- 8.37. CGI::Fast
- 8.38. CGI::Pretty
- 8.39. CGI::Push
- 8.40. CGI::Switch
- 8.41. charnames
- 8.42. Class::ISA
- 8.43. Class::Struct
- 8.44. Config
- 8.45. constant
- 8.46. CPAN
- 8.47. CPAN::FirstTime
- 8.48. CPAN::Nox
- 8.49. Cwd
- 8.50. Data::Dumper
- 8.51. DB
- 8.52. DB_File
- 8.53. Devel::DProf
- 8.54. Devel::PPPort
- 8.55. Devel::SelfStubber
- 8.56. diagnostics
- 8.57. Digest
- 8.58. Digest::MD5
- 8.59. DirHandle
- 8.60. Dumpvalue
- 8.61. DynaLoader
- 8.62. encoding
- 8.63. English
- 8.64. Env
- 8.65. Errno
- 8.66. Exporter
- 8.67. ExtUtils::Command
- 8.68. ExtUtils::Command::MM
- 8.69. ExtUtils::Constant
- 8.70. ExtUtils::Embed
- 8.71. ExtUtils::Install
- 8.72. ExtUtils::Installed
- 8.73. ExtUtils::Liblist
- 8.74. ExtUtils::MakeMaker
- 8.75. ExtUtils::Manifest
- 8.76. ExtUtils::Miniperl
- 8.77. ExtUtils::Mkbootstrap
- 8.78. ExtUtils::Mksymlists
- 8.79. ExtUtils::MM
- 8.80. ExtUtils::MM_Any
- 8.81. ExtUtils::MM_BeOS
- 8.82. ExtUtils::MM_DOS
- 8.83. ExtUtils::MM_NW5
- 8.84. ExtUtils::MM_OS2
-
8.85. ExtUtils::MM_Unix
- Reference Section
- Reference Section
- Reference Section
- Reference Section
- Reference Section
- Reference Section
- Reference Section
- Reference Section
- Reference Section
- Reference Section
- Reference Section
- Reference Section
- Reference Section
- Reference Section
- Reference Section
- Reference Section
- Reference Section
- 8.85.1. Methods to Produce the Makefile
- 8.86. ExtUtils::MM_UWIN
- 8.87. ExtUtils::MM_VMS
- 8.88. ExtUtils::MM_Win32
- 8.89. ExtUtils::MY
- 8.90. ExtUtils::Packlist
- 8.91. ExtUtils::testlib
- 8.92. Fatal
- 8.93. Fcntl
- 8.94. fields
- 8.95. File::Basename
- 8.96. File::CheckTree
- 8.97. File::Compare
- 8.98. File::Copy
- 8.99. File::DosGlob
- 8.100. File::Find
- 8.101. File::Path
- 8.102. File::Spec
- 8.103. File::Spec::Cygwin
- 8.104. File::Spec::Mac
- 8.105. File::Spec::OS2
- 8.106. File::Spec::Unix
- 8.107. File::Spec::VMS
- 8.108. File::Spec::Win32
- 8.109. File::stat
- 8.110. File::Temp
- 8.111. FileCache
- 8.112. FileHandle
- 8.113. Filter::Simple
- 8.114. Filter::Util::Call
- 8.115. FindBin
- 8.116. GDBM_File
- 8.117. Getopt::Long
- 8.118. Getopt::Std
- 8.119. Hash::Util
- 8.120. I18N::Collate
- 8.121. I18N::Langinfo
- 8.122. I18N::LangTags
- 8.123. I18N::LangTags::List
- 8.124. if
- 8.125. integer
- 8.126. IO
- 8.127. IO::File
- 8.128. IO::Handle
- 8.129. IO::Pipe
- 8.130. IO::Seekable
- 8.131. IO::Select
- 8.132. IO::Socket
- 8.133. IPC::Msg
- 8.134. IPC::Open2
- 8.135. IPC::Open3
- 8.136. IPC::Semaphore
- 8.137. IPC::SysV
- 8.138. less
- 8.139. lib
- 8.140. List::Util
- 8.141. locale
- 8.142. Math::BigFloat
- 8.143. Math::BigInt
- 8.144. Math::BigInt::Calc
- 8.145. Math::BigRat
- 8.146. Math::Complex
- 8.147. Math::Trig
- 8.148. MIME::Base64
- 8.149. MIME::QuotedPrint
- 8.150. NDBM_File
- 8.151. Net::Cmd
- 8.152. Net::Config
- 8.153. Net::Domain
- 8.154. Net::FTP
- 8.155. Net::hostent
- 8.156. Net::netent
- 8.157. Net::Netrc
- 8.158. Net::NNTP
- 8.159. Net::Ping
- 8.160. Net::POP3
- 8.161. Net::protoent
- 8.162. Net::servent
- 8.163. Net::SMTP
- 8.164. Net::Time
- 8.165. O
- 8.166. ODBM_File
- 8.167. Opcode
- 8.168. ops
- 8.169. overload
- 8.170. PerlIO
- 8.171. PerlIO::Scalar
- 8.172. PerlIO::Via
- 8.173. Pod::Functions
- 8.174. Pod::Html
- 8.175. Pod::ParseLink
- 8.176. Pod::Text
- 8.177. POSIX
- 8.178. re
- 8.179. Safe
- 8.180. Scalar::Util
- 8.181. SDBM_File
- 8.182. Search::Dict
- 8.183. SelectSaver
- 8.184. SelfLoader
- 8.185. Shell
- 8.186. sigtrap
- 8.187. Socket
- 8.188. sort
- 8.189. Storable
- 8.190. strict
- 8.191. subs
- 8.192. Switch
- 8.193. Symbol
- 8.194. Sys::Hostname
- 8.195. Sys::Syslog
- 8.196. Term::Cap
- 8.197. Term::Complete
- 8.198. Term::ReadLine
- 8.199. Test
- 8.200. Test::Builder
- 8.201. Test::Harness
- 8.202. Test::More
- 8.203. Test::Simple
- 8.204. Text::Abbrev
- 8.205. Text::Balanced
- 8.206. Text::ParseWords
- 8.207. Text::Soundex
- 8.208. Text::Tabs
- 8.209. Text::Wrap
- 8.210. Thread
- 8.211. Thread::Queue
- 8.212. Thread::Semaphore
- 8.213. Thread::Signal
- 8.214. Thread::Specific
- 8.215. Tie::Array, Tie::StdArray
- 8.216. Tie::File
- 8.217. Tie::Handle
- 8.218. Tie::Hash
- 8.219. Tie::Memoize
- 8.220. Tie::RefHash
- 8.221. Tie::Scalar
- 8.222. Tie::SubstrHash
- 8.223. Time::gmtime
- 8.224. Time::HiRes
- 8.225. Time::Local
- 8.226. Time::localtime
- 8.227. Time::tm
- 8.228. UNIVERSAL
- 8.229. User::grent
- 8.230. User::pwent
- 8.231. utf8
- 8.232. vars
- 8.233. vmsish
- 8.234. XS::Typemap
-
IV. CGI
- 9. CGI Overview
-
10. The CGI.pm Module
- 10.1. HTML Tag Generation
- 10.2. Importing Method Groups
- 10.3. Maintaining State
- 10.4. Named Parameters
- 10.5. Using JavaScript Features
- 10.6. Debugging
-
10.7. CGI.pm Reference
- accept
- append
- auth_type
- autoEscape
- button
- checkbox
- checkbox_group
- cookie
- defaults
- delete
- delete_all
- dump
- end_html
- filefield
- header
- hidden
- image_button
- import_names
- isindex
- keywords
- nph
- param
- password_field
- path_info
- path_translated
- popup_menu
- radio_group
- raw_cookie
- ReadParse
- redirect
- referer
- remote_host
- remote_user
- request_method
- reset
- save
- script_name
- scrolling_list
- self_url
- start_html
- startform
- start_multipart_form
- submit
- textarea
- textfield
- url
- use_named_parameters
- user_agent
- user_name
- 11. Web Server Programming with mod_perl
- V. Databases
- VI. XML and SOAP
-
VII. Network Programming
- 15. Sockets
-
16. Email Connectivity
- 16.1. The Net Modules
-
16.2. The Mail Modules
- 16.2.1. Send Email with Mail::Mailer
- 16.2.2. Better Header Control with Mail::Send
-
16.2.3. Handle Folders with Mail::Folder
- new
- add_label
- append_message
- clear_label
- close
- current_message
- debug
- debug_print
- delete_label
- delete_message
- dup
- first_labeled_message
- first_message
- foldername
- get_fields
- get_header
- get_message
- get_message_file
- get_mime_header
- get_mime_message
- get_option
- inverse_select
- is_readonly
- label_exists
- last_labeled_message
- last_message
- list_all_labels
- list_labels
- message_exists
- message_list
- next_labeled_message
- next_message
- open
- pack
- prev_labeled_message
- prev_message
- qty
- refile
- select
- select_label
- set_option
- set_readonly
- sort
- sync
- undelete_message
- update_message
- 16.2.4. Handle Messages with Mail::Internet
- 16.2.5. Mail::Internet Reference
- 16.2.6. Parse Email Addresses with Mail::Address
- 16.2.7. Mail::Address Reference
- 16.2.8. Checking Blacklisted Hosts with Mail::RBL
- 16.2.9. Mail Filtering with Mail::Audit
- 16.2.10. Alias Manipulation with Unix::AliasFile
- 17. Usenet News
- 18. FTP
- 19. Lightweight Directory Access with Net::LDAP
-
VIII. LWP
-
20. The LWP Library
- 20.1. LWP Overview
- 20.2. The LWP Modules
- 20.3. The HTTP Modules
- 20.4. The HTML Modules
- 20.5. The URI Module
-
20. The LWP Library
-
IX. Perl/Tk
-
21. Perl/Tk
- 21.1. Widgets
- 21.2. Geometry Managers
- 21.3. Common Widget Configuration Options
- 21.4. The Button Widget
- 21.5. The Checkbutton Widget
- 21.6. The Radiobutton Widget
- 21.7. The Label Widget
- 21.8. The Entry Widget
- 21.9. The Scrollbar Widget
- 21.10. The Listbox Widget
- 21.11. The Text Widget
- 21.12. The Canvas Widget
- 21.13. The Scale Widget
- 21.14. The Menubutton Widget
- 21.15. The Menu Widget
- 21.16. The Optionmenu Widget
- 21.17. The Frame Widget
- 21.18. The Toplevel Widget
-
21. Perl/Tk
-
X. Win32
-
22. Win32 Modules and Extensions
- 22.1. Win32::Clipboard
-
22.2. Win32::Console
- Reference Section
- Reference Section
- Reference Section
- Reference Section
- Reference Section
- Reference Section
- Reference Section
- Reference Section
- Reference Section
- Reference Section
- Reference Section
- Reference Section
- Reference Section
- Reference Section
- Reference Section
- Reference Section
- Reference Section
- Reference Section
- Reference Section
- Reference Section
- Reference Section
- Reference Section
- Reference Section
- Reference Section
- Reference Section
- Reference Section
- Reference Section
- Reference Section
- Reference Section
- Reference Section
- Reference Section
- Reference Section
- Reference Section
- 22.2.1. Constants
- 22.3. Win32::ChangeNotify
- 22.4. Win32::Eventlog
- 22.5. Win32::File
- 22.6. Win32::FileSecurity
-
22.7. Win32::Internet
-
22.7.1. General Internet Methods
- CanonicalizeURL
- Close
- CombineURL
- ConnectBackoff
- ConnectionRetries
- ConnectTimeout
- ControlReceiveTimeout
- ControlSendTimeout
- CrackURL
- CreateURL
- DataReceiveTimeout
- DataSendTimeout
- Error
- FetchURL
- FTP
- GetResponse
- GetStatusCallback
- HTTP
- OpenURL
- Password
- QueryDataAvailable
- QueryOption
- ReadEntireFile
- ReadFile
- SetOption
- SetStatusCallback
- TimeConvert
- UserAgent
- Username
- Version
- 22.7.2. FTP Functions
- 22.7.3. HTTP Functions
-
22.7.1. General Internet Methods
- 22.8. Win32::IPC
- 22.9. Win32::Mutex
-
22.10. Win32::NetAdmin
- GetDomainController
- GroupAddUsers
- GroupCreate
- GroupDelete
- GroupDeleteUsers
- GroupGetAttributes
- GroupGetMembers
- GroupIsMember
- GroupSetAttributes
- LocalGroupAddUsers
- LocalGroupCreate
- LocalGroupDelete
- LocalGroupDeleteUsers
- LocalGroupGetAttributes
- LocalGroupGetMembers
- LocalGroupIsMember
- LocalGroupSetAttributes
- UserCreate
- UserDelete
- UserGetAttributes
- UserSetAttributes
- 22.11. Win32::NetResource
- 22.12. Win32::PerfLib
- 22.13. Win32::Pipe
- 22.14. Win32::Process
- 22.15. Win32::Registry
- 22.16. Win32::Semaphore
- 22.17. Win32::Service
- 22.18. Win32::Shortcut
- 22.19. Win32 Extensions
- 23. OLE Automation
-
24. ODBC Extension for Win32
-
24.1. ODBC Methods and Properties
- Catalog
- ColAttributes
- ConfigDSN
- Connection
- Close
- Data
- DataHash
- DataSources
- Debug
- Drivers
- DropCursor
- DumpData
- Error
- FetchRow
- FieldNames
- GetConnections
- GetConnectOption
- GetCursorName
- GetData
- getDSN
- GetFunctions
- GetInfo
- GetMaxBufSize
- GetSQLState
- GetStmtCloseType
- GetStmtOption
- MoreResults
- RowCount
- Run
- SetConnectOption
- SetCursorName
- SetPos
- SetMaxBufSize
- SetStmtCloseType
- SetStmtOption
- Shutdown
- Sql
- TableList
- Transact
- Version
-
24.1. ODBC Methods and Properties
-
22. Win32 Modules and Extensions
- Index
- Colophon
- Copyright
Product information
- Title: Perl in a Nutshell, 2nd Edition
- Author(s):
- Release date: June 2002
- Publisher(s): O'Reilly Media, Inc.
- ISBN: 9780596002411
You might also like
book
Perl in a Nutshell
Perl in a Nutshell is a comprehensive reference guide to the Perl programming language. This book …
book
Perl One-Liners
Perl One-Liners showcases 130 short and compelling lines of code that do all sorts of handy, …
book
Advanced Perl Programming, 2nd Edition
With a worldwide community of users and more than a million dedicated programmers, Perl has proven …
book
Programming Perl, 3rd Edition
Perl is a powerful programming language that has grown in popularity since it first appeared in …