Appendix A. Further Reading

As I said in the introduction, the path to mastery involves learning from many people. Although you could adequately learn Perl from our series of Learning Perl, Intermediate Perl, and Mastering Perl (or even taking a Stonehenge Perl class), you need to learn from other people too.

The trick is to know who to read and who not to read. In this appendix, I list the people I think are important for your Perl education. Don’t worry about this being a way for my publisher to increase sales because most of the books are from other publishers.

If you wondered why I didn’t cover some subjects in this book (besides keeping the book at a heftable weight), these books cover those subjects much better than I ever could.

Some of these books aren’t related to Perl. By this time in your Perl education, you need to learn ideas from other subjects and bring those back to your Perl skills. Don’t look for books with “Perl” in the title, necessarily.

Perl Books

Data Munging with Perl, by Dave Cross

Extending and Embedding Perl, by Tim Jeness and Simon Cozens

Higher Order Perl, by Mark Jason Dominus

Nicholas Clark, the Perl pumpking for perl5.8, said “Don’t only buy this book, read it.” Mark Jason has a unique view of Perl programming, mostly because he has such a strong background in computer languages in general. His title refers to the idea of higher-order functions, a technique in functional programming that creates new functions by combining existing ones. This book is truly a masterwork which will make you appreciate Perl in ways you never thought possible.

Network Programming with Perl, by Lincoln Stein

By the time you have Mastering Perl in your hands, Lincoln’s book is going to be really old, at least in internet time. Despite that, the subject hasn’t changed that much since he wrote it. If you already know about sockets or unix network programming, you just need this book to translate that into Perl. If you don’t know those things, this book will show them to you.

Object-Oriented Perl, by Damian Conway

Perl Best Practices, by Damian Conway

Perl Debugged and Perl Medic, by Peter Scott

Perl Scott presents the pragmatist’s view of Perl in his books. He deals with the real world of programming Perl and what we can do to survive it. He give nitty-gritty advice and information on the practice of Perl.

Perl Template Toolkit, by Darren Chamberlain, David Cross, and Andy Wardley

Simon Cozens says in Advanced Perl Programming, 2nd Edition that all programmers go through a phase where they create their own templating engine. If you haven’t gotten to that stage, skip it and use the Template Toolkit. Don’t comparison shop or look back.

Perl Testing: A Developer’s Notebook, by Ian Langworth and chromatic

Although we covered some Perl testing in Learning Perl and Intermediate Perl, these authors focus on it and cover quite a bit more, including useful modules and techniques.

Programming the Perl DBI, by Tim Bunce and Alligator Descartes

The DBI module is one of the most powerful and useful modules in Perl (and it’s dangerous to say that so closely to the Template Toolkit book), and I’m amazed that it’s creator, Tim Bunce, along with Alligator Descartes, was able to write such a wonderful book that’s also so slim.

Writing Perl Modules for CPAN, by Sam Tregar

I must commend Apress for publishing this book when Sam told them they wouldn’t be able to make a fortune off it. Along with Peter Scott’s books, this is another practical guide to Perl. Sam takes you through the entire process of module creation, packaging, and maintenance and gives you all the non-Perl stuff you need to know to get it done. I’d like to suggest that you buy it despite it being available for free online.

Non-Perl Books

Mastering Regular Expressions, by Jeffrey Freidl

Jeffrey put a lot of Perl in this book, but many languages now have regular expressions and he discusses those too. He tells you far more than you’ll probably ever want to know about regular expressions, including the different implementations and how those affect performance. Even if you don’t remember everything, you’ll subconsciously improve your regex chops by working through this book.

Programming Pearls, and More Programming Pearls by Jon Bentley

It’s no accident that the bible of Perl is named “Programming Perl”. When you read this collections of Jon Bentley’s columns for Communications of the Association for Computing Machinery by Jon Bentley, you’ll think that you’re reading the early drafts of the specifications for the Perl language. You can see parts of the book online at http://www.cs.bell-labs.com/cm/cs/pearls/

The Practice of Programming by Brian W. Kernighan & Rob Pike

Code Complete, by Steve McConnell

Debugging by David Agans

Debug It! by Paul Butcher

Debugging by Thinking, by Robert Metzger