Resources for Perl
On this page, you will find (1) introductory tutorials on Perl and (2) documentation, both official and quick-reference.
PERL is a server-side language, meaning that it is compiled and executed on the website's server, and then sent to the webuser's browser as HTML. Consequently, the instructions given by the program cannot be changed once it reaches the user's browser. And the user cannot see the original Perl program, since it is not sent to the browser. Other server-side languages frequently used are ASP and PHP.
A brief personal introduction
When I first began to learn Perl, I searched the web diligently for a tutorial that was easily understandable, and that would get me into it fairly quickly. I discarded most of what I found for one of two reasons.
1) The tutorial assumed that the user was either going to set up Perl on his own computer (a horribly complex project), or to use the facilities of a webserver to enter Perl commands directly into the Unix command line. Both of these assumptions involve a great deal of preparation before you can even get started with the Perl-learning process.
However, my main reason for learning the language was to use it to write interactive scripts on my website. So it made sense to learn Perl using the same process: type the script into a text editor...FTP it up to the site...look at the results in the browser.
2) Most tutorials were written in what I call "perlese" - a style that assumes that the user is a professional, and already familiar with the jargon. In order to understand even one sentence, you had to find out what the words meant. So you had to find another tutorial just to learn how to read the first one.
Eventually I managed to find a few sources that were easier to read, but I had to use more than one in order to thoroughly understand a new technique. There was, and still isn't, a single tutorial that was both well-written and comprehensive.
A word of caution: One thing that makes Perl so useful is that "There's more than one way to do it." However, this also makes it confusing for the newcomer. When I started my process of self-education, I didn't realize that there are two seperate approaches to writing a Perl script: function-oriented programming (FOP) and object-oriented programming (OOP). Based on my own experience, I would advise sticking to one or the other to avoid confusion, until you are clear on the difference. If you are not already familiar with OOP, it will be more difficult to understand. The easiest way I find to spot OOP easily is that it contains a lot of these arrows: -> .
Perl Tutorials
CGI Programming 101,
Jacqueline D. Hamilton, Second Edition, 2004
This was my main resource for teaching myself Perl. The first six chapters are available online, and use the FOP approach. It explains things quite well and has plenty of examples (which are available online to copy & paste into your text editor). The only criticism I had, the lack of an adequate index, has been rectified in the second edition.
This tutorial was my alternate resource. It also has plenty of examples, is also written in plain English, but uses OOP. There are 25 parts, each containing several sections, and proceeding in an orderly fashion from the basics to some quite sophisticated topics. The sample scripts used in the later parts can be easily modified to suit your own needs.
An 11-part introduction to writing Perl scripts. The first two parts give the steps necessary to get you up and running scripts on your webserver. The tutorial then procedes by analyzing scripts that produce useable results. The first script, for example, is a fully-functional Guest Book page. At the end of each part is an assignment to write or modify a script of your own, and possible solutions are given, so you can check your work.
PerlTutor - The Interactive Perl Tutorial
Although this tutorial assumes that you have Perl installed on your own computer, it is not necessary. You can test the scripts on your own website. There are 13 lessons, with more in the process of development. An interactive approach is used. Each lesson consists of several sections, each having checkpoints (short quizzes) to make sure you understand what's just been presented. Exercises are given at the end of each lesson, where you are asked to write a short program using the ideas from that lesson. Sample answers let you see where you went wrong.
Documentation
Perl version 5.8.8 documentation
Perl is an "open-source" language, meaning that its source-code is available for anyone to look at and to write modules to extend its functionality. The document above has links to just about anything you might want to know about Perl, including tutorials, FAQs, references to functions, operators, special variables, pragmas, core modules, utilities, and to CPAN, the Comprehensive Perl Archive Network. Its tutorials are not a good place to start, but provide very useful introductions to some more advanced topics.
The book has two main sections: an "Overview", which introduces the basic concepts in a discursive manner, and a "Reference", which covers variables, operators, and functions in a more tabular fashion. Also has "Reference Tables" for regular expressions and modules, and a "Glossary".