Perl is an amazingly powerful and succinct language. Although not the most fashionable, Perl is consistent and supported on a vast range of platforms, probably even more than Java. Better still, it gets in and does the job quickly with very little fuss. Perl by Example written by Ellie Quigley and published by Prentice Hall is a comprehensive, example based, and thorough book.
The book's cover
My first impression of Ellie Quigley’s book was one of warm satisfaction that one gets by doing something healthy like running a couple of kilometers or learning new stuff. The book is thick, about 1000 pages in size, but each word counted and had exact purpose. This book constructively builds up your knowledge of the full range of Perl features, from the basics, through the proper use of hashmaps, to making your own objects and modules.
I must admit that although I have programmed a lot in Perl in the past, I still learnt relevant details from reviewing Perl by Example.
I must admit that although I have programmed a lot in Perl in the past I still learnt relevant details from reviewing Perl by Example
I find it no coincidence that the author has updated the content to a fourth edition. This is the watermark of success and implies the content has been refined, purified, distilled and refined again.
With 1000 pages, twenty chapters, four appendices and a supporting CD ROM you are getting a lot of Perl related punch in one book.
The book starts with an overview and then zooms into almost all of Perl's features. The author quickly proves a wide-ranging and in-depth knowledge of the essential features and some of the more jagged pain points that are essential learning.
The basic constructs and usual suspects are covered: regular expressions, iteration, report generation, printing. On top of all that you get to know object orientated Perl, using and building modules, connecting to databases and the Internet and CGI. CGI is old world, but when running in the main server memory of Apache via Mod Perl, it is also fast and quick, and can be used to prototype or to deliver applications. Now that is what I call "agile".
I especially enjoyed reading appendix C on the subject of Perl and Biology. This clearly highlights that Perl not only is succinct and easy to use, it is also effective at crunching large amounts of data quickly and refining into a meaningful structure. This is exactly what it is designed for.
Who's this book for?
This book is for Perl programmers from starting level to even the most professional among us. If I were computer science teacher I would be tempted to place this book at the centre of a course. It builds knowledge and can also be used as a reference later.
Relevance to free software
Perl by Example is all about Perl and therefore is purely on the subject of free software. Perl is free as in speech. And is also the binding for many free software projects.
If you look at a typical GNU/Linux system, then tricky administration tasks (such as log rotation, web log analysis and clean up scripts) are likely to be written in Perl.
Perl is an unassuming uncle: always there when you need help, but not necessarily wearing the most expensive and fashionable sun glasses.
Perl is an unassuming uncle: always there when you need help, but not necessarily wearing the most expensive and fashionable sun glasses
This book is thorough, consistently to the point and builds the reader’s knowledge systematically.
In its fourth edition, this book has had time to reach a high level of maturity and accuracy.
Living in a highly connected internet driven universe. I would have liked a little bit more content on this subject. However, I feel this is a very trivial criticism compared to the great value this book has as a reference while programming.
Alan Berg Bsc. MSc. PGCE, has been a lead developer at the Central Computer Services at the University of Amsterdam since 1998. In his spare time, he writes articles, book reviews and has authored three books. He has a degree, two masters and a teaching qualification. In previous incarnations, he was a technical writer, an Internet/Linux course writer, and a science teacher. He likes to get his hands dirty with the building and gluing of systems. He remains agile by playing computer games with his sons who (sadly) consistently beat him physically, mentally and morally at least twice in any given day.