System administrators will vouch for the importance of Perl. It’s a very detailed language that has been around for decades and isn’t likely going anywhere.
Learning Perl can be a long process but you can speed up that process with the right materials. In this post I’ve curated the best books to take you from a complete Perl novice to a skilled practitioner without much struggle.
Note you do not need any prior programming knowledge to dive into Perl, so absolutely anyone can get started learning this language from scratch.
If you want a solid intro to Perl programming Think Perl 6 is the best option for beginners. It’s the newest book on this topic covering the latest advancements in Perl, but it also teaches the fundamentals along with practical modern-day uses for Perl scripting.
Currently in its 7th edition is the classic Learning Perl from O’Reilly. This book has been around for years and it’s frequently updated with the newest version of Perl as it’s released.
The goal of this book is to teach you everything about Perl’s syntax and how it works. You’ll learn the fundamentals of the language and how to get tasks running on any platform. The writing style is very simplistic and it’s a nice intro book for beginners.
Each chapter covers a different process and you’ll learn through real-world exercises on how Perl fits into a modern dev workflow.
Subroutines, data types, and regular expressions are all covered in great detail. This book is reasonably priced and surprisingly broad on web dev and local scripting.
If you want a tried & tested book on Perl with fresh updates on the newest version of the language then check out a copy of this book.
When it comes to programming I’m a huge fan of practical exercises. If you can put in the time to code cool things you’ll be more engaged and ultimately retain more info.
And that’s exactly what you’ll get with Perl by Example, a massive 880+ page guide to learning Perl the right way.
The early chapters talk about how Perl works and the basics of programming this language. From there you’ll move onto different approaches for data types, operators, subroutines, custom modules, and working with objects in your code.
This language can be intimidating based on the syntax but it’s really not a complex topic.
And thankfully these exercises are easy enough to follow that you can bet your ass you’ll pick up the basics quickly.
One thing I like about these smaller guides is how easy they are to work through. They’re like reference guides along with mini-tutorials for all skill levels.
Perl Pocket Reference: Programming Tools is a very short book with only 104 pages. But it’s exceptionally well organized and the content is easy enough to browse at a glance.
If you just want a quick dive into Perl’s syntax and behaviors then this is a nice cheap option. It will not fill in all the holes and it’s certainly not a complete guide. But it works just as well for referencing syntax and proper workflows as you start building your own scripts.
I’d recommend this more for people who already have programming knowledge and want to add some Perl skills into their brain. It’s okay for beginners but may be a little too terse.
Over time many languages adapt and become useful for different things, and that’s a big focus in the Modern Perl book.
This takes a pragmatic approach to Perl as a problem/solution concept. You’ll learn how Perl should operate and which scenarios it fits best. I specifically recommend this book for an introductory guide to how the language is used in modern times.
The author uses a lot of sample problems where you’re given a scenario and need to solve it. From there you’ll study a few code snippets to learn why they work and what makes them the best solutions for the job.
Testing your Perl code is also huge and you can write scripts to perform these tests. Modern Perl teaches you a few “standard” methodologies that you can take with you for any project.
This is an interesting book because it can work for a very large audience of programmers. If you’ve never written Perl before this book teaches a lot of best practices right away.
But more advanced programmers can also pick up some handy tips by reading through these lessons. Perl Hacks: Tips & Tools for Programming is only 300 pages long but every single page is jam-packed with information.
It’s one of those rare titles where you’ll constantly find gems across many different pages and it’s well worth spending the time to work through every chapter.
From custom user interactions to 3rd party modules and debugging hacks, you’ll find a ton of handy tips in this book meant to radically improve your Perl coding skills.
If you are a complete beginner you can learn a lot from this book, although I recommend grabbing another introductory title alongside this one.
This beastly cookbook is a few years outdated but it’s also very relevant for the tips it provides. The Perl Cookbook covers Perl 5.8 which is close enough to the latest version to be usable in most applications.
Many of the recipes in this book can be reused for any application from web services to Linux scripts. They don’t rely on anything new in Perl 6 and these recipes have a lot to do with solving problems rather than getting into fancy Perl syntax.
It’s an absolutely massive tome of 960+ pages full of dozens of recipes that you can reuse and restructure to fit your needs. In this age there is no reason to reinvent the wheel because everything you could ever need is probably out there—much of it in this book!
If you’re brand new to Perl it’s a good idea to start with an intro book first. But once you’re scripting your own projects definitely grab a copy of this cookbook and see how these exercises work for you.
People still learn Perl because it’s practical and valuable in certain contexts. With Perl One-Liners you’ll learn why this language is so valuable and how it can best be used to save time.
Inside you’ll find well over 100 custom one-liners that can perform some pretty handy tasks. These include string manipulation, password generation, mathematical techniques, and tons of regular expressions.
No matter what your skill level this book can be a godsend for Perl programmers. You’ll learn so much going through these one-liners and many of them you can save for use on multiple projects.
Just keep this book in mind for future reference because it’s definitely one of the better resources for advanced coders, but it may not fit so well if you have no experience.
Every language tends to have its own best practices and design patterns. These let you create programs that run efficiently and promote good quality coding standards.
In Damian Conway’s Perl Best Practices you get to study professional code samples and learn Perl techniques from real-world examples. No more guessing how to write scripts or using your intuition to build projects.
This book shares 250+ individual techniques you can use to improve your Perl code and radically transform your scripting techniques. This includes proper naming conventions, file ordering, data structures, and proper debugging.
The writing style is very clear and easy to apply into your workflow. This makes the book not only valuable for experienced users, but also for semi-skilled programmers trying to learn the basics.
If you’re gonna learn Perl you may as well learn it right. And this book is the best way to pick up quality techniques for modern Perl scripting.
Algorithm development is a complex topic and often goes hand-in-hand with data structures. These two topics are massive and I recently shared a few books that can help you learn algo design.
But if you’re specifically working with Perl then I recommend a copy of Mastering Algorithms with Perl. Yes it is a bit dated and it’s a fairly massive guide totaling over 700 pages.
However the contents are magnificent and they’re incredibly accurate. It’s a stellar book for anyone willing to spend some time working with algorithms and trying to apply them into everyday work.
You’ll find a bunch of algorithm patterns that you can apply with a breakdown of code snippets along the way. This helps improve your cognition and understanding of how Perl algos work so you can design your own in the future.
Perl’s source code supports many modules including the DBI which is Perl’s standard database module. This works for all types of scripting and it’s a pertinent choice for newcomers to start learning the ropes with DB work.
Programming the Perl DBI offers a reasonable look inside the Perl DBI codebase. You’ll learn how to design workflows around DBI and what makes this such a great choice for development.
You’ll learn how to install the database drivers and how to connect into the Perl core API for data storage. Early chapters also cover the basics of constructing queries using SQL and how to master this process for yourself.
Debugging techniques are also covered in great detail to help you master the process of Perl in action. I cannot recommend a better book for getting into DBI programming.
Not everyone has a need for Perl’s DBI but this is surely the best resource to start learning.
It’s true that most web developers opt for Ruby or PHP instead of Perl on the backend. However there’s still good reason to learn Perl on the web if it’s for maintaining legacy systems or if you just prefer the CGI environment.
Programming Web Services with Perl totals almost 500 pages of detailed guided lessons for all experience levels. You’ll start by learning the history of web services and how these function together with Perl.
Then you’ll learn about HTTP and XML-RPC protocols along with XML data. Perl mostly connects through various modules and API calls so web services operate differently using Perl scripting.
This book places a heavy emphasis on SOAP design which is less common compared to RESTful development. Although with Perl it does make sense to follow SOAP standards, not to mention this book is a few years older.
If you’re looking for a clear introduction to how web services work then you’ll enjoy this book. However it does not offer the newest techniques so it’s really made for Perl enthusiasts or programmers maintaining legacy projects.
What good is a script if it’s bloated and operates poorly? It’s not enough to just write Perl code; it also needs to function properly and work well.
Effective Perl Programming looks at efficiency above all else. This uses a lot of examples from the Linux/shell environment relying on modules that run clearly with Perl.
When you realize how to properly think about Perl code you’ll have a much easier time designing your scripts. This effectively leads to better code samples and a much easier debugging process. But it still requires time and patience to get there, so having this book nearby can speed up that process.
I won’t say this is the only good book on building efficiency code. However it’s one of the easiest to pick up and get into, even as a nice intro for beginners.
Love it or hate it, software testing is a major part of programming. And if you’re looking for a complete guide on this subject look no further than Perl Testing: A Developer’s Notebook.
This is not a book covering how to write the language or how to build complex projects. This book will not make you a master Perl coder and it will not teach you the fundamentals of the language.
Instead it looks into the unit testing process from a Perl slant. You’ll learn how to plan your own tests and what makes a certain test operate better than others.
Because of how it’s written this book doesn’t feel like a Perl-only book(although it strictly uses Perl code).
Instead it feels like a book on unit testing that just so happens to use Perl. Excellent guide for Perl coders but may also be great for anyone struggling to understand testing.
Writing your own scripts to automate common workflows is a beloved pastime of system administrators and programmers worldwide. There’s no reason to do something manually if you can automate the process, in fact it’d be crazy not to!
Automating System Administration with Perl offers 670 pages of specific advice teaching the core tenets of automation. You’ll learn which common tasks need to be dealt with and how you can write code to do that.
Each chapter is very well written and surprisingly easy to follow. Even if you don’t have much of a Perl background you can still pick up these scripts and use them for local automation for shell/bash scripting.
Automated tasks include user account management, TCP/IP protocols, config files, system settings, and even SQL database management.
Anything you could possibly need to know about automation is covered with code snippets in this very detailed book.
The client/server relationship drives our entire Internet along with the well-known TCP/IP protocol. It’s something that most programmers learn at some point but can also be very detailed depending on the language.
Perl is one example of a detailed scripting language that can do a lot with Internet connections. And the book Network Programming with Perl is an excellent introduction to this subject.
If you’re not sure how to do any networking this book will solve your problem. It works with FTP, TCP/IP, Telnet, and many other similar models. You can build custom SSH scripts that automate into servers and run specific tasks.
The code quality is very clear so you should get through each chapter without much effort. Plus you’ll work through exercises that really make you think about how to solve problems using Perl as the solution.
If you’re unsure of where to start with Perl networking this is the only book you’ll ever need.
Not many programmers think of Perl as a higher-level language. But there’s so much you can do with Perl scripting and it can run in so many environments, it’s crazy to ignore the potential you have at your fingertips.
In Higher-Order Perl you’ll learn through example how to automate tasks and solve complex problems with code. So instead of writing a bunch of custom functions you could build a whole library that you replicate for adding new features/concepts.
Then you can just run these library/class functions in all future projects. It’s all about abstraction and taking yourself away from manually performing the menial tasks yourself.
Higher-Order Perl is an excellent read if you want to bring your skills to a professional level. But I do not recommend it for beginners or for people who don’t really want to learn Perl beyond the fundamentals.
The newest version of Perl finally has a book worth talking about! Think Perl 6: How to Think Like a Computer Scientist takes you on a journey behind the Perl 6 library and how it can be used by modern compsci developers.
This book comes with over 100 different exercises teaching various methods for using Perl 6 in the real world. It’s one of the more practical guides in this list and it should be considered if you want to get into the latest version of Perl.
With a clear writing style and a syllabus-type structure this can work well for 1st year computer science majors. The book is not technically a college coursebook, although if you’re teaching yourself this helps fill in the gaps.
Early chapters cover the fundamentals of functions/loops while later chapters get into regular expressions and object-oriented programming.
I’d definitely rate this book pretty high on the list if you want something that’s relevant, up-to-date, and focused on Perl from a programmer’s POV.
Anyone brand new to Perl should consider grabbing one of two books: Perl by Example for a detail-oriented approach through examples, or Think Perl 6 for a very technical intro using the latest version of Perl.
Everything else in this list spans the gamut from web services to Linux scripting, algorithm development, and custom regex coding.
No matter what you’re trying to do or why you need to learn Perl I guarantee there’s a book here that’ll help you get there.