Page 1 of 2
Author: Curtis “Ovid” Poe
Audience: Non programmers and programmers experienced in other languages wanting to learn Perl
Reviewer: Nikos Vaggalis
Ovid takes an interesting approach. He attempts to fill the gap between learning a language and actually applying that knowledge for landing a job.
Most books on Perl teach the language itself, its constructs and how to use them, while the code examples and practical exercises re-enforce comprehension, but that can only take you so far. They do not address the questions, 'what do you do
with that knowledge?', or 'which technical area should I focus on for landing a job?'
Sampling ads from the market reveals that a typical Perl job offer is web-centric and requires the candidates to have knowledge in:
Modern relational database systems
DBIx::Class or ORM systems in general
Catalyst or other MVC web frameworks
Object oriented architecture and design
These skills make up the largest percentage of prerequisites, and that's the book's exact purpose; to show how to make a career out of programming in Perl.
This can't happen without the basics though, so after the language theory is established, it focuses in acquiring those skills and, being rather pragmatic, it wastes no time. Of course, this does not mean that you will immediately become an expert after completing it, but you will have at the very least acquired a firm understanding of the essentials and, most importantly, you will have been given the direction you should be pointing to.
The author attempts to provide for those who have not programmed before as well as those who are already programmers and want to learn Perl. Because of the level of disparity, trying to reconcile the learning style of these two groups might seem like a difficult task. A programmer already knows what a data type, an object, a subroutine, a while loop or a pointer are, and is more interested in the language's syntax rules, intricacies and the elements that make it worth committing to.
The author not only suceeds in conveying the concepts to the absolute beginner but also manages to sustain the interest of the experienced programmer by providing him with plenty of reasons for trying out programming in Perl.
In any case, both groups should start in common ground since no matter how experienced the programmer might be,
there is always an entry level average in the knowledge required when coming into a new language, so you won't go very far without getting the basics.
This becomes even more severe when introduced to Perl; its
idioms, coercions, contexts, uncommon primitive data types, twisted sense of truthiness and falseiness, flexible data structure handling, rules of quoting and much more, make a rather idiosyncratic language.
Chapter 1 starts with the history of the language, covers how to install the binary (with instructions for Linux, Windows and MacOS); how to look up the documentation; where to ask for help online, and ends with the classic "Hello World" example. Chapter 2 is a very detailed guide to CPAN; how to find, evaluate and install modules. The boxouts found almost on every page of the book, placed discreetly in a non obstructive to the main material way, hold extra valuable side notes with background information, advice, warnings and gotchas.
It's from Chapter 3 onwards that we get into the language. It begins with very basic concepts, like what a variable is, what can be assigned to it, what the naming rules and valid identifiers are, Perl's data types (scalars, arrays, hashes) and how the notion of Context affects code's behavior. Comprehending the material of this chapter is absolutely essential for progressing to more advanced subjects. In order not to overload the beginner, it avoids introducing too much at once and instead defers getting into depth until the time is right. Saying for example:
"For now, just take my word for it. In Chapter 4, Working With data, you'll learn more about this in a bit more detail when you discover precedence."
"Though we've touched on sort, map and grep briefly, we have deliberately kept their usage simple. Now we'll see a bit more about their full power."