Learning Perl the Hard Way

by Allen B. Downey.

Download this book in PDF.

Read other books from Green Tea Press.

Do we really need another Perl book? Well obviously I think so, and here's why:

  • I want a book for people who already know how to program in another language, but don't know Perl.

  • I want a book that gets through the basics as quickly as possible. I'm sick of reading about the precedence of operators; I want to know how to do the fun stuff.

  • I want a book that emphasizes good programming style in Perl. Many of the Perl programs I have seen are written in a quick-and-dirty style; I wanted to see if the style I have developed in other languages can translate.

  • In many Perl books, object-oriented programming is treated as an optional feature for advanced programming. I wanted to bring it closer to the center of focus (although I am anything but an object-oriented bigot).
In presenting Perl features, I tried to find examples that are interesting in their own right, and that encourage the reader to explore Perl's features.

This book is a work in progress. I have some ideas about what will go into the next few chapters, but I am open to suggestions. I am looking for interesting programming projects that highlight some of the moderately advanced features of Perl, like inter-process communication, the Perl/tk interface, or one of the infinite number of modules on CPAN.

Learning Perl the Hard Way is a free book available under the GNU Free Documentation License. Readers are free to copy and distribute the text; they are also free to modify it, which allows them to adapt the book to different needs, and to help develop new material.

Printable versions of the book are available in PDF and gzipped Postscript. The LaTeX source code (with figures and a Makefile) will be available soon.

Donate towards my web hosting bill!

Are you using one of our books in a class?

We'd like to know about it. Please consider filling out this short survey.


Think DSP

Think Java

Think Bayes

Think Python 2e

Think Stats 2e

Think Complexity