Review: Programming Perl

Programming PerlProgramming Perl by Tom Christiansen
My rating: 4 of 5 stars

I’ve effectively finished this book, although I’ll admit to skipping the section called “reference”; the book had already gotten deeper into the weeds than I needed at the moment.

I’ve read a lot of programming books over the past 15 years (and a few before that when I was a young buck trying to learn exactly what one could do with “computers” or on the “Internet”). But rarely have I read a programming book as delightful to read as this one; especially since it focuses so much on the internals of the language. But the book is written with that dad-joke-ish programmer humor that keeps it from ever getting too dry.

Perl isn’t as popular as it was when this book was written. Shoot, even Ruby, once a darling thanks to the Rails framework, has faded due to the likes of Python, Go, Rust, and C#. In the first quarter of 2021 it was ranked #21 on Github. But Perl once ran so much of the web (even a recent episode of Commandline Heroes mentioned the folks who made the Batman Forever movie using it for their site) and probably still runs a huge chunk of sys admin scripts around the world. It may be worth learning just for that skillset. It’s also interesting to see how groundbreaking it was at the time and how other languages (like Python and Ruby) have borrowed from it (very heavily in Ruby’s case).

Ultimately this book isn’t for learning Perl. Funnily enough, there’s a book called Learning Perl that works much better for that. But if you find yourself still working with (or newly working with) Perl, this book will give you a nice, deep background into how everything works that will allow you to write very powerful Perl programs or understand that Perl program that the retired Perl Monk wrote and that you now have to maintain. I wish more programming language books were written this approachably when covering the innards of the language.

View all my reviews

Published by Eric Mesa

To find out a little more about me, see About Me