Updates

Latest Tweet



What's New?

Check out for latest innovation, a computer based training video collection


Like this Page

Perl Hacks: Tips & Tools for Programming, Debugging, and Surviving Review by Thing with a hook

Super-advanced Perl

From the title, I wasn't quite sure what to expect from Perl Hacks. Was it going to be about rummaging around in Perl's internals? Making Perl do clever, yet ultimately dumb and pointless tricks? It turns out that, while there is some fairly voodooish material here, some of it quite playful, on the whole it's a very practical book. Aimed firmly at the advanced Perl programmer who knows when it's appropriate to mess about with the symbol table, temporarily turn off warnings, or crack out one of the B:: modules, this is a collection of 101 suggestions to improve your productivity, boggle your mind about what Perl can do, or both.

The content reminds me a little of the likes of Exceptional C++ Style, a mixture of advanced best practices, and things which you may not need to know, but you'll probably still be interested in finding out how it works. For instance, have you ever considered tieing an array or hash variable to a function? Ever wanted to name a supposed anonymous subroutine? Print out the source code as well as the line number of a syntax error? Nor me, but Perl Hacks shows how it could be useful. These are illustrative of the spirit of the book.

My favourite material was probably the chapter on modules. Included are how-tos for outputting all the modules used in a package, automatically reloading modules in running code, shortening long package names with the CPAN 'aliased' module, and making up your own bundle of modules for easy installation. There's also an interesting object chapter with subjects such as: inside out objects, using YAML for serialisation, using traits and autogeneration of accessors.

Additionally, there's a little on using those scary B:: packages, using modules which use the B:: packages or other dark magic (e.g. peeking inside closures), some fairly hardcore tracing and profiling, that touches on some Perl VM internals. Also worth mentioning is the hack that hijacks the angle bracket glob operator to create Haskell/Python-style list comprehensions.

You are going to have to be one scarily gifted Perl hacker not to find something useful or at least thought-provoking at regular intervals throughout this book. My only complaint is that the hack format, which the blurb on the back of the book describes as a "short lesson", does not lend itself equally well to all hacks. While I liked the chapter on objects, some of the hacks (in particular the traits hack, some of the testing material) were too short.

If you like the sound of a book that's somewhere between Perl Cookbook, Perl Best Practices and the second edition of Advanced Perl Programming, you're going to love this.