Programming Books

23 Excellent Free Books to Learn Perl

Last Updated on May 11, 2024

Programming is about solving problems and good communication. But before code is written, you need to know how to solve the problem. Breaking the problem into component parts assists in the process. And being able to model the problem so that it’s easy to implement and test also helps. Combine this with a solid understanding of the programming language itself – a good programming book contributes to all aspects of problem solving. Perl has the virtue it can solve a problems in a few lines of code. Perl programmers solve problems and get things done.

The popularity of a book is influenced by personal feelings, tastes, and opinions. Programming books accord to this general rule. There is a wide range of Perl books. As Perl is an open source programming language, with an eclectic heritage written by Larry Wall with thousands of contributors, it is welcome some authors have released their Perl books under a freely distributable license.

Perl is a high-level, general-purpose, interpreted, scripting, dynamic programming language released under the GPL or Artistic license. Perl’s syntax has its roots in shell scripting tools, borrowing features from other languages including C, shell script (sh), AWK, and sed. It is available for most operating systems. Perl is implemented as an interpreted (not compiled) language. It is procedural, with variables, expressions, assignment statements, control structures, blocks and subroutines.

Perl is a versatile language. It is often used to write (CGI) scripts, manipulate text, general web programming, networking, system administration, prototyping, database access, and graphical programming. One of the most powerful features of Perl is its extensive library of modules. Many of these modules are available from the Comprehensive Perl Archive Network (CPAN), which mirrors over 183,000 Perl modules.

1. Modern Perl by Chromatic

Modern PerlModern Perl is designed to help programmers of all levels of proficiency. The book is not just a Perl tutorial. It explains how and why the language works, so that the full power of Perl can be unleashed. The book is updated for Perl 5.22, to demonstrate the latest and most effective time-saving features.

Modern Perl is one way to describe the way the world’s most effective Perl 5 programmers work. They use language idioms. They take advantage of the CPAN. They show good taste and craft to write powerful, maintainable, scalable, concise, and effective code.

This book providing a wealth of information on:

  • The Perl philosophy.
  • Perl and its community focusing on CPAN, community and development sites.
  • The Perl language introducing names, variables, values, control flow, scalars, arrays, hashes, coercion, packages, references, and nested data structures.
  • Operators – a series of one or more symbols used as part of the syntax.
  • Functions – a discrete, encapsulated unit of behaviour.
  • Regular Expressions and Matching – this chapter overviews the important regex features.
  • Objects – discrete, unique entities with their own identities.
  • Advanced OO Perl.
  • Style and Efficacy explaining the importance of writing maintainable, idiomatic, and effective Perl.
  • Managing Real Problems covering testing, handling warnings, files, modules, distributions, and more.
  • Perl Beyond Syntax.
  • What to Avoid.

The electronic versions of this book are released under the Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License.

Read the book.

2. Data Munging with Perl by Dave Cross

Data Munging with Perl Data Munging with Perl shows the reader dozens of useful ways to get everyday data manipulation chores done better, faster, and more reliably.

Whether you deal with fixed-format data, or binary, or SQL databases, or CSV, or HTML/XML, or some bizarre proprietary format that was obviously made up on a drunken bet, there’s help right here. Perl is so good for the extreme stuff, that we sometimes forget how powerful it is for mundane data manipulation as well. As this book so ably demonstrates, in addition to the hundreds of esoteric tools it offers, our favourite Swiss Army Chainsaw also sports a set of simple blades that are ideal for slicing and dicing ordinary data.

Read the book. There’s a PDF copy too.

3. Beginning Perl by Simon Cozens

Beginning PerlBeginning Perl is a book which as its name suggests is written for beginners.

It starts with the absolute basics of Perl, guiding the reader carefully through to complex operations such as using Perl as a CGI language.

Beginning Perl covers the whole of the core Perl language.

The book covers the following topics:

  • Installing Perl on Windows and UNIX.
  • Working with simple values.
  • Lists and Hashes – looks at some control structures, and learn how to process data more than once without reproducing code.
  • Loops and Decisions.
  • Regular Expressions – one of the most powerful features of Perl.
  • Files and Data – shows you how to read and write to files, and techniques for handling files, directories, and data.
  • References.
  • Subroutines – define, order of declaration, parameters and arguments, return values.
  • Running and Debugging Perl – covers error messages, diagnostic modules, Perl command line switches, and debugging techniques / Perl debugger.
  • Modules – examines how Perl works with DataBase Manager modules and DataBase Interface module.
  • Using Perl as an object-oriented language.
  • Introduction to CGI – looks at how CGI works by writing some simple CGI scripts and using the module.
  • Perl and Databases.
  • The World of Perl – tempts the programmer on what they can do with Perl.

The book is licensed under the Creative Commons Attribution-NoDerivs-NonCommercial License.

Read the book

4. Practical mod_perl by Eric Cholet, Stas Bekman

Practical mod_perlPractical mod_perl is regarded as the definitive book on how to use, optimize, and troubleshoot mod_perl. It’s an extensive guide to the nuts and bolts of the powerful and popular combination of Apache and mod_perl. From writing and debugging scripts to keeping your server running without failures, the techniques in this book will help you squeeze every ounce of power out of your server.

mod_perl is an Apache module that builds the power of the Perl programming language directly into the Apache web server, giving rise to a fast and powerful web programming environment.

