Jack J. Woehr is an independent consultant and team mentor practicing in Colorado. He can be contacted at http://www.softwoehr.com/.
The Perl CD Bookshelf Version 4.0
O'Reilly Press, 2004
600 pp., $99.95
It's to be strenuously doubted whether any reader of The Perl Journal needs to be told why the Perl programming language is interesting and important. On the other hand, it's certain that many readers are in the midst of the learning process. These readers may well wish to consult The Perl CD Bookshelf, a new version of which, 4.0, has just been released by O'Reilly.
The Perl CD Bookshelf is pretty much a must-have for any Perl team's office library. It consists of the complete text of six famous and worthy Perl books attractively and economically laid out for onscreen reading in a web browser. In addition to appearing on the CD-ROM, one of the texts is also included as a trade glossy paperback in the package. There's also a platform-independent Java search engine. The Bookshelf sets a high standard for presenting programming literature in machine-readable form.
On the grounds that life is not all beer and skittles, I beg to present a couple of trivial quibble points:
- There's a bit of Win-centrism. The search engine exhibits some minor misbehavior under UNIX browsers, and the matrix of browser compatibilities is presented as (guess what?) an Excel spreadsheet.
- The various archives of code samples and examples, which one normally downloads from O'Reilly's web site upon purchasing a book, are not included on the CD-ROM. While the examples are indeed all present inline in the hypertext of the books themselves, and there's nothing stopping me from cutting and pasting them, I get the warm fuzzies from having all my sample code in plaintext in a .zip or .tar.gz archive. It's not like the CD-ROM was full.
Now let's look at each of the six books that make up the package:
Perl in a Nutshell, 2nd Edition
Nathan Patwardhan, Ellen Siever, and Stephen Spainhour
Published June 2002
The O'Reilly "Nutshell" series was conceived to impart minimally the core of various programming and technical competencies without being terse or cryptic. Perl in a Nutshell is a coconut shell, weighing in at about 740 pages, making it probably the biggest "Nutshell" book ever. That reflects Perl's size and weight: Perl has always tended to shove features inwards towards the core, while the language's maturity and cheerfully insouciant willingness to embrace change have deposited layered strata of syntax. This toe-breaker is the one book included in the package in hardcopy. It's a good choice, as it is the most comprehensive instructional reference to the language yet printed.
Perl Cookbook, 2nd Edition
Tom Christiansen and Nathan Torkington
Published August 2003
Yes, it's just like a cookbook. This massive "how-to" book (over 930 pages in print) is a nicely organized selection of examples and explanations of how to do the obvious; the sorts of things that aren't obvious sometimes when you're in a hurry. Need a friendly suggestion from the masters of the Perl arcana? You'll find it here.
Programming Perl, 3rd Edition
Larry Wall, Tom Christiansen, and Jon Orwant
Published July 2000
Known in the industry as "the camel book," this (or its predecessor editions) is the book from which most of us learned Perl. The "pink camel book" covered early Perl while the 2nd edition, the "blue camel book," added discussion of object Perl, which had appeared in the interim. In a discipline already renowned for witty literary efforts, Learning Perl raised the bar, due largely to the manic evangelistic instructional style of Perl creator Larry Wall's original coauthor Randal Schwartz. Less encyclopedic than Perl in a Nutshell but complete (up to Perl 5.6) and eminently readable, this is probably the rank beginner's best introduction to the entire scope of the Perl language, the pre-6.0 Perl environment, and to the Tao of Perl. Schwartz later moved over to the Learning Perl authorship team. Much of Schwartz's more memorable prose seems to have vanished from subsequent editions of Programming Perl, but despite the resultant increase in the sobriety of the presentation, the value of the treatise lies in its comprehensiveness, authority, pace of learning and readability, all of which remain undiminished over the intervening time.
Learning Perl, 3rd Edition
Randal L. Schwartz and Tom Phoenix
Published July 2001
This is the "llama book," wherein Schwartz and his talented co-author teach basic Perl in a fashion more amenable to quick learning of the core language than that provided in either of the other two introductory books in this bookshelf. Perl references and objects are banished to the appendices, and precious little is said of them even there. If you want a quick bootstrap into Perl's classic use as a text-processing language, this is the corner of the bookshelf you should visit first.
Learning Perl Objects, References & Modules
Randal L. Schwartz
Published June 2003
Okay, so they left object Perl out of Learning Perl. Here Schwartz makes up the difference. As the book commences:
"Welcome to next step in your understanding of Perl. You're probably here either because you want to learn to write programs that are more than 100 lines long or because your boss has told you to do so."
That gives you an idea of the flavor of Schwarzt's approach; i.e., he's both funny and right on. Perl very quickly does become unmanageable without objects: With objects, it's merely nearly unmanageable. As with Learning Perl, this book is the way to proceed if you want the quick bootstrap, this time into Perl objects, largely because the humor and sympathy of the author make the task less onerous.
Mastering Regular Expressions, 2nd Edition
Published July 2002
Over the past 20 years, I've come to certain conclusions about software engineering. One is that "all applications are database applications," and another is that "all text processing applications are regex applications." Regular expressions have grown with time from being a peculiar feature of Unix to being part of every programmer's practice, especially in Perl, wherein regexes assume almost supernatural power. O'Reilly calls this meticulous monograph a "bonus book" and presents it in Adobe PDF format. The author maintains his own website for this book at http://www .regex.info/.