S<[ B<-i>[I<extension>] ]> S<[ B<-e> I<'command'> ]
[ B<--> ] [ I<programfile> ] [ I<argument> ]...>
-For ease of access, the Perl manual has been split up into several
-sections:
+For ease of access, the Perl manual has been split up into several sections:
perl Perl overview (this section)
- perldelta Perl changes since previous version
- perl5005delta Perl changes in version 5.005
- perl5004delta Perl changes in version 5.004
perlfaq Perl frequently asked questions
perltoc Perl documentation table of contents
+ perlbook Perl book information
- perldata Perl data structures
perlsyn Perl syntax
+ perldata Perl data structures
perlop Perl operators and precedence
- perlre Perl regular expressions
- perlrun Perl execution and options
- perlfunc Perl builtin functions
- perlopentut Perl open() tutorial
- perlvar Perl predefined variables
perlsub Perl subroutines
- perlmod Perl modules: how they work
- perlmodlib Perl modules: how to write and use
- perlmodinstall Perl modules: how to install from CPAN
- perlform Perl formats
- perlunicode Perl unicode support
- perllocale Perl locale support
-
+ perlfunc Perl builtin functions
perlreftut Perl references short introduction
- perlref Perl references, the rest of the story
perldsc Perl data structures intro
+ perlrequick Perl regular expressions quick start
+ perlpod Perl plain old documentation
+ perlstyle Perl style guide
+ perltrap Perl traps for the unwary
+
+ perlrun Perl execution and options
+ perldiag Perl diagnostic messages
+ perllexwarn Perl warnings and their control
+ perldebtut Perl debugging tutorial
+ perldebug Perl debugging
+
+ perlvar Perl predefined variables
perllol Perl data structures: arrays of arrays
+ perlopentut Perl open() tutorial
+ perlretut Perl regular expressions tutorial
+
+ perlre Perl regular expressions, the rest of the story
+ perlref Perl references, the rest of the story
+
+ perlform Perl formats
+
perlboot Perl OO tutorial for beginners
perltoot Perl OO tutorial, part 1
perltootc Perl OO tutorial, part 2
perlobj Perl objects
- perltie Perl objects hidden behind simple variables
perlbot Perl OO tricks and examples
+ perltie Perl objects hidden behind simple variables
+
perlipc Perl interprocess communication
perlfork Perl fork() information
+ perlnumber Perl number semantics
perlthrtut Perl threads tutorial
- perllexwarn Perl warnings and their control
- perlfilter Perl source filters
- perldbmfilter Perl DBM filters
- perlcompile Perl compiler suite intro
- perldebug Perl debugging
- perldiag Perl diagnostic messages
- perlnumber Perl number semantics
- perlsec Perl security
- perltrap Perl traps for the unwary
perlport Perl portability guide
- perlstyle Perl style guide
+ perllocale Perl locale support
+ perlunicode Perl unicode support
+ perlebcdic Considerations for running Perl on EBCDIC platforms
- perlpod Perl plain old documentation
- perlbook Perl book information
+ perlsec Perl security
+
+ perlmod Perl modules: how they work
+ perlmodlib Perl modules: how to write and use
+ perlmodinstall Perl modules: how to install from CPAN
+ 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
perlembed Perl ways to embed perl in your C or C++ application
- perlapio Perl internal IO abstraction interface
- perlxs Perl XS application programming interface
+ 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
+ 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)
-
+ perliol C API for Perl's implementation of IO in Layers
+ perlapio Perl internal IO abstraction interface
perltodo Perl things to do
perlhack Perl hackers guide
+
perlhist Perl history records
+ perldelta Perl changes since previous version
+ perl572delta Perl changes in version 5.7.2
+ perl571delta Perl changes in version 5.7.1
+ perl570delta Perl changes in version 5.7.0
+ perl56delta Perl changes in version 5.6
+ 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
+ perldgux Perl notes for DG/UX
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
+ perltru64 Perl notes for Tru64
+ perlvmesa Perl notes for VM/ESA
perlvms Perl notes for VMS
+ perlvos Perl notes for Stratus VOS
perlwin32 Perl notes for Windows
(If you're intending to read these straight through for the first time,
Begun in 1993 (see L<perlhist>), Perl version 5 is nearly a complete
rewrite that provides the following additional benefits:
-=over
+=over 4
+
+=item *
-=item * modularity and reusability using innumerable modules
+modularity and reusability using innumerable modules
Described in L<perlmod>, L<perlmodlib>, and L<perlmodinstall>.
-=item * embeddable and extensible
+=item *
+
+embeddable and extensible
Described in L<perlembed>, L<perlxstut>, L<perlxs>, L<perlcall>,
L<perlguts>, and L<xsubpp>.
-=item * roll-your-own magic variables (including multiple simultaneous DBM implementations)
+=item *
+
+roll-your-own magic variables (including multiple simultaneous DBM implementations)
Described in L<perltie> and L<AnyDBM_File>.
-=item * subroutines can now be overridden, autoloaded, and prototyped
+=item *
+
+subroutines can now be overridden, autoloaded, and prototyped
Described in L<perlsub>.
-=item * arbitrarily nested data structures and anonymous functions
+=item *
+
+arbitrarily nested data structures and anonymous functions
Described in L<perlreftut>, L<perlref>, L<perldsc>, and L<perllol>.
-=item * object-oriented programming
+=item *
+
+object-oriented programming
Described in L<perlobj>, L<perltoot>, and L<perlbot>.
-=item * compilability into C code or Perl bytecode
+=item *
+
+compilability into C code or Perl bytecode
Described in L<B> and L<B::Bytecode>.
-=item * support for light-weight processes (threads)
+=item *
+
+support for light-weight processes (threads)
Described in L<perlthrtut> and L<Thread>.
-=item * support for internationalization, localization, and Unicode
+=item *
+
+support for internationalization, localization, and Unicode
Described in L<perllocale> and L<utf8>.
-=item * lexical scoping
+=item *
+
+lexical scoping
Described in L<perlsub>.
-=item * regular expression enhancements
+=item *
+
+regular expression enhancements
Described in L<perlre>, with additional examples in L<perlop>.
-=item * enhanced debugger and interactive Perl environment, with integrated editor support
+=item *
+
+enhanced debugger and interactive Perl environment,
+with integrated editor support
Described in L<perldebug>.
-=item * POSIX 1003.1 compliant library
+=item *
+
+POSIX 1003.1 compliant library
Described in L<POSIX>.
=head1 AVAILABILITY
Perl is available for most operating systems, including virtually
-all Unix-like platforms.
-
-As of early March 2000 (the Perl release 5.6.0), the following
-platforms are able to build Perl from the standard source code
-distribution available at http://www.perl.com/CPAN/src/index.html
-
- AIX
- DOS DJGPP 1)
- FreeBSD
- HP-UX
- IRIX
- Linux
- MachTen
- MPE/iX
- NetBSD
- OpenBSD
- OS/2
- Rhapsody/Darwin 2)
- Solaris
- Tru64 UNIX 3)
- UNICOS
- UNICOS/mk
- VMS
- VOS
- Windows 3.1 1)
- Windows 95 1) 4)
- Windows 98 1) 4)
- Windows NT 1) 4)
-
- 1) in DOS mode either the DOS or OS/2 ports can be used
- 2) new in 5.6.0: the BSD/NeXT-based UNIX of Mac OS X
- 3) formerly known as Digital UNIX and before that DEC OSF/1
- 4) compilers: Borland, Cygwin, Mingw32 EGCS/GCC, VC++
-
-The following platforms worked for the previous major release
-(5.005_03 being the latest maintenance release of that, as of early
-March 2000), but be did not manage to test these in time for the 5.6.0
-release of Perl. There is a very good chance that these will work
-just fine with 5.6.0.
-
- A/UX
- BeOS
- BSD/OS
- DG/UX
- DYNIX/ptx
- DomainOS
- Hurd
- NextSTEP
- OpenSTEP
- PowerMAX
- QNX
- SCO ODT/OSR
- SunOS
- SVR4
- Ultrix
-
-The following platform worked for the previous major release (5.005_03
-being the latest maintenance release of that, as of early March 2000).
-However, standardization on UTF-8 as the internal string representation
-in 5.6.0 has introduced incompatibilities in this EBCDIC platform.
-Support for this platform may be enabled in a future release:
-
- OS390 1)
-
- 1) Previously known as MVS, or OpenEdition MVS.
-
-Strongly related to the OS390 platform by also being EBCDIC-based
-mainframe platforms are the following platforms:
-
- BS2000
- VM/ESA
-
-These are also not expected to work under 5.6.0 for the same reasons
-as OS390. Contact the mailing list perl-mvs@perl.org for more details.
-
-MacOS (Classic, pre-X) is almost 5.6.0-ready; building from the source
-does work with 5.6.0, but additional MacOS specific source code is needed
-for a complete port. Contact the mailing list macperl-porters@macperl.org
-for more more information.
-
-The following platforms have been known to build Perl from source in
-the past, but we haven't been able to verify their status for the
-current release, either because the hardware/software platforms are
-rare or because we don't have an active champion on these
-platforms--or both:
-
- 3b1
- AmigaOS
- ConvexOS
- CX/UX
- DC/OSx
- DDE SMES
- DOS EMX
- Dynix
- EP/IX
- ESIX
- FPS
- GENIX
- Greenhills
- ISC
- MachTen 68k
- MiNT
- MPC
- NEWS-OS
- Opus
- Plan 9
- PowerUX
- RISC/os
- Stellar
- SVR2
- TI1500
- TitanOS
- Unisys Dynix
- Unixware
-
-Support for the following platform is planned for a future Perl release:
-
- Netware
-
-The following platforms have their own source code distributions and
-binaries available via http://www.perl.com/CPAN/ports/index.html:
-
- Perl release
-
- AS/400 5.003
- Netware 5.003_07
- Tandem Guardian 5.004
-
-The following platforms have only binaries available via
-http://www.perl.com/CPAN/ports/index.html:
-
- Perl release
-
- Acorn RISCOS 5.005_02
- AOS 5.002
- LynxOS 5.004_02
-
-Although we do suggest that you always build your own Perl from
-the source code, both for maximal configurability and for security,
-in case you are in a hurry you can check
-http://www.perl.com/CPAN/ports/index.html for binary distributions.
+all Unix-like platforms. See L<perlport/"Supported Platforms">
+for a listing.
=head1 ENVIRONMENT
=head1 DIAGNOSTICS
-The B<-w> switch produces some lovely diagnostics.
+The C<use warnings> pragma (and the B<-w> switch) produces some
+lovely diagnostics.
See L<perldiag> for explanations of all Perl's diagnostics. The C<use
diagnostics> pragma automatically turns Perl's normally terse warnings
You may mail your bug reports (be sure to include full configuration
information as output by the myconfig program in the perl source
-tree, or by C<perl -V>) to perlbug@perl.com . If you've succeeded
-in compiling perl, the perlbug script in the utils/ subdirectory
+tree, or by C<perl -V>) to perlbug@perl.org . If you've succeeded
+in compiling perl, the B<perlbug> script in the F<utils/> subdirectory
can be used to help mail in a bug report.
Perl actually stands for Pathologically Eclectic Rubbish Lister, but