|P is for Practical|
I've been thinking about the Perl books that I have read and I wondered what the best Perl books of all time are. Naturally, it's not an easy question. After much debate with myself over a beer and carefully selecting a voting group (me), I finally narrowed it down to a few categories:
Best Perl Book for Beginners
That has to go to Learning Perl, 4th edition, by Randal (one "l") Schwartz, Tom Phoenix and brian d foy. Though some may feel that there are other beginner books for Perl which are better, this one is by well-known, trusted authors and it's regularly updated to cover the latest versions of Perl. Further, they have a proven track record of teaching Perl. It's tough to do better than this book.
Best Perl Book for General Reading
I'll give this one to Perl Best Practices by Damian Conway. I don't agree with everything in this book (inside-out objects, anyone?), but it's a phenomenal work which few could undertake. Furthermore, even if you disagree with some of what Damian has to say, he makes persuasive arguments and you'll have to think about what he has to say. That's never a bad thing.
The Perl Book I Want Everyone to Read
Perl Testing: a Developer's Notebook by Ian Langworth and chromatic. Hands down, this is the one everyone should get their grubby little hands on and start following. If anyone asks me how I got to be such a good programmer (though that's a questionable thing), I say "testing". There is no single thing which has made me a better programmer than testing. Period.
Most Fun Perl Book
The upcoming Perl Hacks by chromatic, Damian Conway and, er, me. OK, maybe I'm biased on this one and to be fair, I hardly feel I deserve to be on the cover given the quality of contributions from the other two authors, but this book is a lot of fun. You'll delve into dark corners of Perl that you never knew existed and you'll have a blast doing it.
Best Perl Book of All Time
Higher Order Perl by Mark Jason Dominus. While not recommended for beginning Perl programmers, experienced programmers will not only learn new ways of thinking about Perl, they'll learn new ways of thinking about programming. If you think you'll learn nothing from this book, you're wrong. If you say you've read this book and learned nothing from it, I suspect you're a liar (unless you're Knuth).