Programming Perl

by Tom Christiansen

Other authorsJon Orwant (Author), Larry Wall (Author), Brian D. Foy (Author)
Paper Book, 2012

Status

Available

Call number

005.133

Library's review

Indeholder "Preface", "Part I. Overview", "1. An Overview of Perl", " Getting Started", " Natural and Artificial Languages", " Variable Syntax", " Verbs", " An Average Example", " How to Do It", " Filehandles", " Operators", " Some Binary Arithmetic Operators", " String Operators", " Assignment
Show More
Operators", " Unary Arithmetic Operators", " Logical Operators", " Some Numeric and String Comparison Operators", " Some File Test Operators", " Control Structures", " What Is Truth?", " The given and when Statements", " Looping Constructs", " Regular Expressions", " Quantifiers", " Minimal Matching", " Nailing Things Down", " Backreferences", " List Processing", " What You Don't Know Won't Hurt You (Much)", "Part II. The Gory Details", "2. Bits and Pieces", " Atoms", " Molecules", " Built-in Data Types", " Variables", " Names", " Name Lookups", " Scalar Values", " Numeric Literals", " String Literals", " Pick Your Own Quotes", " Or Leave Out the Quotes Entirely", " Interpolating Array Values", " "Here" Documents", " Version Literals", " Other Literal Tokens", " Context", " Scalar and List Context", " Boolean Context", " Void Context", " Interpolative Context", " List Values and Arrays", " List Assignment", " Array Length", " Hashes", " Typeglobs and Filehandles", " Input Operators", " Command Input (Backtick) Operator", " Line Input (Angle) Operator", " Filename Globbing Operator", "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", " Smartmatch Operator", " Smartmatching of Objects", " Bitwise Operators", " C-Style Logical (Short-Circuit) Operators", " Range Operators", " Conditional Operator", " Assignment Operators", " Comma Operators", " List Operators (Rightward)", " Logical and, or, not, and xor", " C Operators Missing from Perl", "4. Statements and Declarations", " Simple Statements", " Compound Statements", " if and unless Statements", " The given Statement", " The when Statement and Modifier", " Loop Statements", " while and until Statements", " Three-Part Loops", " foreach Loops", " Loop Control", " Bare Blocks as Loops", " Loopy Topicalizers", " The goto Operator", " Paleolithic Perl Case Structures", " The Ellipsis Statement", " Global Declarations", " Scoped Declarations", " Scoped Variable Declarations", " Lexically Scoped Variables: my", " Persistent Lexically Scoped Variables: state", " Lexically Scoped Global Declarations: our", " Dynamically Scoped Variables: local", " Pragmas", " Controlling Warnings", " Controlling the Use of Globals", "5. Pattern Matching", " The Regular Expression Bestiary", " Pattern-Matching Operators", " Pattern Modifiers", " The m// Operator (Matching)", " The s/// Operator (Substitution)", " The tr/// Operator (Transliteration)", " Metacharacters and Metasymbols", " Metasymbol Tables", " Specific Characters", " Wildcard Metasymbols", " Character Classes", " Bracketed Character Classes", " Classic Perl Character Class Shortcuts", " Character Properties", " POSIX-Style Character Classes", " Quantifiers", " Positions", " Beginnings: The A and ^ Assertions", " Endings: The z, Z, and $ Assertions", " : The b and B Assertions", " Progressive Matching", " Where You Left Off: The G Assertion", " Grouping and Capturing", " Capturing", " Grouping Without Capturing", " Scoped Pattern Modifiers", " Alternation", " Staying in Control", " Letting Perl Do the Work", " Variable Interpolation", " The Regex Compiler", " The Little Engine That /Could(n't)?/", " Fancy Patterns", " Lookaround Assertions", " Possessive Groups", " Programmatic Patterns", " Recursive Patterns", " Grammatical Patterns", " Defining Your Own Assertions", " Alternate Engines", "6. Unicode", " Show, Don't Tell", " Getting at Unicode Data", " The Encode Module", " A Case of Mistaken Identity", " Graphemes and Normalization", " Comparing and Sorting Unicode Text", " Using the uca with Perl's sort", " Locale Sorting", " More Goodies", " Custom Regex Boundaries", " Building Character", " References", "7. Subroutines", " Syntax", " Semantics", " Tricks with Parameter Lists", " Error Indications", " Scoping Issues", " Passing References", " Prototypes", " Inlining Constant Functions", " Care with Prototypes", " Prototypes of Built-in Functions", " Subroutine Attributes", " The method Attribute", " The lvalue Attribute", "8. References", " What Is a Reference?", " Creating References", " The Backslash Operator", " Anonymous Data", " Object Constructors", " Handle References", " Symbol Table References", " Implicit Creation of References", " Using Hard References", " Using a Variable As a Variable Name", " Using a block As a Variable Name", " Using the Arrow Operator", " Using Object Methods", " Pseudohashes", " Other Tricks You Can Do with Hard References", " Closures", " Symbolic References", " Braces, Brackets, and Quoting", " References Don't Work As Hash Keys", " Garbage Collection, Circular References, and Weak References", "9. Data Structures", " Arrays of Arrays", " Creating and Accessing a Two-Dimensional Array", " Growing Your Own", " Access and Printing", " Slices", " Common Mistakes", " Hashes of Arrays", " Composition of a Hash of Arrays", " Generation of a Hash of Arrays", " Access and Printing of a Hash of Arrays", " Arrays of Hashes", " Composition of an Array of Hashes", " Generation of an Array of Hashes", " Access and Printing of an Array of Hashes", " Hashes of Hashes", " Composition of a Hash of Hashes", " Generation of a Hash of Hashes", " Access and Printing of a Hash of Hashes", " Hashes of Functions", " More Elaborate Records", " Composition, Access, and Printing of More Elaborate Records", " Composition, Access, and Printing of Even More Elaborate Records", " Generation of a Hash of Complex Records", " Saving Data Structures", "10. Packages", " Symbol Tables", " Qualified Names", " The Default Package", " Changing the Package", " Autoloading", "11. Modules", " Loading Modules", " Unloading Modules", " Creating Modules", " Naming Modules", " A Sample Module", " Module Privacy and the Exporter", " Overriding Built-in Functions", "12. Objects", " Brief Refresher on Object-Oriented Lingo", " Perl's Object System", " Method Invocation", " Method Invocation Using the Arrow Operator", " Method Invocation Using Indirect Objects", " Syntactic Snafus with Indirect Objects", " Package-Quoted Classes", " Object Construction", " Inheritable Constructors", " Initializers", " Class Inheritance", " Inheritance Through @ISA", " Alternate Method Searching", " Accessing Overridden Methods", " UNIVERSAL: The Ultimate Ancestor Class", " Method Autoloading", " Private Methods", " Instance Destructors", " Garbage Collection with destroy Methods", " Managing Instance Data", " Generating Accessors with Autoloading", " Generating Accessors with Closures", " Using Closures for Private Objects", " New Tricks", " Managing Class Data", " The Moose in the Room", " Summary", "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", " Runtime Overloading", " Overloading Diagnostics", "14. Tied Variables", " Tying Scalars", " Scalar-Tying Methods", " Magical Counter Variables", " Cycling Through Values", " Magically Banishing $_", " Tying Arrays", " Array-Tying Methods", " Notational Convenience", " Tying Hashes", " Hash-Tying Methods", " Tying Filehandles", " Filehandle-Tying Methods", " Creative Filehandles", " A Subtle Untying Trap", " Tie Modules on CPAN", "Part III. Perl as Technology", "15. Interprocess Communication", " Signals", " Signalling Process Groups", " Reaping Zombies", " Timing Out Slow Operations", " Blocking Signals", " Signal Safety", " Files", " File Locking", " Passing Filehandles", " Pipes", " Anonymous Pipes", " Talking to Yourself", " Bidirectional Communication", " Named Pipes", " System V IPC", " Sockets", " Networking Clients", " Networking Servers", " Message Passing", "16. Compiling", " The Life Cycle of a Perl Program", " Compiling Your Code", " Executing Your Code", " Compiler Backends", " Code Generators", " The Bytecode Generator", " The C Code Generators", " Code Development Tools", " Avant-Garde Compiler, Retro Interpreter", "17. The Command-Line Interface", " Command Processing", " #! and Quoting on Non-Unix Systems", " Location of Perl", " Switches", " Environment Variables", "18. The Perl Debugger", " Using the Debugger", " Debugger Commands", " Stepping and Running", " Breakpoints", " Tracing", " Display", " Locating Code", " Actions and Command Execution", " Miscellaneous Commands", " Debugger Customization", " Editor Support for Debugging", " Customizing with Init Files", " Debugger Options", " Unattended Execution", " Debugger Support", " Writing Your Own Debugger", " Profiling Perl", " Devel::DProf", " Devel::NYTProf", "19. CPAN", " History", " A Tour of the Repository", " Creating a MiniCPAN", " The CPAN Ecosystem", " PAUSE", " Searching CPAN", " Testing", " Bug Tracking", " Installing CPAN Modules", " By Hand", " CPAN Clients", " Creating CPAN Distributions", " Starting Your Distribution", " Testing Your Modules", "Part IV. Perl as Culture", "20. Security", " Handling Insecure Data", " Detecting and Laundering Tainted Data", " Cleaning Up Your Environment", " Accessing Commands and Files Under Reduced Privileges", " Defeating Taint Checking", " Handling Timing Glitches", " Unix Kernel Security Bugs", " Handling Race Conditions", " Temporary Files", " Handling Insecure Code", " Changing Root", " Safe Compartments", " Code Masquerading As Data", "21. Common Practices", " Common Goofs for Novices", " Universal Blunders", " Frequently Ignored Advice", " C Traps", " Shell Traps", " Python Traps", " Ruby Traps", " Java Traps", " Efficiency", " Time Efficiency", " Space Efficiency", " Programmer Efficiency", " Maintainer Efficiency", " Porter Efficiency", " User Efficiency", " Programming with Style", " Fluent Perl", " Program Generation", " Generating Other Languages in Perl", " Generating Perl in Other Languages", " Source Filters", "22. 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", "23. Plain Old Documentation", " Pod in a Nutshell", " Verbatim Paragraphs", " Command Paragraphs", " Flowed Text", " Pod Translators and Modules", " Writing Your Own Pod Tools", " Pod Pitfalls", " Documenting Your Perl Programs", "24. Perl Culture", " History Made Practical", " Perl Poetry", " Virtues of the Perl Programmer", " Events", " Getting Help", "Part V. Reference Material", "25. Special Names", " Special Names Grouped by Type", " Regular Expression Special Variables", " Per-Filehandle Variables", " Per-Package Special Variables", " Program-Wide Special Variables", " Per-Package Special Filehandles", " Per-Package Special Functions", " Special Variables in Alphabetical Order", "26. Formats", " String Formats", " Binary Formats", " pack", " unpack", " Picture Formats", " Format Variables", " Footers", " Accessing Formatting Internals", "27. Functions", " Perl Functions by Category", " Perl Functions in Alphabetical Order", "28. The Standard Perl Library", " Library Science", " A Tour of the Perl Library", " Roll Call", " The Future of the Standard Perl Library", " Wandering the Stacks", "29. Pragmatic Modules", " attributes", " autodie", " autouse", " base", " bigint", " bignum", " bigrat", " blib", " bytes", " charnames", " Custom Character Names", " Runtime Lookups", " constant", " Restrictions on constant", " deprecate", " diagnostics", " encoding", " feature", " fields", " filetest", " if", " inc::latest", " integer", " less", " lib", " locale", " mro", " open", " ops", " overload", " overloading", " parent", " re", " sigtrap", " Signal Handlers", " Predefined Signal Lists", " Other Arguments to sigtrap", " Examples of sigtrap", " sort", " strict", " strict "refs"", " strict "vars"", " strict "subs"", " subs", " threads", " utf8", " vars", " version", " vmsish", " exit", " hushed", " status", " time", " warnings", " User-Defined Pragmas", "Glossary", "Index of Perl Modules in This Book", "Index", "About the Authors", "Colophon", "Copyright".

