| help | account  


Programming Perl, 3rd Edition
View Larger Image
Larry Wall, Tom Christiansen, Jon Orwant
O'Reilly Media, Paperback, 3rd edition, Published July 2000, 1070 pages, ISBN 0596000278
List Price: $49.95
Our Price: $29.95
You Save: $20.00 (40% Off)


FREE Shipping on Orders over $40!*
Availability: In-Stock

Customer Reviews: 10     Average Customer Rating:

Write a Review and tell the world about this title!

People who purchase this book frequently purchase:

Books on similar topics, in best-seller order:Books from the same publisher, in best-seller order:

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

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


Customer Reviews

Customer Reviews: 10     Average Customer Rating:

Feb 19, 2002     David Young (dayoungxx@hotmail.com) from Western U.S.A.
The best for reference but look elsewhere to learn.
My first introduction to Perl was via the 2nd Edition of the "Camel" book. The 3rd Edition is a welcome improvement but the biggest problem remains. Namely, to make the writing more concise and efficient. There is far too much distracting verbiage cluttering up what very often could be a plain, simple and much more useful description or explanation.

I realize the intention is to make it seem more conversational and thereby reduce the anxiety of the reader trying to wade through the very powerful but also very cryptic and arcane language that is Perl. Unfortunately, too often the chatty presentation just adds to the confusion. In both the 2nd an 3rd Editions I find myself constantly muttering "Just say what you want to say, and leave the side comments for the appendix for crying out loud!" I get the very strong impression that the author is trying to entertain and gratify themselves at least as much as inform the reader.

Oh well. Vent done.

If you want the definitive, authoritative reference of Perl, this is it. You can't get much more authoritative than the language originator. Simply put, it's a "must have" for any serious Perl programmer. However, if your immediate needs are more instructional or "introductional", keep looking. There are much better books to accomplish that.

Dec 19, 2001     Ed MacDonald from Arlington, VA (United States)
The definitive Perl book
I don't understand the people who say get the Learning Perl book to learn Perl. I say buy this book and that's all you need. I bought both 3 years ago. I opened Learning Perl twice and never looked back. My copy of this book has frayed covers, faded ink, and missing pages. I use it all the time. Between this book, the documentation that comes with any Perl distribution, and the book "Mastering Regular Expressions", 95% of all my Perl questions are answered. For the other 4.99%, I use "Advanced Perl Programming" and usenet. For the last fraction of a percent, I beat my head of a wall (not recommended). In short, forget "Learning Perl" and buy this book... there is none better.

Aug 15, 2001     H. Wengatz from Germany
Excellent reference, a must have!
Anyone who knows Perl for a while, knows that the "Camel Book" is not for learning Perl. It's a *complete* reference. Since it is written by the inventors you won't come much nearer to the source of wisdom. (Except for writing them a mail). The tone is nice and easy, but the stuff isn't. It is mature programming and goes into detail. Thus it is a must have for everybody who really needs to *work* with perl and needs to look up things how they work. - If you have to learn perl, buy "Learning Perl" instead. Which is not a shame for this book. If you would include Learning Perl in this one, it would be much heavier and bulkier and more expensive. - Once you have learned Perl, you won't need any longer the "Learning Perl" part, which would be a waste to lift it every time and carry it with you. I find the split into two books much more handy and useful. Even if you would buy Learning Pearl first and decide then that you dislike Perl, you will have gained money from not having paid for the second part of the book. The split into two books (better three: get the Cookbook, if you want brilliant and useful and complete examples for common issues) is absolutely OK. Use every book for what it is intended and you'll be off fine. This book is the reference and it does an excellent job on that and thus it get's 5 stars from me.

Aug 3, 2001     Qin from Houston, TX
Not a good book for learning Perl
This book is a fine reference book, but definetely not a good book for learning Perl. The author explained Perl concepts in a very wordy and loose way. Some parts are difficult to follow, and some examples do not have comments and go to far beyond the points that the author wanted to make. It would have been a much better book if the author could make things a bit simpler and more practical.

Jul 8, 2001     A review from Dana Point, CA
Well written and complete
This book is very good for people with moderate to very good programming knowledge. This is not a weekend read. The book does go into depth of the subject matter, which makes the book worthwhile for professionals. An excelent companion to this book is the Perl Cookbook. Beginners may want to start with Learning Perl or the Perl Black Book.

Jun 24, 2001     suresh kumar from Silver Spring, MD
Not for the starters.
Though the author is the inventor, the book is not good as expected. I believe you shouldn't buy the books authored by the inventor himself, since he never presents in a clear way. He expects the reader to be genius like himself. So I strongly recommend not to buy this book.

Jun 23, 2001     A review from north of the equator
easy/fun/informative reading
Work your way through this book and become a very good Perl Programmer

May 29, 2001     Learner from Mars
A fun book......if you have the time
Undoubtedly, this book is by the inventor of this beautiful language and it convered every aspect of the language. However, the book is written in a very wordy and slow fashion. Thus, it is a fun book to kill your time. But if you are in a rush, Two other perl books by O'Reilly, Learning Perl and Advanced Perl programming would be much better.

Oct 25, 2000     Sean Quinlan
Fantastic! A vast improvement over the 2nd edition
A thorough and well presented resource. Easy to find answers to your questions, well indexed, and a fun read besides.

Jul 31, 2000     Mike Roberto from Cleveland, OH
A Must-Have for Perl programmers
After getting a firm foundation with perl, this is the book that a programmer MUST have sitting around for a strong reference. New readers can't jump into it, but after reading Learning Perl and playing with perl for a while, this book is important to have. Larry Wall is the editor of it as well, which is a quality assurance in itself (Larry Wall is the man behind perl, who started it all)



Forgot your password?
FAQs
Shipping Options
Returns
Your Orders
Your Account