[
-e
'command' ]
[ -- ] [ programfile ] [ argument ]...>
If you're new to Perl, you should start with
the perlintro manpage
, which is a
general intro for beginners and provides some background to help you
navigate the rest of Perl's extensive documentation.
For ease of access, the Perl manual has been split up into several sections.
- perl Perl overview (this section)
- perlintro Perl introduction for beginners
- perltoc Perl documentation table of contents
- perlreftut Perl references short introduction
- perldsc Perl data structures intro
- perllol Perl data structures: arrays of arrays
- perlutil utilities packaged with the Perl distribution
- perlembed Perl ways to embed perl in your C or C++ application
- perldebguts Perl debugging guts and tips
- perlxstut Perl XS tutorial
- perlxs Perl XS application programming interface
- perlclib Internal replacements for standard C library functions
- perlguts Perl internal functions for those doing extensions
- perlcall Perl calling conventions from C
- perlapi Perl API listing (autogenerated)
- perlintern Perl internal functions (autogenerated)
- perliol C API for Perl's implementation of IO in Layers
- perlapio Perl internal IO abstraction interface
- perlcn Perl for Simplified Chinese (in EUC-CN)
- perljp Perl for Japanese (in EUC-JP)
- perlko Perl for Korean (in EUC-KR)
- perltw Perl for Traditional Chinese (in Big5)
By default, the manpages listed above are installed in the
/usr/local/man/ directory.
Extensive additional documentation for Perl modules is available. The
default configuration for perl will place this additional documentation
in the /usr/local/lib/perl5/man directory (or else in the man
subdirectory of the Perl library directory). Some of this additional
documentation is distributed standard with Perl, but you'll also find
documentation for third-party modules there.
You should be able to view Perl's documentation with your man(1)
program by including the proper directories in the appropriate start-up
files, or in the MANPATH environment variable. To find out where the
configuration has installed the manpages, type:
perl -V:man.dir
If the directories have a common stem, such as /usr/local/man/man1
and /usr/local/man/man3, you need only to add that stem
(/usr/local/man) to your man(1) configuration files or your MANPATH
environment variable. If they do not share a stem, you'll have to add
both stems.
If that doesn't work for some reason, you can still use the
supplied perldoc script to view module information. You might
also look into getting a replacement man program.
If something strange has gone wrong with your program and you're not
sure where you should look for help, try the
-w
switch first. It
will often point out exactly where the trouble is.
Perl is a language optimized for scanning arbitrary
text files, extracting information from those text files, and printing
reports based on that information. It's also a good language for many
system management tasks. The language is intended to be practical
(easy to use, efficient, complete) rather than beautiful (tiny,
elegant, minimal).
Perl combines (in the author's opinion, anyway) some of the best
features of C, sed, awk, and sh, so people familiar with
those languages should have little difficulty with it. (Language
historians will also note some vestiges of csh, Pascal, and even
BASIC-PLUS.) Expression syntax corresponds closely to C
expression syntax. Unlike most Unix utilities, Perl does not
arbitrarily limit the size of your data--if you've got the memory,
Perl can slurp in your whole file as a single string. Recursion is of
unlimited depth. And the tables used by hashes (sometimes called
``associative arrays'') grow as necessary to prevent degraded
performance. Perl can use sophisticated pattern matching techniques to
scan large amounts of data quickly. Although optimized for
scanning text, Perl can also deal with binary data, and can make dbm
files look like hashes. Setuid Perl scripts are safer than C programs
through a dataflow tracing mechanism that prevents many stupid
security holes.
If you have a problem that would ordinarily use sed or awk or
sh, but it exceeds their capabilities or must run a little faster,
and you don't want to write the silly thing in C, then Perl may be for
you. There are also translators to turn your sed and awk
scripts into Perl scripts.
But wait, there's more...
Begun in 1993 (see
the perlhist manpage
), Perl version 5 is nearly a complete
rewrite that provides the following additional benefits:
- modularity and reusability using innumerable modules
Described in
the perlmod manpage
,
the perlmodlib manpage
, and
the perlmodinstall manpage
.
- embeddable and extensible
Described in
the perlembed manpage
,
the perlxstut manpage
,
the perlxs manpage
,
the perlcall manpage
,
the perlguts manpage
, and the xsubpp manpage
.
- roll-your-own magic variables (including multiple simultaneous DBM
implementations)
Described in
the perltie manpage
and AnyDBM_File.
- subroutines can now be overridden, autoloaded, and prototyped
Described in
the perlsub manpage
.
- arbitrarily nested data structures and anonymous functions
Described in
the perlreftut manpage
,
the perlref manpage
,
the perldsc manpage
, and
the perllol manpage
.
- object-oriented programming
Described in
the perlobj manpage
,
the perlboot manpage
,
the perltoot manpage
,
the perltooc manpage
,
and
the perlbot manpage
.
- support for light-weight processes (threads)
Described in
the perlthrtut manpage
and the threads manpage
.
- support for Unicode, internationalization, and localization
Described in
the perluniintro manpage
,
the perllocale manpage
and Locale::Maketext.
- lexical scoping
Described in
the perlsub manpage
.
- regular expression enhancements
Described in
the perlre manpage
, with additional examples in
the perlop manpage
.
- enhanced debugger and interactive Perl environment,
with integrated editor support
Described in
the perldebtut manpage
,
the perldebug manpage
and
the perldebguts manpage
.
- POSIX 1003.1 compliant library
Described in POSIX.
Okay, that's definitely enough hype..
Perl is available for most operating systems, including virtually
all Unix-like platforms. See ``Supported Platforms''
for a listing.
See
the perlrun manpage
.
Larry Wall <larry@wall.org>, with the help of oodles of other folks.
If your Perl success stories and testimonials may be of help to others
who wish to advocate the use of Perl in their applications,
or if you wish to simply express your gratitude to Larry and the
Perl developers, please write to perl-thanks@perl.org .
"@INC" locations of perl libraries
- a2p awk to perl translator
- s2p sed to perl translator
http://www.perl.com/ the Perl Home Page
http://www.cpan.org/ the Comprehensive Perl Archive
http://www.perl.org/ Perl Mongers (Perl user groups)
The
use warnings
pragma (and the
-w
switch) produces some
lovely diagnostics.
See
the perldiag manpage
for explanations of all Perl's diagnostics. The C