The book covers the following topics, and more:

  • Configuring mod_perl optimally for your web site.
  • Porting and optimizing programs for a mod_perl environment.
  • Performance tuning: getting the very fastest performance from your site.
  • Controlling and monitoring the server to circumvent crashes and clogs.
  • Integrating with databases efficiently and painlessly.
  • Debugging tips and tricks.
  • Maximizing security.

The site’s website has been down since October 2016, but there is a copy of the book available at

The complete book is available online under the terms of the CreativeCommons Attribution Share-Alike License.

Read the book

5. Exploring Programming Language Architecture in Perl by Bill Hails

Exploring Programming Language Architecture in PerlBy the end of this book you should have a thorough understanding of the inner workings of a programming language interpreter.

The source code is presented in full, and several iterations add more features until it could be considered pretty complete. The interpreter is written to be as easy to understand as possible; it has no clever optimizations that might obscure the basic ideas, and the code and the ideas will be described to the best of my ability without any unexplained technical jargon. It is however assumed that you have a good working knowledge of Perl (Perl5), including its object-oriented features.

Website down

Next page: Page 2 – Impatient Perl and more books

Pages in this article:
Page 1 – Modern Perl and more books
Page 2 – Impatient Perl and more books
Page 3 – The Perl Reference Guide and more books
Page 4 – Perl 6 at a Glance and more books
Page 5 – Perl 5 Internals and more books

All books in this series:

Free Programming Books
AdaALGOL-like programming language, extended from Pascal and other languages
AgdaDependently typed functional language based on intuitionistic Type Theory
ArduinoInexpensive, flexible, open source microcontroller platform
AssemblyAs close to writing machine code without writing in pure hexadecimal
AwkVersatile language designed for pattern scanning and processing language
BashShell and command language; popular both as a shell and a scripting language
BASICBeginner’s All-purpose Symbolic Instruction Code
CGeneral-purpose, procedural, portable, high-level language
C++General-purpose, portable, free-form, multi-paradigm language
C#Combines the power and flexibility of C++ with the simplicity of Visual Basic
ClojureDialect of the Lisp programming language
ClojureScriptCompiler for Clojure that targets JavaScript
COBOLCommon Business-Oriented Language
CoffeeScriptTranscompiles into JavaScript inspired by Ruby, Python and Haskell
CoqDependently typed language similar to Agda, Idris, F* and others
CrystalGeneral-purpose, concurrent, multi-paradigm, object-oriented language
CSSCSS (Cascading Style Sheets) specifies a web page’s appearance
DGeneral-purpose systems programming language with a C-like syntax
DartClient-optimized language for fast apps on multiple platforms
DylanMulti-paradigm language supporting functional and object-oriented coding
ECMAScriptBest known as the language embedded in web browsers
EiffelObject-oriented language designed by Bertrand Meyer
ElixirRelatively new functional language running on the Erlang virtual machine
ErlangGeneral-purpose, concurrent, declarative, functional language
F#Uses functional, imperative, and object-oriented programming methods
FactorDynamic stack-based programming language
ForthImperative stack-based programming language
FortranThe first high-level language, using the first compiler
GoCompiled, statically typed programming language
GroovyPowerful, optionally typed and dynamic language
HaskellStandardized, general-purpose, polymorphically, statically typed language
HTMLHyperText Markup Language
IconWide variety of features for processing and presenting symbolic data
JArray programming language based primarily on APL
JavaGeneral-purpose, concurrent, class-based, object-oriented, high-level language
JavaScriptInterpreted, prototype-based, scripting language
JuliaHigh-level, high-performance language for technical computing
KotlinMore modern version of Java
LabVIEWDesigned to enable domain experts to build power systems quickly
LaTeXProfessional document preparation system and document markup language
LispUnique features - excellent to study programming constructs
LogoDialect of Lisp that features interactivity, modularity, extensibility
LuaDesigned as an embeddable scripting language
MarkdownPlain text formatting syntax designed to be easy-to-read and easy-to-write
Objective-CObject-oriented language that adds Smalltalk-style messaging to C
OCamlThe main implementation of the Caml language
PascalImperative and procedural language designed in the late 1960s
PerlHigh-level, general-purpose, interpreted, scripting, dynamic language
PHPPHP has been at the helm of the web for many years
PostScriptInterpreted, stack-based and Turing complete language
PrologA general purpose, declarative, logic programming language
PureScriptSmall strongly, statically typed language compiling to JavaScript
PythonGeneral-purpose, structured, powerful language
QMLHierarchical declarative language for user interface layout - JSON-like syntax
RDe facto standard among statisticians and data analysts
RacketGeneral-purpose, object-oriented, multi-paradigm, functional language
RakuMember of the Perl family of programming languages
RubyGeneral purpose, scripting, structured, flexible, fully object-oriented language
RustIdeal for systems, embedded, and other performance critical code
ScalaModern, object-functional, multi-paradigm, Java-based language
SchemeA general-purpose, functional language descended from Lisp and Algol
ScratchVisual programming language designed for 8-16 year-old children
SQLAccess and manipulate data held in a relational database management system
Standard MLGeneral-purpose functional language characterized as "Lisp with types"
SwiftPowerful and intuitive general-purpose programming language
TclDynamic language based on concepts of Lisp, C, and Unix shells
TeXMarkup and programming language - create professional quality typeset text
TypeScriptStrict syntactical superset of JavaScript adding optional static typing
ValaObject-oriented language, syntactically similar to C#
VHDLHardware description language used in electronic design automation
VimLPowerful scripting language of the Vim editor
XMLRules for defining semantic tags describing structure ad meaning
Notify of

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

Inline Feedbacks
View all comments