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 185,000 Perl modules.
Here’s our recommended tutorials to learn Perl. If you’re looking for free Perl programming books, check here.
1. Perl Maven tutorial by Gábor Szabó
The Perl Maven tutorial will teach you the basics of the Perl programming language. You’ll be able to write simple scripts, analyze log files and read and write CSV files. Just to name a few common tasks.
You’ll learn how to use CPAN and several specific CPAN modules. It will be a good foundation for you to build on.
2. Learn Perl in Y Minutes by Korjavin Ivan
Perl 5 is a highly capable, feature-rich programming language with over 25 years of development.
3. Interactive Perl tutorials by Alex Muntada
Ever wondered what that line would print while reading a Perl tutorial? Tired of reading outdated information? Still stuck with old books? Now there is a solution!
4. Learn Perl in about 2 hours 30 minutes by Sam Hughes
This document is intended to be as short as possible, but no shorter.
5. Perl Distilled by Martin Jones
This booklet is for you if:
- you write Perl programs that work, but lack the confidence gained by understanding what is beneath Perl’s layer of abstraction,
- you need a model in order to reason about the way yours or other people’s Perl programs work,
- or you have just attended a Perl course and need a set of reminder notes that cover the ‘dirty details’ part of the course
6. Essential Perl by Nick Parlante
This document is a quick introduction to the Perl language. Perl has many features, but you can get pretty far with just the basics, and that’s what this document is about. The coverage is pretty quick, intended for people with some programming experience.
7. Template::Tutorial::Web by Andy Wardley
This tutorial document provides a introduction to the Template Toolkit and demonstrates some of the typical ways it may be used for generating web content. It covers the generation of static pages from templates using the tpage and ttree scripts and then goes on to show dynamic content generation using CGI scripts and Apache/mod_perl handlers.
8. Perl 6 Introduction by Naoum Hankache
This document is intended to give you a quick overview of the Perl 6 programming language. For those new to Perl 6, it should get you up and running.
9. Perl Tutorial for Beginners: Learn in 1 Day by Guru99
Perl is a programming language specially designed for text editing. It’s now widely used for a variety of purposes including Linux system administration, network programming, web development, etc.
10. Perl Tutorial by Perl Tutorial
A comprehensive Perl tutorial with practical examples. If you’re new to Perl, this tutorial is an excellent start. If you want to review your Perl knowledge, you will find some new features of the Perl language, which has been released in the recent versions. This Perl tutorial is updated to version 5.24.
11. Perl for Perl newbies by Shlomi Fish
This is a public domain tutorial.
All tutorials in this series:
|Free Programming Tutorials|
|Java||General-purpose, concurrent, class-based, object-oriented, high-level language|
|C||General-purpose, procedural, portable, high-level language|
|Python||General-purpose, structured, powerful language|
|C++||General-purpose, portable, free-form, multi-paradigm language|
|C#||Combines the power and flexibility of C++ with the simplicity of Visual Basic|
|PHP||PHP has been at the helm of the web for many years|
|Ruby||General purpose, scripting, structured, flexible, fully object-oriented language|
|Assembly||As close to writing machine code without writing in pure hexadecimal|
|Swift||Powerful and intuitive general-purpose programming language|
|Groovy||Powerful, optionally typed and dynamic language|
|Go||Compiled, statically typed programming language|
|Pascal||Imperative and procedural language designed in the late 1960s|
|Perl||High-level, general-purpose, interpreted, scripting, dynamic language|
|R||De facto standard among statisticians and data analysts|
|COBOL||Common Business-Oriented Language|
|Scala||Modern, object-functional, multi-paradigm, Java-based language|
|Fortran||The first high-level language, using the first compiler|
|Scratch||Visual programming language designed for 8-16 year-old children|
|Lua||Designed as an embeddable scripting language|
|Logo||Dialect of Lisp that features interactivity, modularity, extensibility|
|Rust||Ideal for systems, embedded, and other performance critical code|
|Lisp||Unique features - excellent to study programming constructs|
|Ada||ALGOL-like programming language, extended from Pascal and others|
|Haskell||Standardized, general-purpose, polymorphically, statically typed language|
|Scheme||General-purpose, functional, language descended from Lisp and Algol|
|Prolog||General purpose, declarative, logic programming language|
|Forth||Imperative stack-based programming language|
|Clojure||Dialect of the Lisp programming language|
|Julia||High-level, high-performance language for technical computing|
|SQL||Access and manipulate data held in a relational database management system|
|Erlang||General-purpose, concurrent, declarative, functional language|
|VimL||Powerful scripting language of the Vim editor|
|OCaml||General-purpose, powerful, high-level language|
|Awk||Versatile language designed for pattern scanning and processing|
|Racket||Platform for programming language design and implementation|
|BASIC||Family of general-purpose, high-level programming languages|
|LaTeX||Professional document preparation system and document markup language|
|Elixir||Relatively new functional language that runs on the Erlang virtual machine|
|Dart||Client-optimized programming language for fast apps|
|ABAP||Advanced Business Application Programming|
|F#||General purpose, strongly typed, multi-paradigm language. Part of ML|
|Chapel||Parallel-programming language in development at Cray Inc.|
|Dylan||Multi-paradigm language, supports functional & object-oriented programming|
|D||General-purpose systems programming language with a C-like syntax|
|Solidity||Object-oriented, high-level language for implementing smart contracts|
|XML||Set of rules for defining semantic tags that describe the structure and meaning|
|Vala||Object-oriented language with a self-hosting compiler that generates C code|
|ECMAScript||Best known as the language embedded in web browsers|
|Kotlin||Statically typed, general-purpose programming language with type inference|
|Markdown||Plain text formatting syntax designed to be easy-to-read and easy-to-write|
|Pike||Interpreted, general-purpose, high-level, cross-platform, dynamic language|
|HTML||HyperText Markup Language|
|Factor||Dynamic stack-based language|
|Objective-C||General purpose language which is a superset of C|
|Standard ML||One of the two main dialects of the ML language|
|Alice||Educational language with an integrated development environment|
|Agda||Dependently typed functional language based on intuitionistic type theory|
|Icon||High-level, general-purpose language|
|PureScript||Small strongly, statically typed language with expressive types|
|Tcl||Dynamic language based on concepts of Lisp, C, and Unix shells|
|QML||Hierarchical declarative language for user interface layout with a syntax to JSON|
|VHDL||Very High Speed Integrated Circuit Hardware Description Language|
|OpenCL||Open Computing Language|
|Haml||HTML Abstraction Markup Language|
|J||Array programming language based primarily on APL|
|LabVIEW||Designed to enable domain experts to build power systems quickly|
|Hack||For the HipHop Virtual Machine (HHVM), created as a dialect of PHP|
|V||Statically typed compiled language to build maintainable software|
|PostScript||Page description language in electronic and desktop publishing|
|Arduino||Inexpensive, flexible, open source microcontroller platform|
|Nim||Statically typed compiled systems language with syntax resembling Python|
|Emacs Lisp||A dialect of the Lisp programming language.|
|Octave||High-level language, primarily intended for numerical computations|
|Bash||‘Bourne-Again-SHell’ is both a shell and programming language|
|Limbo||Designed for applications running distributed systems on small computers|
|CSS||CSS (Cascading Style Sheets) specifies a web page’s appearance|
|Raku||Member of the Perl family of programming languages|
|Coq||Dependently typed language similar to Agda, Idris, F*, Lean, and others|