FAQ tweak for Vanina Arca <varca@baufest.com>.
[p5sagit/p5-mst-13.2.git] / pod / perl.pod
index 3b4d785..eb2d60d 100644 (file)
@@ -12,63 +12,128 @@ B<perl>    S<[ B<-sTuU> ]> S<[ B<-hv> ] [ B<-V>[:I<configvar>] ]>
     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 a number
-of 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
-    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
-    perldbmfilter      Perl DBM Filters
 
-    perldebug          Perl debugging
-    perldiag           Perl diagnostic messages
-    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 AmigaOS
+    perlapollo         Perl notes for Apollo DomainOS
+    perlbeos           Perl notes for BeOS
+    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
+    perlhurd           Perl notes for Hurd
+    perlmachten                Perl notes for Power MachTen
+    perlmacos          Perl notes for Mac OS (Classic)
+    perlmint           Perl notes for MiNT
+    perlmpeix          Perl notes for MPE/iX
+    perlos2            Perl notes for OS/2
+    perlos390          Perl notes for OS/390
+    perlplan9          Perl notes for Plan 9
+    perlqnx            Perl notes for QNX
+    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,
 the suggested order will tend to reduce the number of forward references.)
@@ -117,17 +182,17 @@ Perl combines (in the author's opinion, anyway) some of the best
 features of C, B<sed>, B<awk>, and B<sh>, so people familiar with
 those languages should have little difficulty with it.  (Language
 historians will also note some vestiges of B<csh>, Pascal, and even
-BASIC-PLUS.)  Expression syntax corresponds quite closely to C
+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 very quickly.  Although optimized for
+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 which prevents many stupid
+through a dataflow tracing mechanism that prevents many stupid
 security holes.
 
 If you have a problem that would ordinarily use B<sed> or B<awk> or
@@ -141,58 +206,85 @@ But wait, there's more...
 Begun in 1993 (see L<perlhist>), Perl version 5 is nearly a complete
 rewrite that provides the following additional benefits:
 
-=over
+=over 4
 
-=item * modularity and reusability using innumerable modules 
+=item *
+
+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 intregrated 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>.
 
@@ -202,76 +294,9 @@ Okay, that's I<definitely> enough hype.
 
 =head1 AVAILABILITY
 
-Perl is available for the vast majority of operating system platforms,
-including most Unix-like platforms. The following situation is as of
-February 1999 and Perl 5.005_03.
-
-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             Linux           SCO ODT/OSR
-        A/UX            MachTen         Solaris
-        BeOS            MPE/iX          SunOS
-        BSD/OS          NetBSD          SVR4
-        DG/UX           NextSTEP        Tru64 UNIX      3)
-        DomainOS        OpenBSD         Ultrix                  
-        DOS DJGPP 1)    OpenSTEP        UNICOS                  
-        DYNIX/ptx       OS/2            VMS                     
-        FreeBSD         OS390     2)    VOS 
-        HP-UX           PowerMAX        Windows 3.1     1)      
-        Hurd            QNX             Windows 95      1) 4)   
-        IRIX                            Windows 98      1) 4)   
-                                        Windows NT      1) 4)
-
-        1) in DOS mode either the DOS or OS/2 ports can be used
-        2) formerly known as MVS
-        3) formerly known as Digital UNIX and before that DEC OSF/1     
-        4) compilers: Borland, Cygwin32, Mingw32 EGCS/GCC, VC++
-                                        
-The following platforms have been known to build Perl from the source
-but for the Perl release 5.005_03 we haven't been able to verify them,
-either because the hardware/software platforms are rather rare or
-because we don't have an active champion on these platforms--or both.
-                                       
-        3b1             FPS             Plan 9
-        AmigaOS         GENIX           PowerUX
-        ConvexOS        Greenhills      RISC/os         
-        CX/UX           ISC             Stellar         
-        DC/OSx          MachTen 68k     SVR2            
-        DDE SMES        MiNT            TI1500          
-        DOS EMX         MPC             TitanOS         
-        Dynix           NEWS-OS         UNICOS/mk       
-        EP/IX           Opus            Unisys Dynix    
-        ESIX                           Unixware        
-
-The following platforms are planned to be supported in the standard
-source code distribution of the Perl release 5.006 but are not
-supported in the Perl release 5.005_03:
-
-        BS2000
-       Netware
-       Rhapsody
-        VM/ESA
-
-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
-       MacOS                   5.004
-       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
+Perl is available for most operating systems, including virtually
+all Unix-like platforms.  See L<perlport/"Supported Platforms">
+for a listing.
 
 =head1 ENVIRONMENT
 
@@ -296,11 +321,12 @@ Perl developers, please write to perl-thanks@perl.org .
  s2p   sed to perl translator
 
  http://www.perl.com/      the Perl Home Page
- http://www.perl.com/CPAN   the Comphrehensive Perl Archive
+ http://www.perl.com/CPAN   the Comprehensive Perl Archive
 
 =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
@@ -308,7 +334,7 @@ and errors into these longer forms.
 
 Compilation errors will tell you the line number of the error, with an
 indication of the next token or token type that was to be examined.
-(In the case of a script passed to Perl via B<-e> switches, each
+(In a script passed to Perl via B<-e> switches, each
 B<-e> is counted as one line.)
 
 Setuid scripts have additional constraints that can produce error
@@ -338,8 +364,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<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