Programming Perl

Larry Wall + Randal L. Schwartz

Readers already familiar with Perl will presumably either own
Programming Perl or have decided not to buy a copy, since it seems to
be the only reference for the language. (It is certainly the standard
one.) If you are thinking of learning Perl then you have a choice
between using this book, using the companion volume Learning Perl, or
hacking it out for yourselves with the aid of the fairly comprehensive
manual entry. Programming Perl worked fine for me, and it's probably
the right way to go for anyone who can already program in C or shell.
On the other hand, Learning Perl looks like a good textbook, and its
existence makes Perl a suitable first language for those people who want
to be able to write general purpose programs for their own use, rather
than for commercial, scientific or esoteric theoretical purposes.

The first two chapters of Programming Perl provide a basic
introduction to Perl. The third and fourth are basically reference
material, going in some detail through the syntax and semantics of the
language and describing all of the functions available. The fifth and
sixth chapters contain examples of useful Perl code fragments and real
programs. The last chapter contains everything else. The appendices —
a BNF style grammar of Perl and a description of the Perl library
functions — improve the book's value as a reference, while the glossary
will be helpful for those without a Unix and C background. Everything
is liberally illustrated with examples, with the occasional redundancy
doing no harm. The authors' sense of humour is always present, and they
certainly don't take themselves too seriously — Perl is the
"Pathologically Eclectic Rubbish Lister", and the three cardinal virtues
of a programmer are "laziness, impatience and hubris"!

As with all the O'Reilly books, the layout and formatting are clear and
the binding and paper are top quality. At sixty Australian dollars,
Programming Perl is fairly expensive (though it's presumably cheaper
in the States), but just think of it as a contribution to Larry Wall for
making Perl freely available in the first place.