[Nottingham] Perl

Duncan John Fyfe djf at star.le.ac.uk
Mon Jan 7 15:07:23 GMT 2008

On Sun, 2008-01-06 at 12:44 +0000, Joshua Lock wrote:
> Hi List,
> I know this question gets asked every so often and I'm certain I've  
> asked it before (but several years ago); I'm looking to learn Perl.
> I'll probably use a small web project I am planning as a starting  
> point because I learn better by applying the stuff I'm learning.
> Can anyone recommend:
> * Web resources (tutorials and documentation)
> * Toolkits (for web development)
> * Books (perhaps to be lent to me at the next meeting :)

First a word of advice about managing perl especially in a production
environment.  It is best to either use (and limit yourself to) perl and
perl modules as packaged for your distro OR do a handcrafted perl +
modules install from CPAN (not difficult).  Mixing distro and CPAN
modules can be painful (think two dependency management systems
colliding mid-air) and causes unnecessary problems.

Perl comes with a lot of quite good documentation and perldoc is your
gateway to it (assuming you have it installed).  A lot of what you can
find on the web or buy on books (eg. "Programming Perl") can be found in
the perl documentation.  - the challenge is finding it :)

prompt> perldoc perl
provides a list of perl manual sections
which can again be accessed using perldoc.
perlintro - "Perl introduction for beginners".

prompt> perldoc perlintro 
to read it.

prompt> perldoc -f $function 
will return the perl documentation on internal function $function
(extracted from "perldoc perlfunc")
eg.  perldoc -f map

prompt> perldoc -q "$phrase"
will use $phrase to search the perl FAQs and return sections which match
eg. perldoc -q hash

Once you know what a perl module is 
prompt> "perldoc $module" 
will let you read what documentation has been written into the module.
eg. perldoc Storable

Web resources:

are good places for useful hints, discussions, tips and tricks.

I agree with Michael about perl's CGI module.  I would also look at DBI
if you want to use a database and give mod_perl a glance if you are
using apache.  Beyond that take care.  As you might expect the perl web
toolkit cat has been skinned many different and often incompatible ways
(eg. HTML::Mason,  Template::Toolkit and HTML::Template).  
If you want to avoid an off the shelf CMS as Michael suggests and do
more yourself then I would still review some perl CMS like
http://catalyst.perl.org/  to identify perl module sets which provide
desired functionality and behave nicely when used together.

Have fun,

More information about the Nottingham mailing list