HTML Source Review
Books like this one have a tendency to be referred to as ‘Bibles’ — books that encompass just about everything about a given topic and serve as indispensable references to those who have already mastered their subject. At over a thousand pages, Programming Perl would certainly seem to fit the billing. Coupled with the fact that one of its three authors, a one Larry Wall, was the designer of the language in the first place — you can be pretty sure this book is going to cover everything you could possibly want to know about Perl.
Right off the bat, it’s obvious that this is no ‘teach yourself Perl in 24 hours’ deal. This is a book about serious programming, and so really gets into each statement, operator and data structure. Some knowledge of another high-level language like Java or C and some experience with UNIX will be very useful in getting through the early parts of the book. If you’re a beginner programmer looking for an introductory text, this isn’t the book to start with. That said, the first few chapters move along at just the right pace, but the later stuff becomes very in-depth on topics which will be unfamiliar to many.
The writing is interesting and witty, though technical when it needs to be. While it is essentially a ‘text book’, there was obviously much effort spent on keeping the tone light, when things could easily have become mired in uninteresting detail and prosaic technicality. Humorous asides are found on almost every page, and serve their purpose well.
The aims of Perl — to be readable by human eyes and flexible for any task — are put forward at all times. Larry’s interest in linguistics formed much of the basis for the language’s constructs, and this comes forth in the naturalistic coding examples and demonstrations of different approaches to the same problem. As the tagline triumphantly states: “There’s more than one way to do it.”
Later chapters discuss many aspects unique to Perl. There is a noticeable lack of structure to these chapters, which in many ways seems unavoidable, as each chapter jumps onto another new topic and discusses it thoroughly before moving on again. These later chapters are more suited to browsing around a bit and learning about each facet of Perl in isolation. The discussion of Perl’s strongest feature, regex pattern-matching, is particularly good.
The reference material section at the end holds the details on all standard packages, functions and modules that come with Perl. It’s encyclopedic coverage is well-produced, with plenty of code examples.
So, if you already know you want to/have to get to know Perl intimately, this is the book to get.
Read chapters from this book through O’Reilly’s online Safari site.