Perl documentation is written in a language known as pod (plain old documentation). Pod is a set of simple tags that can be processed to produce documentation in the style of Unix manpages. There are also several utility programs available that process pod text and generate output in different formats. Pod tags can be intermixed with Perl commands or can be saved in a separate file, which usually has a .pod extension. The pod tags and the utility programs that are included in the Perl distribution are described in Chapter 4, "The Perl Language".
On Unix, the standard Perl installation procedure generates manpages for the Perl documentation from their pod format, although your system administrator might also choose to install the documentation as HTML files. You can also use this procedure to generate manpages for CPAN modules when you install them. You might need to modify your MANPATH environment variable to include the path to the Perl manpages, but then you should be able to read the documentation with the man command. In addition, Perl comes with its own command, perldoc, which formats the pod documentation and displays it. perldoc is particularly useful for reading module documentation, which might not be installed as manpages; you can also use it for reading the core Perl documentation.
The ActiveState Win32 port comes with documentation in HTML format; you can find it in the /docs subdirectory of the distribution. Documentation specific to ActiveState's Perl for Win32 is installed in the /docs/Perl-Win32 subdirectory.
Perl comes with lots of online documentation. To make life easier, the manpages are divided into separate sections so you don't have to wade through hundreds of pages of text to find what you are looking for. You can read them with either the man command or perldoc. Run man perl or perldoc perl to read the top-level page. This page in turn directs you to more specific pages. Or, if you know which page you want, you can go directly there by using:
or:% man perlvar
% perldoc perlvar
The following table lists the sections in a logical order for reading through them:
Section |
Description |
---|---|
perl |
Overview (the top level) |
perldelta |
Changes since previous version |
perlfaq |
Frequently asked questions |
perltoc |
Table of contents for Perl documentation |
perldata |
Data structures |
perlsyn |
Syntax |
perlop |
Operators and precedence |
perlre |
Regular expressions |
perlrun |
Execution and options |
perlfunc |
Built-in functions |
perlvar |
Predefined variables |
perlsub |
Subroutines |
perlmod |
How modules work |
perlmodlib |
How to write and use modules |
perlmodinstall |
How to install modules from CPAN |
perlform |
Formats |
perllocale |
Locale support |
perlref |
References |
perldsc |
Data structures introduction |
perllol |
Data structures: lists of lists |
perltoot |
OO tutorial |
perlobj |
Objects |
perltie |
Objects hidden behind simple variables |
perlbot |
OO tricks and examples |
perlipc |
Interprocess communication |
perldebug |
Debugging |
perldiag |
Diagnostic messages |
perlsec |
Security |
perltrap |
Traps for the unwary |
perlport |
Portability guide |
perlstyle |
Style guide |
perlpod |
Plain old documentation |
perlbook |
Book information |
perlembed |
Embedding Perl in your C or C++ application |
perlapio |
Internal I/O abstraction interface |
perlxs |
XS application programming interface |
perlxstut |
XS tutorial |
perlguts |
Internal functions for those doing extensions |
perlcall |
Calling conventions from C |
perlhist |
History records |
perlreftut |
Perl references short introduction |
perlrequick |
Perl regular expressions quick start |
perllexwarn |
Perl warnings and their control |
perldebtut |
Perl debugging tutorial |
perlopentut |
Perl open( ) tutorial |
perlretut |
Perl regular expressions tutorial |
perlboot |
Perl OO tutorial for beginners |
perltootc |
Perl OO tutorial, part 2 |
perlfork |
Perl fork( ) information |
perlnumber |
Perl number semantics |
perlthrtut |
Perl threads tutorial |
perlunicode |
Perl unicode support |
perlebcdic |
Considerations for running Perl on EBCDIC platforms |
perlnewmod |
Perl modules: preparing a new module for distribution |
perlfaq1 |
General questions about Perl |
perlfaq2 |
Obtaining and learning about Perl |
perlfaq3 |
Programming tools |
perlfaq4 |
Data manipulation |
perlfaq5 |
Files and formats |
perlfaq6 |
Regexes |
perlfaq7 |
Perl language issues |
perlfaq8 |
System interaction |
perlfaq9 |
Networking |
perlcompile |
Perl compiler suite intro |
perldebguts |
Perl debugging guts and tips |
perlclib |
Internal replacements for standard C library functions |
perlutil |
Utilities packaged with the Perl distribution |
perlfilter |
Perl source filters |
perldbmfilter |
Perl DBM filters |
perlapi |
Perl API listing (autogenerated) |
perlintern |
Perl internal functions (autogenerated) |
perltodo |
Perl things to do |
perlhack |
Perl hackers guide |
perl5005delta |
Perl changes in Version 5.005 |
perl5004delta |
Perl changes in Version 5.004 |
perlaix |
Perl notes for AIX |
perlamiga |
Perl notes for Amiga |
perlbs2000 |
Perl notes for POSIX-BC BS2000 |
perlcygwin |
Perl notes for Cygwin |
perldos |
Perl notes for DOS |
perlepoc |
Perl notes for EPOC |
perlhpux |
Perl notes for HP-UX |
perlmachten |
Perl notes for Power MachTen |
perlmacos |
Perl notes for Mac OS (Classic) |
perlmpeix |
Perl notes for MPE/iX |
perlos2 |
Perl notes for OS/2 |
perlos390 |
Perl notes for OS/390 |
perlsolaris |
Perl notes for Solaris |
perlvmesa |
Perl notes for VM/ESA |
perlvms |
Perl notes for VMS |
perlvos |
Perl notes for Stratus VOS |
perlwin32 |
Perl notes for Windows |
perl561delta.pod |
What's new in Perl v5.6.x (added in 5.8) |
perl56delta.pod |
What's new in Perl v5.6.0 (added in 5.8) |
perl570delta.pod |
What's new in Perl v5.7.0 (added in 5.8) |
perl571delta.pod |
What's new in Perl v5.7.1 (added in 5.8) |
perl572delta.pod |
What's new in Perl v5.7.2 (added in 5.8) |
perlapollo.pod |
Perl on Apollo DomainOS (added in 5.8) |
perlbeos.pod |
Perl on BeOS (added in 5.8) |
perlce.pod |
Perl on Windows CE (added in 5.8) |
perldgux.pod |
Perl on DG/UX (added in 5.8) |
perlhurd.pod |
Perl on GNU Hurd (added in 5.8) |
perlintro.pod |
A brief introduction and overview of Perl (added in 5.8) |
perliol.pod |
C API for Perl's implementation of I/O in Layers (added in 5.8) |
perlmint.pod |
Perl on Atari MiNT (added in 5.8) |
perlmodstyle.pod |
Perl module style guide (added in 5.8) |
perlnetware.pod |
Perl on Netware 5.x (added in 5.8) |
perlothrtut.pod |
Old tutorial on threads in Perl (added in 5.8) |
perlpacktut.pod |
Tutorial on pack and unpack |
perlplan9.pod |
Perl on Plan-9 (added in 5.8) |
perlpodspec.pod |
Plain Old Documentation; format specification and notes (added in 5.8) |
perlqnx.pod |
Perl on QNX (added in 5.8) |
perltooc.pod |
Tom's OO Tutorial for Class Data in Perl (added in 5.8) |
perltru64.pod |
Perl Version 5 on Tru64 systems (added in 5.8) |
perluniintro.pod |
Perl Unicode introduction (added in 5.8) |
perluts.pod |
Copyright © 2002 O'Reilly & Associates. All rights reserved.