
Programming Perl
Tom Christiansen, Larry Wall, Jon Orwant
Résumé
Programming Perl is not just a book about Perl. It is also a unique introduction to the language and its culture, as you 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 you 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 tell you about typeglobs, pseudohashes, and closures, but only this one can show you how they really work. Any Perl book can tell you that my is faster than local, but only this one can explain why. Any Perl book can have a title, but only this book is affectionately known by all Perl programmers as The Camel.
This 3rd 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
Preface
PART 1: 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)
PART 2: 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
PART 3: Perl as Technology
Chapter 15. Unicode
Building Character
Effects of Character Semantics
Caution, [ren2bold] Working
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
PART 4: 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
PART 5: 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
Glossary
Index
L'auteur - Tom Christiansen
Tom Christiansen is a freelance consultant specializing in Perl training and writing. After working for several years for TSR Hobbies (of Dungeons and Dragons fame), he set off for college where he spent a year in Spain and five in America, dabbling in music, linguistics, programming, and some half-dozen different spoken languages. Tom finally escaped UW-Madison with B.A.s in Spanish and computer science and an M.S. in computer science. He then spent five years at Convex as a jack-of-all-trades working on everything from system administration to utility and kernel development, with customer support and training thrown in for good measure. Tom also served two terms on the USENIX Association Board of directors. With over fifteen years' experience in UNIX system administration and programming, Tom presents seminars internationally. Living in the foothills above Boulder, Colorado, surrounded by mule deer, skunks, and the occasional mountain lion and black bear, Tom takes summers off for hiking, hacking, birding, music making, and gaming.
L'auteur - Larry Wall
is the inventor of Perl. He has also authored some other popular free programs available for UNIX, including the rn news reader and the ubiquitous patch program. By training Larry is actually a linguist, having wandered about both U.C. Berkeley and U.C.L.A. as a grad student. Over the course of years, he has spent time at Unisys, JPL, NetLabs, and Seagate, playing with everything from discrete event simulators to network-management systems, with the occasional spacecraft thrown in. It was at Unisys, while trying to glue together a bicoastal configuration management system over a 1200 baud encrypted link using a hacked-over version of Netnews, that Perl was born. Larry currently works for O'Reilly & Associates.
L'auteur - Jon Orwant
Jon Orwant, a well-known member of the Perl community, founded The Perl Journal and co-authored O'Reilly's bestseller, Programming Perl, 3rd Edition.
Caractéristiques techniques
PAPIER | |
Éditeur(s) | O'Reilly |
Auteur(s) | Tom Christiansen, Larry Wall, Jon Orwant |
Parution | 25/07/2000 |
Édition | 3eme édition |
Nb. de pages | 1104 |
Format | 17,8 x 23,2 |
EAN13 | 9780596000271 |
ISBN13 | 978-0-596-00027-1 |
Avantages Eyrolles.com
Consultez aussi
- Les meilleures ventes en Graphisme & Photo
- Les meilleures ventes en Informatique
- Les meilleures ventes en Construction
- Les meilleures ventes en Entreprise & Droit
- Les meilleures ventes en Sciences
- Les meilleures ventes en Littérature
- Les meilleures ventes en Arts & Loisirs
- Les meilleures ventes en Vie pratique
- Les meilleures ventes en Voyage et Tourisme
- Les meilleures ventes en BD et Jeunesse