This book carries on from where the authors’ excellent introductory Learning Perl [1] left off. Readers of the current volume should have read, understood, and practiced the material presented in Learning Perl. The aim of the current text is to move readers on to the point where they are well enough versed in Perl to be able to write complex software to a high enough standard that the resultant modules may be of use to others.
The 15 chapters take up just 179 pages, and are best read in the order presented. Each chapter ends with a couple of well-chosen exercises and answers to most of the exercises, and provides a wealth of useful tips and advice. The writing style is relaxed and amusing, without ever compromising the message that is being delivered. The examples used are just complex enough to allow the reader to understand the concepts being presented, while permitting a variety of implementations, ranging from the plain and inelegant to the ultra-succinct. (The author does warn, on more than one occasion, of the need to balance succinctness against maintainability.) Make no mistake, this is not a book for beginners, so, even though pointers and objects both have associated introductory chapters, readers will find the material presented far more accessible if they already possess a basic knowledge of these areas.
It is refreshing to see material included on both testing and documentation, as well as on how to prepare software to be made available via the Comprehensive Perl Archive Network (CPAN). As with all the material in the book, this is dealt with in a straightforward, no-nonsense way that should inspire budding Perl programmers to do the job properly.
I would definitely recommend this book to everyone who has grasped the essentials of Perl scripting, and wants to move on to produce more complicated, more elegant, and more useful Perl software.