I was going to post this as a comment to Chris’s recent post but it started to get a bit long and involved so I reckoned it would be better as a separate entry on my blog.
The Programming Perl book is basically considered to be the only complete specification of what Perl is and how it works so there is a lot of value in it going into detail for every clever and odd edge case. As Chris said though, it’s definitely not a useful book for learning how to programme in Perl.
In my opinion, the best route is Learning Perl, Intermediate Perl and Mastering Perl, the three books are designed to be thorough introduction to Perl programming. The Perl Cookbook is excellent and invaluable for solving those small problems which others have previously encountered. It is sadly getting rather old now, the most recent edition was published in 2003 which is rather a long time in terms of Perl and currently accepted best practices. The main issue I have with it is that I find it a bit lacking in general advice on how to proceed with some problem which doesn’t fit directly into any of their categories. A more minor issue is that Perl people love the “There’s More Than One Way To Do It” attitude so the way one person solves something may not appeal to someone else.
I’ve recently found the Perl Best Practices (and the related
perlcritic tool) to be very useful and I recommend it to anyone who regularly writes a lot of complex Perl code. I believe it has helped improve the quality, readability and maintainability (some would say those 3 things are all the same really) of my code enormously over the last year or so.