Book Review: Modern Perl

I bought the Modern Perl book by chromatic. The title is inspiring. There is a lot of people writing Perl code as they were writing years ago. Although Perl still support those syntax and lack of strictness, there is a new trend on Perl code, and actual and future Perl developers should start learning it.

The index of the book is inspiring as well. For one, it starts the chapter on object orientation with Moose and not with the old and crappy Perl OO system (in fact, I started learning Moose, and think there are too much Moose modules, too much documentation, too much of everything, that makes it impossible to find anything you would like). It could talk about Mouse or Moo, it does not matter, as only the basics are explained, and as far as I know, these three frameworks share the basic syntax and behavior.

Also, the book as a good aspect when you look to it in graphical terms. It is quite easy to notice it is typeset with LaTeX and that is nice. And it is typeset with LaTeX using a set of Perl tools to convert from the POD (Perl documentation format) to LaTeX. Unfortunately the bibliographic entry on the book writes LaTeX in ASCII form, but it should render the correct logo for it (there is a command for that, you know?).

The typesetting engine also changed the defaults from LaTeX. And, sorry for the language, they did shit. It is impossible to read a book where you cannot differentiate easily whats a chapter title, a section title or a subsection title. I almost feel tempted to measure the title lines and check how may millimeters there are of difference. More, the examples (and the full book, in fact) have the letters quite small, making it difficult to read.

Enough for the format, now for the contents. After reading the old Learning Book and Programming Book written by Larry, Schwartz and Christiansen, the new versions with Tom Phoenix, and most recent books with brian d foy, I should say chromatic is in the bottom regarding read easiness and sense of humor. Yes, older books had much more sense of humor than current ones.

The book is not for beginners. There are examples that are not complete. They have some text placed along with the example to explain it, but sometimes the most important piece to the beginning programmer is just missing. As an example, chromatic tries to explain that using $_ inside functions are bad, because you can’t use those functions safely on a for loop. He shows the for loop, shows the call for a function, but doesn’t show the function body. I think newbies will be kind of lost.

This said, I should congratulate chromatic and Onyx Neon for the courage and work publishing this book. Nevertheless, I think it needs some more work (both typographical and content related) and that a second edition is required as soon as possible.