Perl Books Survey 2002

The three characteristics of Perl programers: mundaneness, sloppiness, and fatuousness. —Xah Lee, 1999

This page is a survey of Perl books from 1999 to 2002, and commentary of the perl culture.

Larry Wall's signature and Perl's slogan. (photo taken in 2001, but signed in 1999)

“There's More Than One Way To Do It!”. That's Larry Wall's slogan and Perl moron's
creed. I personally have him signed at 1999 LinuxWorld Expo in San Jose (in California, USA, famously known as Silicon Valley), to a belly-up dot-com startup brainpower dot com i was a member of. Jeffrey E Friedl's Mastering Regular Expressions is the book i happened to carry. I literally had to stand in line to have his signature. (it was at the end of a Perl talk, which i arrived late, 5 minutes before the end of talk.) There were about 5 or so before me in line, and i hear middle-aged unix man telling him in great veneration and abjection about what a god he is having created Perl. Look at the ugly and proud Camel, Perl's mascot.

Dimwit: What's so good about your language?Tom: We provide the Dim Wit feature.Dimwit: (drools…)

Perl provides the DWIM feature. DWIM stands for Dim Wit I Am, and is pronounced Dim Wit. It is a fashionable locution of the Perl Republic, trumpeted by priests like Tom Christiansen.

Perl is a lousy hack used by sloppy unix sys admins. (because it's free) These days there are well designed languages that are also free. (For example, Python, Ruby, Scheme Shell, NEWLisp …. See:
Proliferation of Computing Languages.)

If you are learning Perl for one reason or another, here's a
complete guide for Perlers old and new. I have surveyed all major Perl
publications around 1999, both in print and online. Take my advice as
nuggets of gold.

Perl Book Reviews

perldoc

“perldoc” is probably already installed on your unix machine. On the shell prompt, type perldoc perl to get a list of available topics. For example:

perldoc perlre for regex docs.

perldoc DBI for database module doc.

perdoc Data::Dumper for the “Data::Dumper” module.

perldoc -f ‹subroutine name› for the docs on ‹subroutine name›.

The problem with the perl online docs is the same problem that plagues unix “man” pages — utter lack of quality doused in technical ruse and juvenile humor. (this is why Richard Stallman's infamous remark that there lacks free Perl documentations, but the Perl mongers never understood it.) The man pages are useful only if you already knew most of the stuff and want to get some tech details. (And most of the time you'll be disappointed there too.)

I have run into a few projects that tried to remedy this. One of them is: Picking Up Perl by
Bradley M Kuhn
at Source www.ebb.org.
It is a free book in several formats. By the time this project is mature, i already knew Perl well so i haven't read it. Looks pretty good though. I trust GNU people's quality in general.

Perl Beginner Books

If you have some programing experience and want to learn Perl, I recommend (in order):

Perl: The Programmer's Companion1997 By Nigel Chapman.
Buy at amazon
In my opinion, this is the best intro to Perl. Written by a computer
scientist, treating Perl as a computer language. There's no unix
juvenile jokes or obfuscated writings here. You must have some
experience with another language or computer science to appreciate
this book. If you are linguist of computer languages, and wanted to
get acquainted with Perl as a computer language, then this is the
book.

If you are familiar with unix and c, then the book to start is Randal L Schwartz's Learning PerlBuy at amazon
This book quickly get you to speed, and you learn the most useful basics of Perl. The book makes assumption that you are familiar of the ways of unix and c.

MacPerl: Power and Ease (~1998). By Chris Nador, Vicki Brown.
Buy at amazon
This is primarily for Macintosh users who have hardly programed before and want to learn Perl. MacPerl support several Macintosh specific features (such as calling Mac Toolbox and interacting with AppleScript). These features are only quickly mentioned in the last 2 chapters or so. This is not the right book for those already knew Perl and want to learn Mac specific features. As of late 1998, there is no comprehensive documentation or tutorial on Mac specific features of MacPerl.

The MacPerl book is mostly geared for Mac users who had some elementary programing experience such as AppleScript and are getting into programing. It's ok a book for such beginner.

2011-02-03 Note, as of today, this book is way obsolete. Mac switched to “unix-based” OS X since ~2001, and the Classic Mac OS based Perl the MacPerl has been put into coffin.

Chris Nandor is a pompous, unix type of guy who runs a soap box on his home page
pudge.net.
Apparently thinking himself as some luminary in the perl community. He seems to be the current maintainer of MacPerl as of 2001. If you are a Perl programer on the mac, i advise you to move to the unix perl with Mac OS X.

Vicki Brown is a sweet person who's been working for Apple on the unix part on and off for many years. Last i heard around 1999, she's a tech writer at Apple. She's got a home page at
cantaforda.com.
Her husband runs Prime Time Freeware, the publisher of unix related stuff for long.

For Intermediate Perl Programer

Advanced Perl Programming1997 By Sriram Srinivasan.
Buy at amazon
I like this book. Chapters 1 to 10 taught me the guts of Perl. (references, typeglob, subroutines, modules, OOP, …etc.) Well written with sufficient precision.

