Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Programming Perl (4th ed.)
Christiansen T., Foy B., Wall L., Orwant J., O’Reilly Media, Inc., Cambridge, MA, 2012. 1184 pp. Type: Book (978-0-596004-92-7)
Date Reviewed: Jun 15 2012

The preface to this book begins with a section titled “The Pursuit of Happiness” that promises readers that the book will help them develop the three great virtues of a programmer: laziness, impatience, and hubris. To assist them on this journey, it offers a comprehensive guide to Perl v5.14.

There are five parts in this book. The first provides an overview of the language. The concepts of arrays and hashes are introduced, and a useful short example program is given, which opens a file, and then reads student grades from it into a hash.

Part 2, “The Gory Details,” contains 13 chapters that progressively introduce concepts like operators, loops, pattern matching, and subroutines. I have always been intrigued by the way Perl programmers compete to enhance simple programs to become more concise, more generic, or in some sense cuter. The examples in Part 2 are no exception. We are told, for instance, that we don’t really need to declare a filehandle name when we open a file. We can use in its place a variable whose content will be allocated when we open the file. You might perhaps think: Why wasn’t I taught that in class?

There are some sections in Part 2 that you won’t find in older books. The Unicode chapter provides some quite complex examples, showing how accented and non-ASCII characters can be included in strings, and how they can be appropriately treated when read from files. And the chapter on data structures notes that arrays of arrays can be used to represent matrices, and then discusses things like hashes of complex records.

Part 3, “Perl as Technology,“ begins with a chapter about interprocess communication, which contains some useful examples that show how to use signals for timing out stalled operations, how file locks can be established, and how named pipes can be used. There’s also a section about using sockets for networking clients and servers. The remaining chapters in Part 3 discuss compiling, command line options, debugging operations, and the Comprehensive Perl Archive Network (CPAN) repository. The last of these is especially important, and the range of resources it provides undoubtedly accounts for the popularity of Perl today.

The title of Part 4, “Perl as a Culture,” is somewhat misleading. It actually contains some useful chapters dealing with security, coding practices, portability considerations, and documentation. The suggestions offered in relation to time efficiency, space efficiency, and programming style are particularly interesting.

The final part, “Reference Material,” contains an alphabetical list of summaries of Perl special variables and functions. There is also a set of pragmatic module summaries, a glossary, and two sets of index pages.

This is not a book for beginners. It’s far too detailed, and too thick to carry around. But if you need to do some serious Perl programming, then it’s well worth the purchase price. My only real problem with this book is that it introduces some useful features, such as the given statement, that aren’t implemented in the versions of Perl used on my company’s servers.

Reviewer:  G. K. Jenkins Review #: CR140272 (1211-1101)
Bookmark and Share
  Reviewer Selected
Editor Recommended
Featured Reviewer
 
 
Perl (D.4.9 ... )
 
 
General (D.1.0 )
 
 
Reference (A.2 )
 
Would you recommend this review?
yes
no
Other reviews under "Perl": Date
Programming perl
Wall L., Schwartz R., O’Reilly & Associates, Inc., Sebastopol, CA, 1991. Type: Book (9780937175644)
Feb 1 1992
Learning perl
Schwartz R., O’Reilly & Associates, Inc., Sebastopol, CA, 1993. Type: Book (9781565920422)
Sep 1 1994
Software engineering with Perl
Dichter C., Pease M., Prentice-Hall, Inc., Upper Saddle River, NJ, 1995. Type: Book (9780130169655)
Oct 1 1996
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy