Use PERL=../miniperl
[p5sagit/p5-mst-13.2.git] / pod / perl.pod
index bab8a91..5f3918c 100644 (file)
@@ -8,6 +8,7 @@ For ease of access, the Perl manual has been split up into a number
 of sections:
 
     perl       Perl overview (this section)
+    perltoc    Perl documentation table of contents
     perldata   Perl data structures
     perlsyn    Perl syntax
     perlop     Perl operators and precedence
@@ -17,8 +18,11 @@ of sections:
     perlvar    Perl predefined variables
     perlsub    Perl subroutines
     perlmod    Perl modules
-    perlref    Perl references and nested data structures
+    perlref    Perl references 
+    perldsc    Perl data structures intro
+    perllol    Perl data structures: lists of lists
     perlobj    Perl objects
+    perltie    Perl objects hidden behind simple variables
     perlbot    Perl OO tricks and examples
     perldebug  Perl debugging
     perldiag   Perl diagnostic messages
@@ -27,10 +31,10 @@ of sections:
     perlsec    Perl security
     perltrap   Perl traps for the unwary
     perlstyle  Perl style guide
-    perlapi    Perl application programming interface
+    perlxs     Perl XS application programming interface
+    perlxstut  Perl XS tutorial
     perlguts   Perl internal functions for those doing extensions 
     perlcall   Perl calling conventions from C
-    perlovl    Perl overloading semantics
     perlembed  Perl how to embed perl in your C or C++ app
     perlpod    Perl plain old documentation
     perlbook   Perl book information
@@ -38,21 +42,21 @@ of sections:
 (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.)
 
-Additional documentation for perl modules is available in
-the F</usr/local/lib/perl5/man/man3> directory.  You can view this
-with a man(1) program by including the following in the
-appropriate start-up files.  (You may have to adjust the path to
-match $Config{'man3dir'}.)
+Additional documentation for Perl modules is available in the
+F</usr/local/man/> directory.  Some of this is distributed standard with
+Perl, but you'll also find third-party modules there.  You should be able
+to view this with your man(1) program by including the proper directories
+in the appropriate start-up files.  To find out where these are, type:
 
-    .profile (for sh, bash or ksh users):
-       MANPATH=$MANPATH:/usr/local/lib/perl5/man
-       export MANPATH
+    perl -le 'use Config; print "@Config{man1dir,man3dir}"'
 
-    .login (for csh or tcsh users):
-       setenv MANPATH $MANPATH:/usr/local/lib/perl5/man
+If the directories were F</usr/local/man/man1> and F</usr/local/man/man3>,
+you would only need to add F</usr/local/man> to your MANPATH.  If 
+they are different, 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.
+supplied F<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 B<-w> switch first.  It
@@ -202,7 +206,12 @@ used.
 
 A colon-separated list of directories in which to look for Perl library
 files before looking in the standard library and the current
-directory.  If PERL5LIB is not defined, PERLLIB is used.
+directory.  If PERL5LIB is not defined, PERLLIB is used.  When running
+taint checks (because the script was running setuid or setgid, or the
+B<-T> switch was used), neither variable is used.  The script should
+instead say
+
+    use lib "/my/directory";
 
 =item PERL5DB
 
@@ -216,7 +225,6 @@ A colon-separated list of directories in which to look for Perl library
 files before looking in the standard library and the current
 directory.  If PERL5LIB is defined, PERLLIB is not used.
 
-
 =back
 
 Apart from these, Perl uses no other environment variables, except
@@ -231,7 +239,7 @@ honest:
 
 =head1 AUTHOR
 
-Larry Wall <F<lwall@netlabs.com.>, with the help of oodles of other folks.
+Larry Wall E<lt><F<lwall@netlabs.com>E<gt>, with the help of oodles of other folks.
 
 =head1 FILES
 
@@ -241,6 +249,7 @@ Larry Wall <F<lwall@netlabs.com.>, with the help of oodles of other folks.
 =head1 SEE ALSO
 
  a2p   awk to perl translator
+
  s2p   sed to perl translator
 
 =head1 DIAGNOSTICS
@@ -265,7 +274,8 @@ switch?
 The B<-w> switch is not mandatory.
 
 Perl is at the mercy of your machine's definitions of various
-operations such as type casting, atof() and sprintf().
+operations such as type casting, atof() and sprintf().  The latter
+can even trigger a coredump when passed ludicrous input values.
 
 If your stdio requires a seek or eof between reads and writes on a
 particular stream, so does Perl.  (This doesn't apply to sysread()
@@ -277,6 +287,11 @@ given identifier may not be longer than 255 characters, and no
 component of your PATH may be longer than 255 if you use B<-S>.  A regular
 expression may not compile to more than 32767 bytes internally.
 
+See the perl bugs database at F<http://perl.com/perl/bugs/>.  You may
+mail your bug reports (be sure to include full configuration information
+as output by the myconfig program in the perl source tree) to
+F<perlbug@perl.com>.
+
 Perl actually stands for Pathologically Eclectic Rubbish Lister, but
 don't tell anyone I said that.
 
@@ -285,6 +300,6 @@ don't tell anyone I said that.
 The Perl motto is "There's more than one way to do it."  Divining
 how many more is left as an exercise to the reader.
 
-The three principle virtues of a programmer are Laziness,
+The three principal virtues of a programmer are Laziness,
 Impatience, and Hubris.  See the Camel Book for why.