Note that there's a new edition of Advanced Perl Programming but by different author.
Advanced Perl Programming, 2nd ed2005 By Simon Cozens. Buy at amazon
According to amazon reviews, it's completely a different book. I do not recommend it.

Effective Perl By Joseph N Hall.
Buy at amazon
If you want to know all the idioms and tricks of Perl, this is the right book. (For example, what is the “right” way to read the whole file, how to write this in one line ….) Most chapters of this book and tips are available at:
effectiveperl.blogspot.com. (the site has been bit rotting for many years)

Joseph is a Perl fanatic. Although he teaches Perl tricks well, treat
his generic computing commentaries as garbage. The thing about unix
besotted things like C and Perl is that if you wallow in them too
long, you are prone to become a fastidious code doodler incapable of
logical analysis or writing any mission critical large scale
software. Instead, you become habituated on optimizing away
microseconds, on trivial code doodling, spending days arguing about
code formatting style, while don't know a iota about computer science
or real philosophy, yet clamor about theory vs practice day and night.

Perl Cook book By Tom Christiansen et al.
Buy at amazon
A thick and very practical book. If you want to know how to do x in Perl, find it here. The book covers all practical things Perl is used for. (networking, sending emails, database, parsing html, unix admin, … etc.) This book is worth buying. This book is a polished and extended version of the Perl FAQs, at
perldoc.perl.org.

I know a monger named Wall
who always peddles his Perl
if he had any grasp
he would just lisp
Wall is nothing but a troll
—Xah Lee, 2000-02

Programming Perl By Larry Wall, Tom Christiansen, Randal L Schwartz. (2nd ed. 1996
Buy at amazon)
This is the worst tech book ever written. It is badly written, filled with pointless ramble and cheap unix wits and arcane unixism. A large part of the book is verbatim copy of Perl online docs. (originally those “man” pages) This book is designed for unix suckers, and are touted by rampant half-assed literate unix lovers as the best book in the universe. (unix speak, anyone?) However, this book sells, and is the standard Perl reference simply because it is written by the creator of Perl Larry Wall. Later editions have came out since the 2nd in 1996.

If you'd appreciate this book, online docs and tons of other online Perl papers will suffice you unless you must have nicely printed and binded copy. Larry Wall is a infamous happy-go-lucky guy. In my impression, Randal Schwartz is a Perl hacker but not fanatically evangelical. The third edition of the book published in 2001 Randal is replaced by the Perl Journal guy Jon Orwant. I don't know the Jon Orwant guy, but he has written a few other Perl books including
Mastering Algorithms with PerlBuy at amazon
. Algorithms in Perl? Give me a flying break. The Perl folks are funny that they giddily bid computer scientists to recognize their language. There's the OOP book and now Algorithm. In Perl groups you'll also read about AI with Perl or such. It'd be fun to see books titled Computer Science with Perl, Logic Programing in Perl, Lambda Calculus with Perl, Advanced Calculus with Perl, Relativity with Perl, Rocket Science with Perl, Spaced Out with Perl, How To Pick Up Chicks with Perl.

Mastering Regular Expression By Jeffrey E. Friedl. (1st ed. 1997, 3rd ed 2006
Buy at amazon)
(look at the owls. One crooked, sneaking at you. Cute.) If you work with unix regular expression a lot, you should read this book thoroughly. Of all the Perl books you may skip since equivalent info abound online, but not this one. Note that this book is not about Perl, but about unix regex in general, including those used in grep/egrep/fgrep, python, and emacs. Especially valuable is the delve in some theories and types of regular expressions.

Xah's Perl and Python Tutorial

Perl module Tree::Matica simulate functions in a functional language Mathematica. If you are a Perl coder, and don't know what's functional programing or languages, you will learn a lot by using this module.

Eric is a leader of the Open Source movement. He wrote the inane Cathedral and Bazaar essay, wildly popular among Open Source
tech geekers. As i later learned about Eric, i found him to be a opportunistic ass. He loves to spawn controversial ideas such as aggressively advocating gun totting, supporting Iraq War, insist his views about hackerdom, and don't hesitate in disparaging other coding communities or celebrities, in ways beyond what i think is ethical. He also “invented” a logo for hackers, to peddle his name. His character is in contrast to, say, Richard Stallman or Linus Torvald. Richard is strong in his opinions, to the point of
abusing the word “freedom”, but at least adheres certain strict and ethical principles of his own, and is the opposite of money hungry. While, Linus, loves to be inciting in his missives in coding community, usually on very technical matters, calling other morons, but he is often jocular in nature. He's more of a carefree character (similar to Larry Wall in this aspect).

• Lincoln Stein is the author of CGI.pm. He wrote a book: Offcial Guide to Programming with CGI.pmBuy at amazon
(1998). Very good book around 1998, but as of 2002 cgi is going the ways of dodos. CGI.pm is one fantastically incompetent module, and is responsible for the vast majority of dynamic websites around the dot com era to be non-valid HTML (perhaps 99%). Worse is that it has a very poor and incomplete online documentation, so people are forced to buy his book. These traits are typical of Perl and unix moron's work. Lincoln has also wrote a few web technology related books, which are good. He's got a home page at
stein.cshl.org.