http://www.perlmonks.org?node_id=144586
Order PERL Black Book: Indispensable Problem Solver

Item Description: Good Reference, but not a standalone title

Review Synopsis: Good Reference, but not a standalone title

Rating: 7 out of 10
Overview:
  • Good Reference
  • Many Examples/Solutions
  • Great organization
  • No/few explanations near the beginning
  • No style guide near beginning
  • Limited by strict adherence to issue => solution paradigm
  • Not a standalone title
  • Will produce ugly code if used in a linear fashion

Full review:
Well, when I got into Perl programming I went to ThinkGeek and bought the Perl book package (sadly, no longer available), thinking that would get me started in the "right" direction. Well, I have three of the books out of that collection sitting next to me right now. Programming Perl 3rd edition, Perl Cookbook, and PERL Black Book. I can tell you I use the Perl Cookbook and the PERL Black Book 80% of the time, because I have a decent handle on most things, so specific problems are what I usually encounter and the issue => solution format of the two books is a life saver.

The PERL Black Book is very well organized, with a TOC at the beginning, and then a TOC at the start of every chapter. It makes finding specific "issue => solution"s very easy

The Perl Cookbook is a companion to Programming Perl, so it is easy to overlook the details that are left out of the Perl Cookbook, but in the PERL Black Book you feel you are getting the solution but little to no explanation of the nitty gritty. This can be a problem, but again, isn't for me or anyone who also owns Programming Perl.

The layout of the chapters is also a little weird. Some basic skills are presented in chapter 1, but this chapter is no substitute for part I and III of Programming Perl .The chapter on Scalar and List variable are also a little thin, and the items in it seems to be in a weird order, i.e. you never see two things integrated well, because, again, the book is made up of issue => solution sections, not general idea => indepth explanation.

This is a symptom of a larger problem: trying to explain complex issues in a page is nearly impossible. On page 55 for example it tells the reader how to convert between decimal and binary numbers using pack and unpack, but just gives the solution, no explanation (there is a little note to see chapter 11). Now if you are just learning perl, and are on page 55, 7 pages after learning what a scalar value is, are you going to A) need to convert between decimal and binary, B) understand what you are typing (especially for debugging purposes), or C) jump to chapter 11 and understand what is going on? Probably not, but the whole book is centered around issue => solution format, making it impossible to explain anything with out breaking the paradigm.

There isn't really anything substantial on style, or building solid, debugged programs, until the very end of the book. So the issue is, learn the hard boring stuff first (strict, warnings, context, $_, etc.) or hacking together what will work to get yourself started, and then integrating that “boring” stuff. Well, I prefer the former, and as such would suggest that anyone who wishes to start programming perl pick up Programming Perl, to get a good solid base, and both Perl Cookbook and PERL Black Book as references (they complement one another very well, PERL Black Book provides many many examples, and ways to use perl).

I personally look up a solution in PERL Black Book if I have a problem, but had I just read PERL Black Book in a linear fashion I feel I would have ugly hacked together scripts (not that I dont already).

The real power of PERL Black Book is that there is a solution for most problems, granted you might not understand exactly what you are doing.