Intermediate Perl

This review was originally printed in the December 2012 edition of the UKUUG newsletter, which is now defunct.

Title: Intermediate Perl (2nd edition)
Authors: Randal L. Schwartz, brian d foy, Tom Phoenix
ISBN: 9781449343804

Having reviewed Learning Perl in the December 2011 newsletter, Intermediate Perl seemed the next logical step. With the same authors, this book picks up where Learning Perl left off, and the second edition is possibly more up to date than your distribution’s repository, covering Perl 5.14.

The first chapter is fairly brief and reiterates the basic knowledge of Perl which is assumed throughout – either that you have read the previous book or are familiar with control structures, subroutines, list operators and basic file manipulation. As with Learning Perl, all the code runs cleanly with warnings and strict mode enabled, although there is no mention of the Modern::Perl module which includes both modes and a few additional features.

The remainder of the first half of the book is largely devoted to references of all shapes and sizes. This is an area which often causes headaches, but is essential for most Perl programming beyond simple basic scripts, so it is good to see that the authors have spent plenty of time covering it. If you need to use a specific Perl environment, such as when deploying to a new server, then chapter 12 covers the topic of building your own Perl distribution, including the essential but often overlooked topic of documentation.

The second half of the book is dedicated to testing and objects, two topics which are important but rarely given the coverage they deserve. Objects in particular is a topic which took me some time to get my head around, but the authors have done a good job of explaining it. The only criticism I can make of the second half is that the authors jump between testing and objects, but the chapters are sufficiently self-contained that you can probably read all the chapters on objects first and then go back and tackle the ones covering testing.

Although short, I particularly enjoyed the final chapter on Contributing to CPAN, as this is something I’ve wanted to do for some time but have been unable to find a well-written explanation.

Overall, this is an excellent book for Perl programmers who have got to grips with the basics and want to move on to the next level. There is a sensible balance between breadth and depth of coverage, the exercises are meaningful rather than contrived, and the text is as up to date as a printed edition can ever hope to be.


No comments yet. Why don’t you start the discussion?

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.