Glimrende reference til Perl.
Show Less

Publication

Farnham : O'Reilly, 2012.

Description

Adopted as the undisputed Perl bible soon after the first edition appeared in 1991, Programming Perl is still the go-to guide for this highly practical language. In this much-anticipated update to "the Camel," three renowned Perl authors cover the language up to its current version, Perl 5.14, with a preview of features in the upcoming 5.16.

Media reviews

webtechniques
Programming Perl [Third Edition] is the most authoritative book on Perl, and the authors' prose is a joy to read. While it may not be the best book for learning Perl, it's certainly worth having on your bookshelf.

User reviews

LibraryThing member felius
The "Camel Book", as this book is often called, is the Perl Bible. It's not only an exhaustive reference, but clearly written any *funny* to boot. The humour pervades the text, making a sometimes dry subject much more approachable.

No Perl programmer can afford to be without this book, and anybody
Show More
considering writing a technical reference should refer to this book to see how it's done.
Show Less
LibraryThing member hippietrail
Absolutely indispensible. I've tried other Perl books when I couldn't get my hands on mine and none even compare. Obviously later editions are even better.
LibraryThing member amartineau
A classic. I own two copies, at work and at home. Sometimes I pick a page at random, I'm sure it will make me laugh in a page or two.
LibraryThing member all4metals
I would say that this is THE BOOK for learning Perl. Funny and easy to read.

Language

Original language

English

Original publication date

2012 (4th edition)
1996-08 (2nd edition)

Physical description

xli, 1130 p.; 23.2 cm

ISBN

9780596004927

Local notes

Omslag: Edie Freedman
Omslaget viser en kamel - enpuklet dromedar - og kolofonen på side 456 nævner at kamelen er altædende og fx kan finde på at spise ejerens telt, hvis den mangler mad.
Indskannet omslag - N650U - 150 dpi
4th edition. Covers perl 5.14.

Other editions

Pages

xli; 1130

Library's rating

Rating

(181 ratings; 4.1)

DDC/MDS

005.133
Page: 0.6278 seconds