Pathetically Elational Regex Language

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

(aka Pathological Euphoric Retching Language: A survey of Perl books 1999-2002 and commentary of its culture).

Xah Lee, 1999-2002

photo of Larry Wall's signature

“There's More Than One Way To Do It!”. Larry Wall's slogan and Perl moron's creed. (close up photo) I pesonally have him signed at 1999 LinuxWorld Expo in San Jose (in California, USA, famous 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 speech i think, which i arrived late.) There were about 5 or so before me, 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.

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. Python is a popular one known for its clean OOP design and XML abilities.

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 in 1999 era, both in print and online. Take my advice as nuggests of gold.

Perl Book Reviews

Complete Perl online documentation in several formats is at http://perldoc.perl.org/. It's 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, 'perldoc -f func_name' for the docs on func_name, 'perldoc perldoc' for how to use perldoc, 'perdoc Data::Dumper' for the Data::Dumper module....etc.

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

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

The problem with the perl online docs is the same problem that plagues unix “man” pages — utterly lack of quality doused in technicality 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: http://www.ebb.org/PickingUpPerl/ Which is a freely downloadable book on Perl 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.

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

book cover

Perl: The Programmer's Companion (1997) by Nigel Chapman. Amazon.com↗ 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.

book cover

If you are familiar with unix and c, then the book to start is Randal L Schwartz's Learning Perl (1997). (Amazon.com↗) 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.

Randal L Schwartz has home pages at http://www.stonehenge.com/merlyn/ and http://use.perl.org/~merlyn/


For intermediate Perl programer:

book cover

Advanced Perl Programming (1997) by Sriram Srinivasan. (Amazon.com↗) I like this book. Chapters 1-10 taught me the guts of Perl. (references, type glob, subroutines, modules, OOP,...etc.) Well written with sufficient precision.

book cover

Joseph N Hall's Effective Perl. (amazon.com↗) If you want to know all the idioms and tricks of Perl, this is the right book. (e.g. what is the “right” way to read the whole file..., how to write this in one line...etc.) Most chapters of this book and tips are available at: http://effectiveperl.blogspot.com/#chapters

Joseph is a Perl fanatic. Although he teachs Perl tricks well, treat his generic computing commentatries 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 pretty-up trivial lines of code, on 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.

book cover

Perl Cook book by Tom Christiansen et al. Amazon.com↗ 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. A inferior alternative to this book is the Perl FAQs, at http://perldoc.perl.org/index-faq.html. Very useful by themselves.

book cover

Chris Nador and Vicki Brown's MacPerl: Power and Ease (~1998). (amazon.com↗) 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 entire book is online. MacPerl: Power and Ease (HTML version)↗

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.

Chris Nandor is a pompous, unix type of guy who runs a soap box on his home page. 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 http://cantaforda.com/~vlb/ Her husband runs Prime Time Freeware, the publisher of unix related stuff for long.

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

Programming Perl by Larry Wall, Tom Christiansen, and Randal L Schwartz. (2nd ed. 1996 Amazon.com↗) 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 Perl. 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 Aglorithm. 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, Relativety with Perl, Rocket Science with Perl, Spaced Out with Perl, How to pick up chicks with Perl.

book cover

Mastering Regular Expression by Jeffrey E. Friedl. (1st ed. 1997, 3rd ed 2006 Amazon.com↗) (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. The author used to have a home page at: http://enterprise.dsi.crc.ca/cgi-bin/j-e/jfriedl.html around 2001.

Perl and Python Mirrored Tutorial

A complete course on Perl and Python, mirrored side by side: Perl and Python Tutorial.

I have written a Perl module Tree::Matica that simulate much functions in a functional language Matheamtica. 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.


Other Essays

“...the integers are a subset of the rational numbers, so indeed, a whole number is a decimal number.” — Perl FAQ maintainers. (quoted by “Godzilla↗” 20020227 in comp.lang.perl.misc)

• Perl morons think by instinct that their language is best suited for at least text processing. Perl morons please peruse Ilya Regularly Expresses, Ilya Zakharevich, 2000-09-20, at http://www.perl.com/lpt/a/2000/09/ilya.html (local copy)

• Perl morons think by instinct that Perl's inline documentation kludge “POD” is Donald Knuth's Literate Programming. Perl morons please peruse POD is not Literate Programming by Mark-Jason Dominus, 2000 March 20 http://www.perl.com/lpt/a/tchrist/litprog.html (local copy)

Scripting: Higher Level Programming for the 21st Century by John K. Ousterhout, Published in IEEE Computer Magazine, 1998-03. http://home.pacbell.net/ouster/scripting.html (local copy)

Rather a extremely mundane and uninformative opinion, but nevertheless enlightening for the generic keyboard punching monkeys of the unix industry.

Why Python by Eric S Raymond, 2000-05. http://www.linuxjournal.com/article.php?sid=3882 (local copy) Eric is the leader of the OpenSource movement, who wrote the inane “Cathedral & Bazaar” essay popular among OpenSource younglings.

What's wrong with Perl↗ by Lars Marius Garshol, ~1998.

• Lincoln Stein is the author of CGI.pm. He wrote a book: “Offcial Guide to Programming with CGI.pm”. (amazon.com↗) (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 of dynamic websites around the dot com era to be non-valid HTML. 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 & unix moron's work. I have written essasy on this, and will get it here when i get to it. Lincoln has also wrote a few web technology related books, which are good. He's got a home page at http://stein.cshl.org/~lstein/.


Page created: 2002.
© 2002 by Xah Lee.
Xah Signet