X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pod%2Fperl.pod;h=e17f309a90fc3e2bb879e11ac14ae4e7beb34e5c;hb=938c8732ceb115a707f725327a631eb35319ba87;hp=f954e10e5fcdda03a9fa801b38643d2d4a72afbb;hpb=c22a0cd5b5367764e384c02fc6f17451ad760484;p=p5sagit%2Fp5-mst-13.2.git diff --git a/pod/perl.pod b/pod/perl.pod index f954e10..e17f309 100644 --- a/pod/perl.pod +++ b/pod/perl.pod @@ -12,85 +12,187 @@ B S<[ B<-sTuU> ]> S<[ B<-hv> ] [ B<-V>[:I] ]> S<[ B<-i>[I] ]> S<[ B<-e> I<'command'> ] [ B<--> ] [ I ] [ I ]...> -For ease of access, the Perl manual has been split up into several -sections: +If you're new to Perl, you should start with L, 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. + +=head2 Overview 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 + perlintro Perl introduction for beginners perltoc Perl documentation table of contents - perldata Perl data structures - perlsyn Perl syntax - 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 +=head2 Tutorials perlreftut Perl references short introduction - perlref Perl references, the rest of the story perldsc Perl data structures intro perllol Perl data structures: arrays of arrays + + perlrequick Perl regular expressions quick start + perlretut Perl regular expressions tutorial + perlboot Perl OO tutorial for beginners perltoot Perl OO tutorial, part 1 - perltootc Perl OO tutorial, part 2 + perltooc Perl OO tutorial, part 2 + perlbot Perl OO tricks and examples + + perlstyle Perl style guide + + perlcheat Perl cheat sheet + perltrap Perl traps for the unwary + perldebtut Perl debugging tutorial + + perlfaq Perl frequently asked questions + 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 + +=head2 Reference Manual + + perlsyn Perl syntax + perldata Perl data structures + perlop Perl operators and precedence + perlsub Perl subroutines + perlfunc Perl built-in functions + perlopentut Perl open() tutorial + perlpacktut Perl pack() and unpack() tutorial + perlpod Perl plain old documentation + perlpodspec Perl plain old documentation format specification + perlrun Perl execution and options + perldiag Perl diagnostic messages + perllexwarn Perl warnings and their control + perldebug Perl debugging + perlvar Perl predefined variables + perlre Perl regular expressions, the rest of the story + perlreref Perl regular expressions quick reference + perlref Perl references, the rest of the story + perlform Perl formats perlobj Perl objects perltie Perl objects hidden behind simple variables - perlbot Perl OO tricks and examples + perldbmfilter Perl DBM filters + 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 + perlothrtut Old Perl threads tutorial - 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 + perluniintro Perl Unicode introduction + 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 + perlmodstyle Perl modules: how to write modules with style + perlmodinstall Perl modules: how to install from CPAN + perlnewmod Perl modules: preparing a new module for distribution + + perlutil utilities packaged with the Perl distribution + + perlcompile Perl compiler suite intro + + perlfilter Perl source filters + +=head2 Internals and C Language Interface 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 + 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 + +=head2 Miscellaneous + + perlbook Perl book information + perltodo Perl things to do + + perldoc Look up Perl documentation in Pod format + perlhist Perl history records + perldelta Perl changes since previous version + perl591delta Perl changes in version 5.9.1 + perl590delta Perl changes in version 5.9.0 + perl584delta Perl changes in version 5.8.4 + perl583delta Perl changes in version 5.8.3 + perl582delta Perl changes in version 5.8.2 + perl581delta Perl changes in version 5.8.1 + perl58delta Perl changes in version 5.8.0 + perl573delta Perl changes in version 5.7.3 + perl572delta Perl changes in version 5.7.2 + perl571delta Perl changes in version 5.7.1 + perl570delta Perl changes in version 5.7.0 + perl561delta Perl changes in version 5.6.1 + perl56delta Perl changes in version 5.6 + perl5005delta Perl changes in version 5.005 + perl5004delta Perl changes in version 5.004 + + perlartistic Perl Artistic License + perlgpl GNU General Public License + +=head2 Language-Specific + + 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) - perlamiga Perl notes for Amiga +=head2 Platform-Specific + + perlaix Perl notes for AIX + perlamiga Perl notes for AmigaOS + perlapollo Perl notes for Apollo DomainOS + perlbeos Perl notes for BeOS + perlbs2000 Perl notes for POSIX-BC BS2000 + perlce Perl notes for WinCE perlcygwin Perl notes for Cygwin + perldgux Perl notes for DG/UX perldos Perl notes for DOS + perlepoc Perl notes for EPOC + perlfreebsd Perl notes for FreeBSD perlhpux Perl notes for HP-UX + perlhurd Perl notes for Hurd + perlirix Perl notes for Irix + perlmachten Perl notes for Power MachTen + perlmacos Perl notes for Mac OS (Classic) + perlmacosx Perl notes for Mac OS X + perlmint Perl notes for MiNT + perlmpeix Perl notes for MPE/iX + perlnetware Perl notes for NetWare perlos2 Perl notes for OS/2 perlos390 Perl notes for OS/390 + perlos400 Perl notes for OS/400 + perlplan9 Perl notes for Plan 9 + perlqnx Perl notes for QNX + perlsolaris Perl notes for Solaris + perltru64 Perl notes for Tru64 + perluts Perl notes for UTS + 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, -the suggested order will tend to reduce the number of forward references.) By default, the manpages listed above are installed in the F directory. @@ -160,58 +262,81 @@ But wait, there's more... Begun in 1993 (see L), 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, L, and L. -=item * embeddable and extensible +=item * + +embeddable and extensible Described in L, L, L, L, L, and L. -=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 and L. -=item * subroutines can now be overridden, autoloaded, and prototyped +=item * + +subroutines can now be overridden, autoloaded, and prototyped Described in L. -=item * arbitrarily nested data structures and anonymous functions +=item * + +arbitrarily nested data structures and anonymous functions Described in L, L, L, and L. -=item * object-oriented programming +=item * -Described in L, L, and L. +object-oriented programming -=item * compilability into C code or Perl bytecode +Described in L, L, L, L, +and L. -Described in L and L. +=item * -=item * support for light-weight processes (threads) +support for light-weight processes (threads) -Described in L and L. +Described in L and L. -=item * support for internationalization, localization, and Unicode +=item * -Described in L and L. +support for Unicode, internationalization, and localization -=item * lexical scoping +Described in L, L and L. + +=item * + +lexical scoping Described in L. -=item * regular expression enhancements +=item * + +regular expression enhancements Described in L, with additional examples in L. -=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, L and L. -Described in L. +=item * -=item * POSIX 1003.1 compliant library +POSIX 1003.1 compliant library Described in L. @@ -222,148 +347,8 @@ Okay, that's I enough hype. =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 - LynxOS - 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 +for a listing. =head1 ENVIRONMENT @@ -387,12 +372,14 @@ Perl developers, please write to perl-thanks@perl.org . a2p awk to perl translator s2p sed to perl translator - http://www.perl.com/ the Perl Home Page - http://www.perl.com/CPAN the Comprehensive Perl Archive + 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) =head1 DIAGNOSTICS -The B<-w> switch produces some lovely diagnostics. +The C pragma (and the B<-w> switch) produces some +lovely diagnostics. See L for explanations of all Perl's diagnostics. The C pragma automatically turns Perl's normally terse warnings @@ -430,8 +417,8 @@ affected by wraparound). 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) to perlbug@perl.com . If you've succeeded -in compiling perl, the perlbug script in the utils/ subdirectory +tree, or by C) to perlbug@perl.org . If you've succeeded +in compiling perl, the B script in the F subdirectory can be used to help mail in a bug report. Perl actually stands for Pathologically Eclectic Rubbish Lister, but