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.
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: -> .
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.
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.
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.