X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pod%2Fperltoc.pod;h=0610509af914dc69813a33e9214be661b8b1a0a2;hb=363c40c40eaf5d0cfd92f460a3f838c41f9756ad;hp=6262f4d12769cdcd5b5f4a6c6811cb100d8c59ac;hpb=3ea7755680302231fb5fb2feb962b211d651338f;p=p5sagit%2Fp5-mst-13.2.git diff --git a/pod/perltoc.pod b/pod/perltoc.pod index 6262f4d..0610509 100644 --- a/pod/perltoc.pod +++ b/pod/perltoc.pod @@ -1,4 +1,8 @@ +# !!!!!!! DO NOT EDIT THIS FILE !!!!!!! +# This file is autogenerated by buildtoc from all the other pods. +# Edit those files and run buildtoc --build-toc to effect changes. + =head1 NAME perltoc - perl documentation table of contents @@ -103,111 +107,136 @@ Parentheses for capturing, Other regexp features =back -=head2 perlfaq - frequently asked questions about Perl ($Date: 2003/01/31 -17:37:17 $) +=head2 perlreftut - Mark's very short tutorial about references =over 4 =item DESCRIPTION +=item Who Needs Complicated Data Structures? + +=item The Solution + +=item Syntax + =over 4 -=item Where to get the perlfaq +=item Making References -=item How to contribute to the perlfaq +=item Using References -=item What will happen if you mail your Perl programming problems to the -authors +=item An Example + +=item Arrow Rule =back -=item Credits +=item Solution -=item Author and Copyright Information +=item The Rest + +=item Summary + +=item Credits =over 4 -=item Bundled Distributions +=item Distribution Conditions -=item Disclaimer +=back =back -=item Table of Contents +=head2 perldsc - Perl Data Structures Cookbook -perlfaq - this document, perlfaq1 - General Questions About Perl, perlfaq2 -- Obtaining and Learning about Perl, perlfaq3 - Programming Tools, perlfaq4 -- Data Manipulation, perlfaq5 - Files and Formats, perlfaq6 - Regular -Expressions, perlfaq7 - General Perl Language Issues, perlfaq8 - System -Interaction, perlfaq9 - Networking +=over 4 -=item The Questions +=item DESCRIPTION -=over 4 +arrays of arrays, hashes of arrays, arrays of hashes, hashes of hashes, +more elaborate constructs -=item L: General Questions About Perl +=item REFERENCES -=item L: Obtaining and Learning about Perl +=item COMMON MISTAKES -=item L: Programming Tools +=item CAVEAT ON PRECEDENCE -=item L: Data Manipulation +=item WHY YOU SHOULD ALWAYS C -=item L: Files and Formats +=item DEBUGGING -=item L: Regular Expressions +=item CODE EXAMPLES -=item L: General Perl Language Issues +=item ARRAYS OF ARRAYS -=item L: System Interaction +=over 4 -=item L: Networking +=item Declaration of an ARRAY OF ARRAYS -=back +=item Generation of an ARRAY OF ARRAYS + +=item Access and Printing of an ARRAY OF ARRAYS =back -=head2 perlbook - Perl book information +=item HASHES OF ARRAYS =over 4 -=item DESCRIPTION +=item Declaration of a HASH OF ARRAYS + +=item Generation of a HASH OF ARRAYS + +=item Access and Printing of a HASH OF ARRAYS =back -=head2 perlsyn - Perl syntax +=item ARRAYS OF HASHES =over 4 -=item DESCRIPTION +=item Declaration of an ARRAY OF HASHES -=over 4 +=item Generation of an ARRAY OF HASHES -=item Declarations +=item Access and Printing of an ARRAY OF HASHES -=item Simple Statements +=back -=item Compound Statements +=item HASHES OF HASHES -=item Loop Control +=over 4 -=item For Loops +=item Declaration of a HASH OF HASHES -=item Foreach Loops +=item Generation of a HASH OF HASHES -=item Basic BLOCKs and Switch Statements +=item Access and Printing of a HASH OF HASHES -=item Goto +=back -=item PODs: Embedded Documentation +=item MORE ELABORATE RECORDS -=item Plain Old Comments (Not!) +=over 4 + +=item Declaration of MORE ELABORATE RECORDS + +=item Declaration of a HASH OF COMPLEX RECORDS + +=item Generation of a HASH OF COMPLEX RECORDS =back +=item Database Ties + +=item SEE ALSO + +=item AUTHOR + =back -=head2 perldata - Perl data types +=head2 perllol - Manipulating Arrays of Arrays in Perl =over 4 @@ -215,533 +244,405 @@ Interaction, perlfaq9 - Networking =over 4 -=item Variable names - -=item Context - -=item Scalar values - -=item Scalar value constructors +=item Declaration and Access of Arrays of Arrays -=item List value constructors +=item Growing Your Own -=item Subscripts +=item Access and Printing =item Slices -=item Typeglobs and Filehandles - =back =item SEE ALSO +=item AUTHOR + =back -=head2 perlop - Perl operators and precedence +=head2 perlrequick - Perl regular expressions quick start =over 4 -=item SYNOPSIS - =item DESCRIPTION +=item The Guide + =over 4 -=item Terms and List Operators (Leftward) +=item Simple word matching -=item The Arrow Operator +=item Using character classes -=item Auto-increment and Auto-decrement +=item Matching this or that -=item Exponentiation +=item Grouping things and hierarchical matching -=item Symbolic Unary Operators +=item Extracting matches -=item Binding Operators +=item Matching repetitions -=item Multiplicative Operators +=item More matching -=item Additive Operators +=item Search and replace -=item Shift Operators +=item The split operator -=item Named Unary Operators +=back -=item Relational Operators +=item BUGS -=item Equality Operators +=item SEE ALSO -=item Bitwise And +=item AUTHOR AND COPYRIGHT -=item Bitwise Or and Exclusive Or +=over 4 -=item C-style Logical And +=item Acknowledgments -=item C-style Logical Or +=back -=item C-style Logical Defined-Or +=back -=item Range Operators +=head2 perlretut - Perl regular expressions tutorial -=item Conditional Operator +=over 4 -=item Assignment Operators +=item DESCRIPTION -=item Comma Operator +=item Part 1: The basics -=item List Operators (Rightward) +=over 4 -=item Logical Not +=item Simple word matching -=item Logical And +=item Using character classes -=item Logical or, Defined or, and Exclusive Or +=item Matching this or that -=item C Operators Missing From Perl +=item Grouping things and hierarchical matching -unary &, unary *, (TYPE) +=item Extracting matches -=item Quote and Quote-like Operators +=item Matching repetitions -=item Regexp Quote-Like Operators +=item Building a regexp -?PATTERN?, m/PATTERN/cgimosx, /PATTERN/cgimosx, q/STRING/, C<'STRING'>, -qq/STRING/, "STRING", qr/STRING/imosx, qx/STRING/, `STRING`, qw/STRING/, -s/PATTERN/REPLACEMENT/egimosx, tr/SEARCHLIST/REPLACEMENTLIST/cds, -y/SEARCHLIST/REPLACEMENTLIST/cds, <, C, C, C, C, C<''>, C, C<"">, -C<``>, C, C, C<< >>, C, C, C, -C,, Interpolation of regular expressions, Optimization of -regular expressions +=item Part 2: Power tools -=item I/O Operators +=over 4 -=item Constant Folding +=item More on characters, strings, and character classes -=item Bitwise String Operators +=item Compiling and saving regular expressions -=item Integer Arithmetic +=item Embedding comments and modifiers in a regular expression -=item Floating-point Arithmetic +=item Non-capturing groupings -=item Bigger Numbers +=item Looking ahead and looking behind -=back +=item Using independent subexpressions to prevent backtracking -=back +=item Conditional expressions -=head2 perlsub - Perl subroutines +=item A bit of magic: executing Perl code in a regular expression -=over 4 +=item Pragmas and debugging -=item SYNOPSIS +=back -=item DESCRIPTION +=item BUGS -=over 4 +=item SEE ALSO -=item Private Variables via my() +=item AUTHOR AND COPYRIGHT -=item Persistent Private Variables +=over 4 -=item Temporary Values via local() +=item Acknowledgments -=item Lvalue subroutines +=back -Lvalue subroutines are EXPERIMENTAL +=back -=item Passing Symbol Table Entries (typeglobs) +=head2 perlboot - Beginner's Object-Oriented Tutorial -=item When to Still Use local() +=over 4 -=item Pass by Reference +=item DESCRIPTION -=item Prototypes +=over 4 -=item Constant Functions +=item If we could talk to the animals... -=item Overriding Built-in Functions +=item Introducing the method invocation arrow -=item Autoloading - -=item Subroutine Attributes +=item Invoking a barnyard -=back +=item The extra parameter of method invocation -=item SEE ALSO +=item Calling a second method to simplify things -=back +=item Inheriting the windpipes -=head2 perlfunc - Perl builtin functions +=item A few notes about @ISA -=over 4 +=item Overriding the methods -=item DESCRIPTION +=item Starting the search from a different place -=over 4 +=item The SUPER way of doing things -=item Perl Functions by Category +=item Where we're at so far... -Functions for SCALARs or strings, Regular expressions and pattern matching, -Numeric functions, Functions for real @ARRAYs, Functions for list data, -Functions for real %HASHes, Input and output functions, Functions for fixed -length data or records, Functions for filehandles, files, or directories, -Keywords related to the control flow of your perl program, Keywords related -to scoping, Miscellaneous functions, Functions for processes and process -groups, Keywords related to perl modules, Keywords related to classes and -object-orientedness, Low-level socket functions, System V interprocess -communication functions, Fetching user and group info, Fetching network -info, Time-related functions, Functions new in perl5, Functions obsoleted -in perl5 +=item A horse is a horse, of course of course -- or is it? -=item Portability +=item Invoking an instance method -=item Alphabetical Listing of Perl Functions +=item Accessing the instance data --I FILEHANDLE, -I EXPR, -I, abs VALUE, abs, accept -NEWSOCKET,GENERICSOCKET, alarm SECONDS, alarm, atan2 Y,X, bind SOCKET,NAME, -binmode FILEHANDLE, LAYER, binmode FILEHANDLE, bless REF,CLASSNAME, bless -REF, caller EXPR, caller, chdir EXPR, chmod LIST, chomp VARIABLE, chomp( -LIST ), chomp, chop VARIABLE, chop( LIST ), chop, chown LIST, chr NUMBER, -chr, chroot FILENAME, chroot, close FILEHANDLE, close, closedir DIRHANDLE, -connect SOCKET,NAME, continue BLOCK, cos EXPR, cos, crypt PLAINTEXT,SALT, -dbmclose HASH, dbmopen HASH,DBNAME,MASK, defined EXPR, defined, delete -EXPR, die LIST, do BLOCK, do SUBROUTINE(LIST), do EXPR, dump LABEL, dump, -each HASH, eof FILEHANDLE, eof (), eof, eval EXPR, eval BLOCK, exec LIST, -exec PROGRAM LIST, exists EXPR, exit EXPR, exp EXPR, exp, fcntl -FILEHANDLE,FUNCTION,SCALAR, fileno FILEHANDLE, flock FILEHANDLE,OPERATION, -fork, format, formline PICTURE,LIST, getc FILEHANDLE, getc, getlogin, -getpeername SOCKET, getpgrp PID, getppid, getpriority WHICH,WHO, getpwnam -NAME, getgrnam NAME, gethostbyname NAME, getnetbyname NAME, getprotobyname -NAME, getpwuid UID, getgrgid GID, getservbyname NAME,PROTO, gethostbyaddr -ADDR,ADDRTYPE, getnetbyaddr ADDR,ADDRTYPE, getprotobynumber NUMBER, -getservbyport PORT,PROTO, getpwent, getgrent, gethostent, getnetent, -getprotoent, getservent, setpwent, setgrent, sethostent STAYOPEN, setnetent -STAYOPEN, setprotoent STAYOPEN, setservent STAYOPEN, endpwent, endgrent, -endhostent, endnetent, endprotoent, endservent, getsockname SOCKET, -getsockopt SOCKET,LEVEL,OPTNAME, glob EXPR, glob, gmtime EXPR, goto LABEL, -goto EXPR, goto &NAME, grep BLOCK LIST, grep EXPR,LIST, hex EXPR, hex, -import, index STR,SUBSTR,POSITION, index STR,SUBSTR, int EXPR, int, ioctl -FILEHANDLE,FUNCTION,SCALAR, join EXPR,LIST, keys HASH, kill SIGNAL, LIST, -last LABEL, last, lc EXPR, lc, lcfirst EXPR, lcfirst, length EXPR, length, -link OLDFILE,NEWFILE, listen SOCKET,QUEUESIZE, local EXPR, localtime EXPR, -lock THING, log EXPR, log, lstat EXPR, lstat, m//, map BLOCK LIST, map -EXPR,LIST, mkdir FILENAME,MASK, mkdir FILENAME, msgctl ID,CMD,ARG, msgget -KEY,FLAGS, msgrcv ID,VAR,SIZE,TYPE,FLAGS, msgsnd ID,MSG,FLAGS, my EXPR, my -TYPE EXPR, my EXPR : ATTRS, my TYPE EXPR : ATTRS, next LABEL, next, no -Module VERSION LIST, no Module VERSION, no Module LIST, no Module, oct -EXPR, oct, open FILEHANDLE,EXPR, open FILEHANDLE,MODE,EXPR, open -FILEHANDLE,MODE,EXPR,LIST, open FILEHANDLE,MODE,REFERENCE, open FILEHANDLE, -opendir DIRHANDLE,EXPR, ord EXPR, ord, our EXPR, our EXPR TYPE, our EXPR : -ATTRS, our TYPE EXPR : ATTRS, pack TEMPLATE,LIST, package NAMESPACE, -package, pipe READHANDLE,WRITEHANDLE, pop ARRAY, pop, pos SCALAR, pos, -print FILEHANDLE LIST, print LIST, print, printf FILEHANDLE FORMAT, LIST, -printf FORMAT, LIST, prototype FUNCTION, push ARRAY,LIST, q/STRING/, -qq/STRING/, qr/STRING/, qx/STRING/, qw/STRING/, quotemeta EXPR, quotemeta, -rand EXPR, rand, read FILEHANDLE,SCALAR,LENGTH,OFFSET, read -FILEHANDLE,SCALAR,LENGTH, readdir DIRHANDLE, readline EXPR, readlink EXPR, -readlink, readpipe EXPR, recv SOCKET,SCALAR,LENGTH,FLAGS, redo LABEL, redo, -ref EXPR, ref, rename OLDNAME,NEWNAME, require VERSION, require EXPR, -require, reset EXPR, reset, return EXPR, return, reverse LIST, rewinddir -DIRHANDLE, rindex STR,SUBSTR,POSITION, rindex STR,SUBSTR, rmdir FILENAME, -rmdir, s///, scalar EXPR, seek FILEHANDLE,POSITION,WHENCE, seekdir -DIRHANDLE,POS, select FILEHANDLE, select, select RBITS,WBITS,EBITS,TIMEOUT, -semctl ID,SEMNUM,CMD,ARG, semget KEY,NSEMS,FLAGS, semop KEY,OPSTRING, send -SOCKET,MSG,FLAGS,TO, send SOCKET,MSG,FLAGS, setpgrp PID,PGRP, setpriority -WHICH,WHO,PRIORITY, setsockopt SOCKET,LEVEL,OPTNAME,OPTVAL, shift ARRAY, -shift, shmctl ID,CMD,ARG, shmget KEY,SIZE,FLAGS, shmread ID,VAR,POS,SIZE, -shmwrite ID,STRING,POS,SIZE, shutdown SOCKET,HOW, sin EXPR, sin, sleep -EXPR, sleep, socket SOCKET,DOMAIN,TYPE,PROTOCOL, socketpair -SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL, sort SUBNAME LIST, sort BLOCK LIST, -sort LIST, splice ARRAY,OFFSET,LENGTH,LIST, splice ARRAY,OFFSET,LENGTH, -splice ARRAY,OFFSET, splice ARRAY, split /PATTERN/,EXPR,LIMIT, split -/PATTERN/,EXPR, split /PATTERN/, split, sprintf FORMAT, LIST, format -parameter index, flags, vector flag, (minimum) width, precision, or maximum -width, size, order of arguments, sqrt EXPR, sqrt, srand EXPR, srand, stat -FILEHANDLE, stat EXPR, stat, study SCALAR, study, sub NAME BLOCK, sub NAME -(PROTO) BLOCK, sub NAME : ATTRS BLOCK, sub NAME (PROTO) : ATTRS BLOCK, -substr EXPR,OFFSET,LENGTH,REPLACEMENT, substr EXPR,OFFSET,LENGTH, substr -EXPR,OFFSET, symlink OLDFILE,NEWFILE, syscall LIST, sysopen -FILEHANDLE,FILENAME,MODE, sysopen FILEHANDLE,FILENAME,MODE,PERMS, sysread -FILEHANDLE,SCALAR,LENGTH,OFFSET, sysread FILEHANDLE,SCALAR,LENGTH, sysseek -FILEHANDLE,POSITION,WHENCE, system LIST, system PROGRAM LIST, syswrite -FILEHANDLE,SCALAR,LENGTH,OFFSET, syswrite FILEHANDLE,SCALAR,LENGTH, -syswrite FILEHANDLE,SCALAR, tell FILEHANDLE, tell, telldir DIRHANDLE, tie -VARIABLE,CLASSNAME,LIST, tied VARIABLE, time, times, tr///, truncate -FILEHANDLE,LENGTH, truncate EXPR,LENGTH, uc EXPR, uc, ucfirst EXPR, -ucfirst, umask EXPR, umask, undef EXPR, undef, unlink LIST, unlink, unpack -TEMPLATE,EXPR, unpack TEMPLATE, untie VARIABLE, unshift ARRAY,LIST, use -Module VERSION LIST, use Module VERSION, use Module LIST, use Module, use -VERSION, utime LIST, values HASH, vec EXPR,OFFSET,BITS, wait, waitpid -PID,FLAGS, wantarray, warn LIST, write FILEHANDLE, write EXPR, write, y/// +=item How to build a horse -=back +=item Inheriting the constructor -=back +=item Making a method work with either classes or instances -=head2 perlreftut - Mark's very short tutorial about references +=item Adding parameters to a method -=over 4 +=item More interesting instances -=item DESCRIPTION +=item A horse of a different color -=item Who Needs Complicated Data Structures? +=item Summary -=item The Solution +=back -=item Syntax +=item SEE ALSO -=over 4 +=item COPYRIGHT -=item Making References +=back -=item Using References +=head2 perltoot - Tom's object-oriented tutorial for perl -=item An Example +=over 4 -=item Arrow Rule +=item DESCRIPTION -=back +=item Creating a Class -=item Solution +=over 4 -=item The Rest +=item Object Representation -=item Summary +=item Class Interface -=item Credits +=item Constructors and Instance Methods -=over 4 +=item Planning for the Future: Better Constructors -=item Distribution Conditions +=item Destructors -=back +=item Other Object Methods =back -=head2 perldsc - Perl Data Structures Cookbook +=item Class Data =over 4 -=item DESCRIPTION - -arrays of arrays, hashes of arrays, arrays of hashes, hashes of hashes, -more elaborate constructs - -=item REFERENCES +=item Accessing Class Data -=item COMMON MISTAKES +=item Debugging Methods -=item CAVEAT ON PRECEDENCE +=item Class Destructors -=item WHY YOU SHOULD ALWAYS C +=item Documenting the Interface -=item DEBUGGING +=back -=item CODE EXAMPLES +=item Aggregation -=item ARRAYS OF ARRAYS +=item Inheritance =over 4 -=item Declaration of an ARRAY OF ARRAYS +=item Overridden Methods -=item Generation of an ARRAY OF ARRAYS +=item Multiple Inheritance -=item Access and Printing of an ARRAY OF ARRAYS +=item UNIVERSAL: The Root of All Objects =back -=item HASHES OF ARRAYS +=item Alternate Object Representations =over 4 -=item Declaration of a HASH OF ARRAYS - -=item Generation of a HASH OF ARRAYS +=item Arrays as Objects -=item Access and Printing of a HASH OF ARRAYS +=item Closures as Objects =back -=item ARRAYS OF HASHES +=item AUTOLOAD: Proxy Methods =over 4 -=item Declaration of an ARRAY OF HASHES - -=item Generation of an ARRAY OF HASHES +=item Autoloaded Data Methods -=item Access and Printing of an ARRAY OF HASHES +=item Inherited Autoloaded Data Methods =back -=item HASHES OF HASHES +=item Metaclassical Tools =over 4 -=item Declaration of a HASH OF HASHES - -=item Generation of a HASH OF HASHES +=item Class::Struct -=item Access and Printing of a HASH OF HASHES +=item Data Members as Variables =back -=item MORE ELABORATE RECORDS +=item NOTES =over 4 -=item Declaration of MORE ELABORATE RECORDS +=item Object Terminology -=item Declaration of a HASH OF COMPLEX RECORDS +=back -=item Generation of a HASH OF COMPLEX RECORDS +=item SEE ALSO -=back +=item AUTHOR AND COPYRIGHT -=item Database Ties +=item COPYRIGHT -=item SEE ALSO +=over 4 -=item AUTHOR +=item Acknowledgments =back -=head2 perlrequick - Perl regular expressions quick start +=back + +=head2 perltooc - Tom's OO Tutorial for Class Data in Perl =over 4 =item DESCRIPTION -=item The Guide +=item Class Data in a Can + +=item Class Data as Package Variables =over 4 -=item Simple word matching +=item Putting All Your Eggs in One Basket -=item Using character classes +=item Inheritance Concerns -=item Matching this or that +=item The Eponymous Meta-Object -=item Grouping things and hierarchical matching +=item Indirect References to Class Data -=item Extracting matches +=item Monadic Classes -=item Matching repetitions +=item Translucent Attributes -=item More matching +=back -=item Search and replace +=item Class Data as Lexical Variables -=item The split operator +=over 4 -=back +=item Privacy and Responsibility -=item BUGS +=item File-Scoped Lexicals -=item SEE ALSO +=item More Inheritance Concerns -=item AUTHOR AND COPYRIGHT +=item Locking the Door and Throwing Away the Key -=over 4 - -=item Acknowledgments +=item Translucency Revisited =back +=item NOTES + +=item SEE ALSO + +=item AUTHOR AND COPYRIGHT + +=item ACKNOWLEDGEMENTS + +=item HISTORY + =back -=head2 perlpod - the Plain Old Documentation format +=head2 perlbot - Bag'o Object Tricks (the BOT) =over 4 =item DESCRIPTION -=over 4 +=item OO SCALING TIPS -=item Ordinary Paragraph +=item INSTANCE VARIABLES -=item Verbatim Paragraph +=item SCALAR INSTANCE VARIABLES -=item Command Paragraph +=item INSTANCE VARIABLE INHERITANCE -C<=head1 I>, C<=head2 I>, C<=head3 I>, C<=head4 I>, C<=over I>, C<=item -I>, C<=back>, C<=cut>, C<=pod>, C<=begin I>, C<=end -I>, C<=for I I> +=item OBJECT RELATIONSHIPS -=item Formatting Codes +=item OVERRIDING SUPERCLASS METHODS -CtextE> -- italic text, CtextE> -- bold text, -CcodeE> -- code text, CnameE> -- a hyperlink, -CescapeE> -- a character escape, CfilenameE> -- used -for filenames, CtextE> -- text contains non-breaking spaces, -Ctopic nameE> -- an index entry, CE> -- a null -(zero-effect) formatting code +=item USING RELATIONSHIP WITH SDBM -=item The Intent +=item THINKING OF CODE REUSE -=item Embedding Pods in Perl Modules +=item CLASS CONTEXT AND THE OBJECT -=item Hints for Writing Pod +=item INHERITING A CONSTRUCTOR -=back +=item DELEGATION =item SEE ALSO -=item AUTHOR - =back -=head2 perlpodspec - Plain Old Documentation: format specification and -notes +=head2 perlstyle - Perl style guide =over 4 =item DESCRIPTION -=item Pod Definitions - -=item Pod Commands - -"=head1", "=head2", "=head3", "=head4", "=pod", "=cut", "=over", "=item", -"=back", "=begin formatname", "=end formatname", "=for formatname text..." - -=item Pod Formatting Codes - -CtextE> -- italic text, CtextE> -- bold text, -CcodeE> -- code text, CfilenameE> -- style for -filenames, Ctopic nameE> -- an index entry, CE> -- a -null (zero-effect) formatting code, CnameE> -- a hyperlink, -CescapeE> -- a character escape, CtextE> -- text -contains non-breaking spaces - -=item Notes on Implementing Pod Processors - -=item About LE...E Codes +=back -First:, Second:, Third:, Fourth:, Fifth:, Sixth: +=head2 perlcheat - Perl 5 Cheat Sheet -=item About =over...=back Regions +=over 4 -=item About Data Paragraphs and "=begin/=end" Regions +=item DESCRIPTION -=item SEE ALSO +=over 4 -=item AUTHOR +=item The sheet =back -=head2 perlstyle - Perl style guide +=item ACKNOWLEDGEMENTS -=over 4 +=item AUTHOR -=item DESCRIPTION +=item SEE ALSO =back @@ -802,7 +703,7 @@ Precedence Regular Expression, Regular Expression, Regular Expression, Regular Expression, Regular Expression, Regular Expression, Regular Expression, -Regular Expression +Regular Expression, Regular Expression =item Subroutine, Signal, Sorting Traps @@ -830,54 +731,42 @@ LIMIT specified =back -=head2 perlrun - how to execute the Perl interpreter +=head2 perldebtut - Perl debugging tutorial =over 4 -=item SYNOPSIS - =item DESCRIPTION -=over 4 +=item use strict -=item #! and quoting on non-Unix systems +=item Looking at data and -w and v -OS/2, MS-DOS, Win95/NT, Macintosh, VMS +=item help -=item Location of Perl +=item Stepping through code -=item Command Switches +=item Placeholder for a, w, t, T -B<-0>[I], B<-a>, B<-C [I]>, B<-c>, B<-d>, -B<-d:>I, B<-D>I, B<-D>I, B<-e> -I, B<-F>I, B<-h>, B<-i>[I], -B<-I>I, B<-l>[I], B<-m>[B<->]I, -B<-M>[B<->]I, B<-M>[B<->]I<'module ...'>, -B<-[mM]>[B<->]I, B<-n>, B<-p>, B<-P>, B<-s>, B<-S>, -B<-t>, B<-T>, B<-u>, B<-U>, B<-v>, B<-V>, B<-V:>I, B<-w>, B<-W>, -B<-X>, B<-x> I +=item REGULAR EXPRESSIONS -=back +=item OUTPUT TIPS -=item ENVIRONMENT +=item CGI -HOME, LOGDIR, PATH, PERL5LIB, PERL5OPT, PERLIO, :bytes, :crlf, :mmap, -:perlio, :raw, :stdio, :unix, :utf8, :win32, PERLIO_DEBUG, PERLLIB, -PERL5DB, PERL5SHELL (specific to the Win32 port), PERL_DEBUG_MSTATS, -PERL_DESTRUCT_LEVEL, PERL_ENCODING, PERL_ROOT (specific to the VMS port), -PERL_SIGNALS, PERL_UNICODE, SYS$LOGIN (specific to the VMS port) +=item GUIs -=back +=item SUMMARY -=head2 perldiag - various Perl diagnostics +=item SEE ALSO -=over 4 +=item AUTHOR -=item DESCRIPTION +=item CONTRIBUTORS =back -=head2 perllexwarn - Perl Lexical Warnings +=head2 perlfaq - frequently asked questions about Perl ($Date: 2003/01/31 +17:37:17 $) =over 4 @@ -885,128 +774,112 @@ PERL_SIGNALS, PERL_UNICODE, SYS$LOGIN (specific to the VMS port) =over 4 -=item Default Warnings and Optional Warnings - -=item What's wrong with B<-w> and C<$^W> - -=item Controlling Warnings from the Command Line - -B<-w>, B<-W>, B<-X> - -=item Backward Compatibility - -=item Category Hierarchy +=item Where to get the perlfaq -=item Fatal Warnings +=item How to contribute to the perlfaq -=item Reporting Warnings from a Module +=item What will happen if you mail your Perl programming problems to the +authors =back -=item TODO +=item Credits -=item SEE ALSO +=item Author and Copyright Information -=item AUTHOR +=over 4 -=back +=item Bundled Distributions -=head2 perldebtut - Perl debugging tutorial +=item Disclaimer -=over 4 +=back -=item DESCRIPTION +=item Table of Contents -=item use strict +perlfaq - this document, perlfaq1 - General Questions About Perl, perlfaq2 +- Obtaining and Learning about Perl, perlfaq3 - Programming Tools, perlfaq4 +- Data Manipulation, perlfaq5 - Files and Formats, perlfaq6 - Regular +Expressions, perlfaq7 - General Perl Language Issues, perlfaq8 - System +Interaction, perlfaq9 - Networking -=item Looking at data and -w and v +=item The Questions -=item help +=over 4 -=item Stepping through code +=item L: General Questions About Perl -=item Placeholder for a, w, t, T +=item L: Obtaining and Learning about Perl -=item REGULAR EXPRESSIONS +=item L: Programming Tools -=item OUTPUT TIPS +=item L: Data Manipulation -=item CGI +=item L: Files and Formats -=item GUIs +=item L: Regular Expressions -=item SUMMARY +=item L: General Perl Language Issues -=item SEE ALSO +=item L: System Interaction -=item AUTHOR +=item L: Networking -=item CONTRIBUTORS +=back =back -=head2 perldebug - Perl debugging +=head2 perlfaq1 - General Questions About Perl ($Revision: 1.12 $, $Date: +2003/07/09 15:47:28 $) =over 4 =item DESCRIPTION -=item The Perl Debugger - =over 4 -=item Debugger Commands +=item What is Perl? -h, h [command], h h, p expr, x [maxdepth] expr, V [pkg [vars]], X [vars], y -[level [vars]], T, s [expr], n [expr], r, , c [line|sub], l, l -min+incr, l min-max, l line, l subname, -, v [line], f filename, /pattern/, -?pattern?, L [abw], S [[!]regex], t, t expr, b, b [line] [condition], b -subname [condition], b postpone subname [condition], b load filename, b -compile subname, B line, B *, a [line] command, A line, A *, w expr, W -expr, W *, o, o booloption .., o anyoption? .., o option=value .., < ?, < [ -command ], < *, << command, > ?, > command, > *, >> command, { ?, { [ -command ], { *, {{ command, ! number, ! -number, ! pattern, !! cmd, source -file, H -number, q or ^D, R, |dbcmd, ||dbcmd, command, m expr, M, man -[manpage] +=item Who supports Perl? Who develops it? Why is it free? -=item Configurable Options +=item Which version of Perl should I use? -C, C, C, C, C, -C, C, C, C, C, -C, C, C, C, C, -C, C, C, C, C, -C, C, C, C, C, -C, C, C, C, C, C, -C +=item What are perl4 and perl5? -=item Debugger input/output +=item What is Ponie? -Prompt, Multiline commands, Stack backtrace, Line Listing Format, Frame -listing +=item What is perl6? -=item Debugging compile-time statements +=item How stable is Perl? -=item Debugger Customization +=item Is Perl difficult to learn? -=item Readline Support +=item How does Perl compare with other languages like Java, Python, REXX, +Scheme, or Tcl? -=item Editor Support for Debugging +=item Can I do [task] in Perl? -=item The Perl Profiler +=item When shouldn't I program in Perl? -=back +=item What's the difference between "perl" and "Perl"? -=item Debugging regular expressions +=item Is it a Perl program or a Perl script? -=item Debugging memory usage +=item What is a JAPH? -=item SEE ALSO +=item Where can I get a list of Larry Wall witticisms? -=item BUGS +=item How can I convince my sysadmin/supervisor/employees to use version +5/5.6.1/Perl instead of some other language? =back -=head2 perlvar - Perl predefined variables +=item AUTHOR AND COPYRIGHT + +=back + +=head2 perlfaq2 - Obtaining and Learning about Perl ($Revision: 1.20 $, +$Date: 2003/01/26 17:50:56 $) =over 4 @@ -1014,366 +887,359 @@ listing =over 4 -=item Predefined Names +=item What machines support Perl? Where do I get it? -$ARG, $_, $a, $b, $>, $MATCH, $&, $PREMATCH, $`, $POSTMATCH, $', -$LAST_PAREN_MATCH, $+, $^N, @LAST_MATCH_END, @+, $MULTILINE_MATCHING, $*, -HANDLE->input_line_number(EXPR), $INPUT_LINE_NUMBER, $NR, $, -IO::Handle->input_record_separator(EXPR), $INPUT_RECORD_SEPARATOR, $RS, $/, -HANDLE->autoflush(EXPR), $OUTPUT_AUTOFLUSH, $|, -IO::Handle->output_field_separator EXPR, $OUTPUT_FIELD_SEPARATOR, $OFS, $,, -IO::Handle->output_record_separator EXPR, $OUTPUT_RECORD_SEPARATOR, $ORS, -$\, $LIST_SEPARATOR, $", $SUBSCRIPT_SEPARATOR, $SUBSEP, $;, $OFMT, $#, -HANDLE->format_page_number(EXPR), $FORMAT_PAGE_NUMBER, $%, -HANDLE->format_lines_per_page(EXPR), $FORMAT_LINES_PER_PAGE, $=, -HANDLE->format_lines_left(EXPR), $FORMAT_LINES_LEFT, $-, @LAST_MATCH_START, -@-, C<$`> is the same as C, C<$&> is the same as -C, C<$'> is the same as C, C<$1> is the same as C, C<$2> -is the same as C, C<$3> is the same as -C, HANDLE->format_name(EXPR), -$FORMAT_NAME, $~, HANDLE->format_top_name(EXPR), $FORMAT_TOP_NAME, $^, -IO::Handle->format_line_break_characters EXPR, -$FORMAT_LINE_BREAK_CHARACTERS, $:, IO::Handle->format_formfeed EXPR, -$FORMAT_FORMFEED, $^L, $ACCUMULATOR, $^A, $CHILD_ERROR, $?, ${^ENCODING}, -$OS_ERROR, $ERRNO, $!, %!, $EXTENDED_OS_ERROR, $^E, $EVAL_ERROR, $@, -$PROCESS_ID, $PID, $$, $REAL_USER_ID, $UID, $<, $EFFECTIVE_USER_ID, $EUID, -$>, $REAL_GROUP_ID, $GID, $(, $EFFECTIVE_GROUP_ID, $EGID, $), -$PROGRAM_NAME, $0, $[, $], $COMPILING, $^C, $DEBUGGING, $^D, -$SYSTEM_FD_MAX, $^F, $^H, %^H, $INPLACE_EDIT, $^I, $^M, $OSNAME, $^O, -${^OPEN}, $PERLDB, $^P, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, -0x100, 0x200, $LAST_REGEXP_CODE_RESULT, $^R, $EXCEPTIONS_BEING_CAUGHT, $^S, -$BASETIME, $^T, ${^TAINT}, ${^UNICODE}, $PERL_VERSION, $^V, $WARNING, $^W, -${^WARNING_BITS}, $EXECUTABLE_NAME, $^X, ARGV, $ARGV, @ARGV, ARGVOUT, @F, -@INC, @_, %INC, %ENV, $ENV{expr}, %SIG, $SIG{expr} +=item How can I get a binary version of Perl? -=item Error Indicators +=item I don't have a C compiler on my system. How can I compile perl? -=item Technical Note on the Syntax of Variable Names +=item I copied the Perl binary from one machine to another, but scripts +don't work. -=back +=item I grabbed the sources and tried to compile but gdbm/dynamic +loading/malloc/linking/... failed. How do I make it work? -=item BUGS +=item What modules and extensions are available for Perl? What is CPAN? +What does CPAN/src/... mean? -=back +=item Is there an ISO or ANSI certified version of Perl? -=head2 perllol - Manipulating Arrays of Arrays in Perl +=item Where can I get information on Perl? -=over 4 +=item What are the Perl newsgroups on Usenet? Where do I post questions? -=item DESCRIPTION +=item Where should I post source code? -=over 4 +=item Perl Books -=item Declaration and Access of Arrays of Arrays +References, Tutorials, Task-Oriented, Special Topics -=item Growing Your Own +=item Perl in Magazines -=item Access and Printing +=item Perl on the Net: FTP and WWW Access -=item Slices +=item What mailing lists are there for Perl? -=back +=item Archives of comp.lang.perl.misc -=item SEE ALSO +=item Where can I buy a commercial version of Perl? -=item AUTHOR +=item Where do I send bug reports? + +=item What is perl.com? Perl Mongers? pm.org? perl.org? cpan.org? =back -=head2 perlopentut - tutorial on opening things in Perl +=item AUTHOR AND COPYRIGHT + +=back + +=head2 perlfaq3 - Programming Tools ($Revision: 1.33 $, $Date: 2003/01/31 +17:34:56 $) =over 4 =item DESCRIPTION -=item Open E la shell - =over 4 -=item Simple Opens +=item How do I do (anything)? -=item Indirect Filehandles +=item How can I use Perl interactively? -=item Pipe Opens +=item Is there a Perl shell? -=item The Minus File +=item How do I find which modules are installed on my system? -=item Mixing Reads and Writes +=item How do I debug my Perl programs? -=item Filters +=item How do I profile my Perl programs? -=back +=item How do I cross-reference my Perl programs? -=item Open E la C +=item Is there a pretty-printer (formatter) for Perl? -=over 4 +=item Is there a ctags for Perl? -=item Permissions E la mode +=item Is there an IDE or Windows Perl Editor? -=back +Komodo, The Object System, Open Perl IDE, PerlBuilder, visiPerl+, OptiPerl, +GNU Emacs, MicroEMACS, XEmacs, Jed, Elvis, Vile, Vim, Codewright, +MultiEdit, SlickEdit, Bash, Ksh, Tcsh, Zsh, BBEdit and BBEdit Lite, Alpha -=item Obscure Open Tricks +=item Where can I get Perl macros for vi? -=over 4 +=item Where can I get perl-mode for emacs? -=item Re-Opening Files (dups) +=item How can I use curses with Perl? -=item Dispelling the Dweomer +=item How can I use X or Tk with Perl? -=item Paths as Opens +=item How can I generate simple menus without using CGI or Tk? -=item Single Argument Open +=item How can I make my Perl program run faster? -=item Playing with STDIN and STDOUT +=item How can I make my Perl program take less memory? -=back +Don't slurp!, Use map and grep selectively, Avoid unnecessary quotes and +stringification, Pass by reference, Tie large variables to disk -=item Other I/O Issues +=item Is it safe to return a reference to local or lexical data? -=over 4 +=item How can I free an array or hash so my program shrinks? -=item Opening Non-File Files +=item How can I make my CGI script more efficient? -=item Opening Named Pipes +=item How can I hide the source for my Perl program? -=item Opening Sockets +=item How can I compile my Perl program into byte code or C? -=item Binary Files +=item How can I compile Perl into Java? -=item File Locking +=item How can I get C<#!perl> to work on [MS-DOS,NT,...]? -=item IO Layers +=item Can I write useful Perl programs on the command line? -=back +=item Why don't Perl one-liners work on my DOS/Mac/VMS system? -=item SEE ALSO +=item Where can I learn about CGI or Web programming in Perl? -=item AUTHOR and COPYRIGHT +=item Where can I learn about object-oriented Perl programming? -=item HISTORY +=item Where can I learn about linking C with Perl? [h2xs, xsubpp] + +=item I've read perlembed, perlguts, etc., but I can't embed perl in +my C program; what am I doing wrong? + +=item When I tried to run my script, I got this message. What does it mean? + +=item What's MakeMaker? =back -=head2 perlpacktut - tutorial on C and C +=item AUTHOR AND COPYRIGHT + +=back + +=head2 perlfaq4 - Data Manipulation ($Revision: 1.44 $, $Date: 2003/07/28 +17:35:21 $) =over 4 =item DESCRIPTION -=item The Basic Principle +=item Data: Numbers -=item Packing Text +=over 4 -=item Packing Numbers +=item Why am I getting long decimals (eg, 19.9499999999999) instead of the +numbers I should be getting (eg, 19.95)? -=over 4 +=item Why isn't my octal data interpreted correctly? -=item Integers +=item Does Perl have a round() function? What about ceil() and floor()? +Trig functions? -=item Unpacking a Stack Frame +=item How do I convert between numeric representations? -=item How to Eat an Egg on a Net +How do I convert hexadecimal into decimal, How do I convert from decimal to +hexadecimal, How do I convert from octal to decimal, How do I convert from +decimal to octal, How do I convert from binary to decimal, How do I convert +from decimal to binary -=item Floating point Numbers +=item Why doesn't & work the way I want it to? -=back +=item How do I multiply matrices? -=item Exotic Templates +=item How do I perform an operation on a series of integers? -=over 4 +=item How can I output Roman numerals? -=item Bit Strings +=item Why aren't my random numbers random? -=item Uuencoding +=item How do I get a random number between X and Y? -=item Doing Sums +=back -=item Unicode +=item Data: Dates -=item Another Portable Binary Encoding +=over 4 -=back +=item How do I find the day or week of the year? -=item Template Grouping +=item How do I find the current century or millennium? -=item Lengths and Widths +=item How can I compare two dates and find the difference? -=over 4 +=item How can I take a string and turn it into epoch seconds? -=item String Lengths +=item How can I find the Julian Day? -=item Dynamic Templates +=item How do I find yesterday's date? -=item Counting Repetitions +=item Does Perl have a Year 2000 problem? Is Perl Y2K compliant? =back -=item Packing and Unpacking C Structures +=item Data: Strings =over 4 -=item The Alignment Pit - -=item Alignment, Take 2 +=item How do I validate input? -=item Alignment, Take 3 +=item How do I unescape a string? -=item Pointers for How to Use Them +=item How do I remove consecutive pairs of characters? -=back +=item How do I expand function calls in a string? -=item Pack Recipes +=item How do I find matching/nesting anything? -=item Funnies Section +=item How do I reverse a string? -=item Authors +=item How do I expand tabs in a string? -=back +=item How do I reformat a paragraph? -=head2 perlretut - Perl regular expressions tutorial +=item How can I access or change N characters of a string? -=over 4 +=item How do I change the Nth occurrence of something? -=item DESCRIPTION +=item How can I count the number of occurrences of a substring within a +string? -=item Part 1: The basics +=item How do I capitalize all the words on one line? -=over 4 +=item How can I split a [character] delimited string except when inside +[character]? -=item Simple word matching +=item How do I strip blank space from the beginning/end of a string? -=item Using character classes +=item How do I pad a string with blanks or pad a number with zeroes? -=item Matching this or that +=item How do I extract selected columns from a string? -=item Grouping things and hierarchical matching +=item How do I find the soundex value of a string? -=item Extracting matches +=item How can I expand variables in text strings? -=item Matching repetitions +=item What's wrong with always quoting "$vars"? -=item Building a regexp +=item Why don't my EEHERE documents work? -=item Using regular expressions in Perl +There must be no space after the EE part, There (probably) should +be a semicolon at the end, You can't (easily) have any space in front of +the tag =back -=item Part 2: Power tools +=item Data: Arrays =over 4 -=item More on characters, strings, and character classes +=item What is the difference between a list and an array? -=item Compiling and saving regular expressions +=item What is the difference between $array[1] and @array[1]? -=item Embedding comments and modifiers in a regular expression +=item How can I remove duplicate elements from a list or array? -=item Non-capturing groupings +a), b), c), d), e) -=item Looking ahead and looking behind +=item How can I tell whether a certain element is contained in a list or +array? -=item Using independent subexpressions to prevent backtracking +=item How do I compute the difference of two arrays? How do I compute the +intersection of two arrays? -=item Conditional expressions +=item How do I test whether two arrays or hashes are equal? -=item A bit of magic: executing Perl code in a regular expression +=item How do I find the first array element for which a condition is true? -=item Pragmas and debugging +=item How do I handle linked lists? -=back +=item How do I handle circular lists? -=item BUGS +=item How do I shuffle an array randomly? -=item SEE ALSO +=item How do I process/modify each element of an array? -=item AUTHOR AND COPYRIGHT +=item How do I select a random element from an array? -=over 4 +=item How do I permute N elements of a list? -=item Acknowledgments +=item How do I sort an array by (anything)? -=back +=item How do I manipulate arrays of bits? + +=item Why does defined() return true on empty arrays and hashes? =back -=head2 perlre - Perl regular expressions +=item Data: Hashes (Associative Arrays) =over 4 -=item DESCRIPTION - -i, m, s, x - -=over 4 +=item How do I process an entire hash? -=item Regular Expressions +=item What happens if I add or remove keys from a hash while iterating over +it? -[1], [2], [3], cntrl, graph, print, punct, xdigit +=item How do I look up a hash element by value? -=item Extended Patterns +=item How can I know how many entries are in a hash? -C<(?#text)>, C<(?imsx-imsx)>, C<(?:pattern)>, C<(?imsx-imsx:pattern)>, -C<(?=pattern)>, C<(?!pattern)>, C<(?<=pattern)>, C<(?, C<(?{ -code })>, C<(??{ code })>, C<< (?>pattern) >>, -C<(?(condition)yes-pattern|no-pattern)>, C<(?(condition)yes-pattern)> +=item How do I sort a hash (optionally by value instead of key)? -=item Backtracking +=item How can I always keep my hash sorted? -=item Version 8 Regular Expressions +=item What's the difference between "delete" and "undef" with hashes? -=item Warning on \1 vs $1 +=item Why don't my tied hashes make the defined/exists distinction? -=item Repeated patterns matching zero-length substring +=item How do I reset an each() operation part-way through? -=item Combining pieces together +=item How can I get the unique keys from two hashes? -C, C, C, C, C, C, -C, C, C, C, C, C<< (?>S) >>, C<(?=S)>, C<(?<=S)>, -C<(?!S)>, C<(?, C<(??{ EXPR })>, -C<(?(condition)yes-pattern|no-pattern)> +=item How can I store a multidimensional array in a DBM file? -=item Creating custom RE engines +=item How can I make my hash remember the order I put elements into it? -=back +=item Why does passing a subroutine an undefined element in a hash create +it? -=item BUGS +=item How can I make the Perl equivalent of a C structure/C++ class/hash or +array of hashes or arrays? -=item SEE ALSO +=item How can I use a reference as a hash key? =back -=head2 perlref - Perl references and nested data structures +=item Data: Misc =over 4 -=item NOTE - -=item DESCRIPTION - -=over 4 +=item How do I handle binary data correctly? -=item Making References +=item How do I determine whether a scalar is a number/whole/integer/float? -=item Using References +=item How do I keep persistent data across program calls? -=item Symbolic references +=item How do I print out or copy a recursive data structure? -=item Not-so-symbolic references +=item How do I define methods for every class/object? -=item Pseudo-hashes: Using an array as a hash +=item How do I verify a credit card checksum? -=item Function Templates +=item How do I pack arrays of doubles or floats for XS code? =back -=item WARNING - -=item SEE ALSO +=item AUTHOR AND COPYRIGHT =back -=head2 perlform - Perl formats +=head2 perlfaq5 - Files and Formats ($Revision: 1.28 $, $Date: 2003/01/26 +17:45:46 $) =over 4 @@ -1381,241 +1247,244 @@ C<(?(condition)yes-pattern|no-pattern)> =over 4 -=item Format Variables +=item How do I flush/unbuffer an output filehandle? Why must I do this? -=back +=item How do I change one line in a file/delete a line in a file/insert a +line in the middle of a file/append to the beginning of a file? -=item NOTES +=item How do I count the number of lines in a file? -=over 4 +=item How can I use Perl's C<-i> option from within a program? -=item Footers +=item How do I make a temporary file name? -=item Accessing Formatting Internals +=item How can I manipulate fixed-record-length files? -=back +=item How can I make a filehandle local to a subroutine? How do I pass +filehandles between subroutines? How do I make an array of filehandles? -=item WARNINGS +=item How can I use a filehandle indirectly? -=back +=item How can I set up a footer format to be used with write()? -=head2 perlboot - Beginner's Object-Oriented Tutorial +=item How can I write() into a string? -=over 4 +=item How can I output my numbers with commas added? -=item DESCRIPTION +=item How can I translate tildes (~) in a filename? -=over 4 +=item How come when I open a file read-write it wipes it out? -=item If we could talk to the animals... +=item Why do I sometimes get an "Argument list too long" when I use +E*E? -=item Introducing the method invocation arrow +=item Is there a leak/bug in glob()? -=item Invoking a barnyard +=item How can I open a file with a leading ">" or trailing blanks? -=item The extra parameter of method invocation +=item How can I reliably rename a file? -=item Calling a second method to simplify things +=item How can I lock a file? -=item Inheriting the windpipes +=item Why can't I just open(FH, "Efile.lock")? -=item A few notes about @ISA +=item I still don't get locking. I just want to increment the number in +the file. How can I do this? -=item Overriding the methods +=item All I want to do is append a small amount of text to the end of a +file. Do I still have to use locking? -=item Starting the search from a different place +=item How do I randomly update a binary file? -=item The SUPER way of doing things +=item How do I get a file's timestamp in perl? -=item Where we're at so far... +=item How do I set a file's timestamp in perl? -=item A horse is a horse, of course of course -- or is it? +=item How do I print to more than one file at once? -=item Invoking an instance method +=item How can I read in an entire file all at once? -=item Accessing the instance data +=item How can I read in a file by paragraphs? -=item How to build a horse +=item How can I read a single character from a file? From the keyboard? -=item Inheriting the constructor +=item How can I tell whether there's a character waiting on a filehandle? -=item Making a method work with either classes or instances +=item How do I do a C in perl? -=item Adding parameters to a method +=item How do I dup() a filehandle in Perl? -=item More interesting instances +=item How do I close a file descriptor by number? -=item A horse of a different color +=item Why can't I use "C:\temp\foo" in DOS paths? Why doesn't +`C:\temp\foo.exe` work? -=item Summary +=item Why doesn't glob("*.*") get all the files? -=back +=item Why does Perl let me delete read-only files? Why does C<-i> clobber +protected files? Isn't this a bug in Perl? -=item SEE ALSO +=item How do I select a random line from a file? -=item COPYRIGHT +=item Why do I get weird spaces when I print an array of lines? =back -=head2 perltoot - Tom's object-oriented tutorial for perl +=item AUTHOR AND COPYRIGHT + +=back + +=head2 perlfaq6 - Regular Expressions ($Revision: 1.20 $, $Date: 2003/01/03 +20:05:28 $) =over 4 =item DESCRIPTION -=item Creating a Class - =over 4 -=item Object Representation +=item How can I hope to use regular expressions without creating illegible +and unmaintainable code? -=item Class Interface +Comments Outside the Regex, Comments Inside the Regex, Different Delimiters -=item Constructors and Instance Methods +=item I'm having trouble matching over more than one line. What's wrong? -=item Planning for the Future: Better Constructors +=item How can I pull out lines between two patterns that are themselves on +different lines? -=item Destructors +=item I put a regular expression into $/ but it didn't work. What's wrong? -=item Other Object Methods +=item How do I substitute case insensitively on the LHS while preserving +case on the RHS? -=back +=item How can I make C<\w> match national character sets? -=item Class Data +=item How can I match a locale-smart version of C? -=over 4 +=item How can I quote a variable to use in a regex? -=item Accessing Class Data +=item What is C really for? -=item Debugging Methods +=item How do I use a regular expression to strip C style comments from a +file? -=item Class Destructors +=item Can I use Perl regular expressions to match balanced text? -=item Documenting the Interface +=item What does it mean that regexes are greedy? How can I get around it? -=back +=item How do I process each word on each line? -=item Aggregation +=item How can I print out a word-frequency or line-frequency summary? -=item Inheritance +=item How can I do approximate matching? -=over 4 +=item How do I efficiently match many regular expressions at once? -=item Overridden Methods +=item Why don't word-boundary searches with C<\b> work for me? -=item Multiple Inheritance +=item Why does using $&, $`, or $' slow my program down? -=item UNIVERSAL: The Root of All Objects +=item What good is C<\G> in a regular expression? -=back +=item Are Perl regexes DFAs or NFAs? Are they POSIX compliant? -=item Alternate Object Representations +=item What's wrong with using grep in a void context? -=over 4 +=item How can I match strings with multibyte characters? -=item Arrays as Objects +=item How do I match a pattern that is supplied by the user? -=item Closures as Objects +=back + +=item AUTHOR AND COPYRIGHT =back -=item AUTOLOAD: Proxy Methods +=head2 perlfaq7 - General Perl Language Issues ($Revision: 1.15 $, $Date: +2003/07/24 02:17:21 $) =over 4 -=item Autoloaded Data Methods +=item DESCRIPTION -=item Inherited Autoloaded Data Methods +=over 4 -=back +=item Can I get a BNF/yacc/RE for the Perl language? -=item Metaclassical Tools +=item What are all these $@%&* punctuation signs, and how do I know when to +use them? -=over 4 +=item Do I always/never have to quote my strings or use semicolons and +commas? -=item Class::Struct +=item How do I skip some return values? -=item Data Members as Variables +=item How do I temporarily block warnings? -=back +=item What's an extension? -=item NOTES +=item Why do Perl operators have different precedence than C operators? -=over 4 +=item How do I declare/create a structure? -=item Object Terminology +=item How do I create a module? -=back - -=item SEE ALSO - -=item AUTHOR AND COPYRIGHT - -=item COPYRIGHT - -=over 4 - -=item Acknowledgments - -=back - -=back +=item How do I create a class? -=head2 perltooc - Tom's OO Tutorial for Class Data in Perl +=item How can I tell if a variable is tainted? -=over 4 +=item What's a closure? -=item DESCRIPTION +=item What is variable suicide and how can I prevent it? -=item Class Data in a Can +=item How can I pass/return a {Function, FileHandle, Array, Hash, Method, +Regex}? -=item Class Data as Package Variables +Passing Variables and Functions, Passing Filehandles, Passing Regexes, +Passing Methods -=over 4 +=item How do I create a static variable? -=item Putting All Your Eggs in One Basket +=item What's the difference between dynamic and lexical (static) scoping? +Between local() and my()? -=item Inheritance Concerns +=item How can I access a dynamic variable while a similarly named lexical +is in scope? -=item The Eponymous Meta-Object +=item What's the difference between deep and shallow binding? -=item Indirect References to Class Data +=item Why doesn't "my($foo) = EFILEE;" work right? -=item Monadic Classes +=item How do I redefine a builtin function, operator, or method? -=item Translucent Attributes +=item What's the difference between calling a function as &foo and foo()? -=back +=item How do I create a switch or case statement? -=item Class Data as Lexical Variables +=item How can I catch accesses to undefined variables, functions, or +methods? -=over 4 +=item Why can't a method included in this same file be found? -=item Privacy and Responsibility +=item How can I find out my current package? -=item File-Scoped Lexicals +=item How can I comment out a large block of perl code? -=item More Inheritance Concerns +=item How do I clear a package? -=item Locking the Door and Throwing Away the Key +=item How can I use a variable as a variable name? -=item Translucency Revisited +=item What does "bad interpreter" mean? =back -=item NOTES - -=item SEE ALSO - =item AUTHOR AND COPYRIGHT -=item ACKNOWLEDGEMENTS - -=item HISTORY - =back -=head2 perlobj - Perl objects +=head2 perlfaq8 - System Interaction ($Revision: 1.17 $, $Date: 2003/01/26 +17:44:04 $) =over 4 @@ -1623,769 +1492,882 @@ C<(?(condition)yes-pattern|no-pattern)> =over 4 -=item An Object is Simply a Reference +=item How do I find out which operating system I'm running under? -=item A Class is Simply a Package +=item How come exec() doesn't return? -=item A Method is Simply a Subroutine +=item How do I do fancy stuff with the keyboard/screen/mouse? -=item Method Invocation +Keyboard, Screen, Mouse -=item Indirect Object Syntax +=item How do I print something out in color? -=item Default UNIVERSAL methods +=item How do I read just one key without waiting for a return key? -isa(CLASS), can(METHOD), VERSION( [NEED] ) +=item How do I check whether input is ready on the keyboard? -=item Destructors +=item How do I clear the screen? -=item Summary +=item How do I get the screen size? -=item Two-Phased Garbage Collection +=item How do I ask the user for a password? -=back +=item How do I read and write the serial port? -=item SEE ALSO +lockfiles, open mode, end of line, flushing output, non-blocking input -=back +=item How do I decode encrypted password files? -=head2 perlbot - Bag'o Object Tricks (the BOT) +=item How do I start a process in the background? -=over 4 +STDIN, STDOUT, and STDERR are shared, Signals, Zombies -=item DESCRIPTION +=item How do I trap control characters/signals? -=item OO SCALING TIPS +=item How do I modify the shadow password file on a Unix system? -=item INSTANCE VARIABLES +=item How do I set the time and date? -=item SCALAR INSTANCE VARIABLES +=item How can I sleep() or alarm() for under a second? -=item INSTANCE VARIABLE INHERITANCE +=item How can I measure time under a second? -=item OBJECT RELATIONSHIPS +=item How can I do an atexit() or setjmp()/longjmp()? (Exception handling) -=item OVERRIDING SUPERCLASS METHODS +=item Why doesn't my sockets program work under System V (Solaris)? What +does the error message "Protocol not supported" mean? -=item USING RELATIONSHIP WITH SDBM +=item How can I call my system's unique C functions from Perl? -=item THINKING OF CODE REUSE +=item Where do I get the include files to do ioctl() or syscall()? -=item CLASS CONTEXT AND THE OBJECT +=item Why do setuid perl scripts complain about kernel problems? -=item INHERITING A CONSTRUCTOR +=item How can I open a pipe both to and from a command? -=item DELEGATION +=item Why can't I get the output of a command with system()? -=item SEE ALSO +=item How can I capture STDERR from an external command? -=back +=item Why doesn't open() return an error when a pipe open fails? -=head2 perltie - how to hide an object class in a simple variable +=item What's wrong with using backticks in a void context? -=over 4 +=item How can I call backticks without shell processing? -=item SYNOPSIS +=item Why can't my script read from STDIN after I gave it EOF (^D on Unix, +^Z on MS-DOS)? -=item DESCRIPTION +=item How can I convert my shell script to perl? -=over 4 +=item Can I use perl to run a telnet or ftp session? -=item Tying Scalars +=item How can I write expect in Perl? -TIESCALAR classname, LIST, FETCH this, STORE this, value, UNTIE this, -DESTROY this +=item Is there a way to hide perl's command line from programs such as +"ps"? -=item Tying Arrays +=item I {changed directory, modified my environment} in a perl script. How +come the change disappeared when I exited the script? How do I get my +changes to be visible? -TIEARRAY classname, LIST, FETCH this, index, STORE this, index, value, -FETCHSIZE this, STORESIZE this, count, EXTEND this, count, EXISTS this, -key, DELETE this, key, CLEAR this, PUSH this, LIST, POP this, SHIFT this, -UNSHIFT this, LIST, SPLICE this, offset, length, LIST, UNTIE this, DESTROY -this +Unix -=item Tying Hashes +=item How do I close a process's filehandle without waiting for it to +complete? -USER, HOME, CLOBBER, LIST, TIEHASH classname, LIST, FETCH this, key, STORE -this, key, value, DELETE this, key, CLEAR this, EXISTS this, key, FIRSTKEY -this, NEXTKEY this, lastkey, UNTIE this, DESTROY this +=item How do I fork a daemon process? -=item Tying FileHandles +=item How do I find out if I'm running interactively or not? -TIEHANDLE classname, LIST, WRITE this, LIST, PRINT this, LIST, PRINTF this, -LIST, READ this, LIST, READLINE this, GETC this, CLOSE this, UNTIE this, -DESTROY this +=item How do I timeout a slow event? -=item UNTIE this +=item How do I set CPU limits? -=item The C Gotcha +=item How do I avoid zombies on a Unix system? -=back +=item How do I use an SQL database? -=item SEE ALSO +=item How do I make a system() exit on control-C? -=item BUGS +=item How do I open a file without blocking? -=item AUTHOR +=item How do I install a module from CPAN? -=back +=item What's the difference between require and use? -=head2 perlipc - Perl interprocess communication (signals, fifos, pipes, -safe subprocesses, sockets, and semaphores) +=item How do I keep my own module/library directory? -=over 4 +=item How do I add the directory my program lives in to the module/library +search path? -=item DESCRIPTION +=item How do I add a directory to my include path at runtime? -=item Signals +=item What is socket.ph and where do I get it? -=over 4 +=back -=item Handling the SIGHUP Signal in Daemons +=item AUTHOR AND COPYRIGHT =back -=item Named Pipes +=head2 perlfaq9 - Networking ($Revision: 1.15 $, $Date: 2003/01/31 17:36:57 +$) =over 4 -=item Deferred Signals (Safe signals) +=item DESCRIPTION -Long running opcodes, Interrupting IO, Signals as "faults", Signals -triggered by operating system state +=over 4 -=back +=item What is the correct form of response from a CGI script? -=item Using open() for IPC +=item My CGI script runs from the command line but not the browser. (500 +Server Error) -=over 4 +=item How can I get better error messages from a CGI program? -=item Filehandles +=item How do I remove HTML from a string? -=item Background Processes +=item How do I extract URLs? -=item Complete Dissociation of Child from Parent +=item How do I download a file from the user's machine? How do I open a +file on another machine? -=item Safe Pipe Opens +=item How do I make a pop-up menu in HTML? -=item Bidirectional Communication with Another Process +=item How do I fetch an HTML file? -=item Bidirectional Communication with Yourself +=item How do I automate an HTML form submission? -=back +=item How do I decode or create those %-encodings on the web? -=item Sockets: Client/Server Communication +=item How do I redirect to another page? -=over 4 +=item How do I put a password on my web pages? -=item Internet Line Terminators +=item How do I edit my .htpasswd and .htgroup files with Perl? -=item Internet TCP Clients and Servers +=item How do I make sure users can't enter values into a form that cause my +CGI script to do bad things? -=item Unix-Domain TCP Clients and Servers +=item How do I parse a mail header? -=back +=item How do I decode a CGI form? -=item TCP Clients with IO::Socket +=item How do I check a valid mail address? -=over 4 +=item How do I decode a MIME/BASE64 string? -=item A Simple Client +=item How do I return the user's mail address? -C, C, C +=item How do I send mail? -=item A Webget Client +=item How do I use MIME to make an attachment to a mail message? -=item Interactive Client with IO::Socket +=item How do I read mail? -=back +=item How do I find out my hostname/domainname/IP address? -=item TCP Servers with IO::Socket +=item How do I fetch a news article or the active newsgroups? -Proto, LocalPort, Listen, Reuse - -=item UDP: Message Passing - -=item SysV IPC - -=item NOTES +=item How do I fetch/put an FTP file? -=item BUGS +=item How can I do RPC in Perl? -=item AUTHOR +=back -=item SEE ALSO +=item AUTHOR AND COPYRIGHT =back -=head2 perlfork - Perl's fork() emulation +=head2 perlsyn - Perl syntax =over 4 -=item SYNOPSIS - =item DESCRIPTION =over 4 -=item Behavior of other Perl features in forked pseudo-processes +=item Declarations -$$ or $PROCESS_ID, %ENV, chdir() and all other builtins that accept -filenames, wait() and waitpid(), kill(), exec(), exit(), Open handles to -files, directories and network sockets +=item Comments -=item Resource limits +=item Simple Statements -=item Killing the parent process +=item Compound Statements -=item Lifetime of the parent process and pseudo-processes +=item Loop Control -=item CAVEATS AND LIMITATIONS +=item For Loops -BEGIN blocks, Open filehandles, Forking pipe open() not yet implemented, -Global state maintained by XSUBs, Interpreter embedded in larger -application, Thread-safety of extensions +=item Foreach Loops -=back +=item Basic BLOCKs and Switch Statements -=item BUGS +=item Goto -=item AUTHOR +=item PODs: Embedded Documentation -=item SEE ALSO +=item Plain Old Comments (Not!) =back -=head2 perlnumber - semantics of numbers and numeric operations in Perl +=back -=over 4 +=head2 perldata - Perl data types -=item SYNOPSIS +=over 4 =item DESCRIPTION -=item Storing numbers - -=item Numeric operators and numeric conversions - -=item Flavors of Perl numeric operations - -Arithmetic operators, ++, Arithmetic operators during C, Other -mathematical operators, Bitwise operators, Bitwise operators during C, Operators which expect an integer, Operators which expect a -string - -=item AUTHOR - -=item SEE ALSO - -=back - -=head2 perlthrtut - tutorial on threads in Perl - =over 4 -=item DESCRIPTION +=item Variable names -=item Status +=item Context -=item What Is A Thread Anyway? +=item Scalar values -=item Threaded Program Models +=item Scalar value constructors -=over 4 +=item List value constructors -=item Boss/Worker +=item Subscripts -=item Work Crew +=item Slices -=item Pipeline +=item Typeglobs and Filehandles =back -=item Native threads - -=item What kind of threads are Perl threads? +=item SEE ALSO -=item Thread-Safe Modules +=back -=item Thread Basics +=head2 perlop - Perl operators and precedence =over 4 -=item Basic Thread Support - -=item A Note about the Examples +=item SYNOPSIS -=item Creating Threads +=item DESCRIPTION -=item Giving up control +=over 4 -=item Waiting For A Thread To Exit +=item Terms and List Operators (Leftward) -=item Ignoring A Thread +=item The Arrow Operator -=back +=item Auto-increment and Auto-decrement -=item Threads And Data +=item Exponentiation -=over 4 +=item Symbolic Unary Operators -=item Shared And Unshared Data +=item Binding Operators -=item Thread Pitfalls: Races +=item Multiplicative Operators -=back +=item Additive Operators -=item Synchronization and control +=item Shift Operators -=over 4 +=item Named Unary Operators -=item Controlling access: lock() +=item Relational Operators -=item A Thread Pitfall: Deadlocks +=item Equality Operators -=item Queues: Passing Data Around +=item Bitwise And -=item Semaphores: Synchronizing Data Access +=item Bitwise Or and Exclusive Or -=item Basic semaphores +=item C-style Logical And -=item Advanced Semaphores +=item C-style Logical Or -=item cond_wait() and cond_signal() +=item C-style Logical Defined-Or -=back +=item Range Operators -=item General Thread Utility Routines +=item Conditional Operator -=over 4 +=item Assignment Operators -=item What Thread Am I In? +=item Comma Operator -=item Thread IDs +=item List Operators (Rightward) -=item Are These Threads The Same? +=item Logical Not -=item What Threads Are Running? +=item Logical And -=back +=item Logical or, Defined or, and Exclusive Or -=item A Complete Example +=item C Operators Missing From Perl -=item Performance considerations +unary &, unary *, (TYPE) -=item Process-scope Changes +=item Quote and Quote-like Operators -=item Thread-Safety of System Libraries +=item Regexp Quote-Like Operators -=item Conclusion +?PATTERN?, m/PATTERN/cgimosx, /PATTERN/cgimosx, q/STRING/, C<'STRING'>, +qq/STRING/, "STRING", qr/STRING/imosx, qx/STRING/, `STRING`, qw/STRING/, +s/PATTERN/REPLACEMENT/egimosx, tr/SEARCHLIST/REPLACEMENTLIST/cds, +y/SEARCHLIST/REPLACEMENTLIST/cds, <, C, C, C, C, C<''>, C, C<"">, +C<``>, C, C, C<< >>, C, C, C, +C,, Interpolation of regular expressions, Optimization of +regular expressions -=item Introductory Texts +=item I/O Operators -=item OS-Related References +=item Constant Folding -=item Other References +=item Bitwise String Operators -=back +=item Integer Arithmetic -=item Acknowledgements +=item Floating-point Arithmetic -=item AUTHOR +=item Bigger Numbers -=item Copyrights +=back =back -=head2 perlothrtut - old tutorial on threads in Perl +=head2 perlsub - Perl subroutines =over 4 -=item DESCRIPTION - -=item What Is A Thread Anyway? +=item SYNOPSIS -=item Threaded Program Models +=item DESCRIPTION =over 4 -=item Boss/Worker +=item Private Variables via my() -=item Work Crew +=item Persistent Private Variables -=item Pipeline +=item Temporary Values via local() -=back +=item Lvalue subroutines -=item Native threads +Lvalue subroutines are EXPERIMENTAL -=item What kind of threads are perl threads? +=item Passing Symbol Table Entries (typeglobs) -=item Threadsafe Modules +=item When to Still Use local() -=item Thread Basics +=item Pass by Reference -=over 4 +=item Prototypes -=item Basic Thread Support +=item Constant Functions -=item Creating Threads +=item Overriding Built-in Functions -=item Giving up control +=item Autoloading -=item Waiting For A Thread To Exit +=item Subroutine Attributes -=item Errors In Threads +=back -=item Ignoring A Thread +=item SEE ALSO =back -=item Threads And Data +=head2 perlfunc - Perl builtin functions =over 4 -=item Shared And Unshared Data - -=item Thread Pitfall: Races - -=item Controlling access: lock() - -=item Thread Pitfall: Deadlocks - -=item Queues: Passing Data Around - -=back - -=item Threads And Code +=item DESCRIPTION =over 4 -=item Semaphores: Synchronizing Data Access +=item Perl Functions by Category -Basic semaphores, Advanced Semaphores +Functions for SCALARs or strings, Regular expressions and pattern matching, +Numeric functions, Functions for real @ARRAYs, Functions for list data, +Functions for real %HASHes, Input and output functions, Functions for fixed +length data or records, Functions for filehandles, files, or directories, +Keywords related to the control flow of your perl program, Keywords related +to scoping, Miscellaneous functions, Functions for processes and process +groups, Keywords related to perl modules, Keywords related to classes and +object-orientedness, Low-level socket functions, System V interprocess +communication functions, Fetching user and group info, Fetching network +info, Time-related functions, Functions new in perl5, Functions obsoleted +in perl5 -=item Attributes: Restricting Access To Subroutines +=item Portability -=item Subroutine Locks +=item Alphabetical Listing of Perl Functions -=item Methods +-I FILEHANDLE, -I EXPR, -I, abs VALUE, abs, accept +NEWSOCKET,GENERICSOCKET, alarm SECONDS, alarm, atan2 Y,X, bind SOCKET,NAME, +binmode FILEHANDLE, LAYER, binmode FILEHANDLE, bless REF,CLASSNAME, bless +REF, caller EXPR, caller, chdir EXPR, chmod LIST, chomp VARIABLE, chomp( +LIST ), chomp, chop VARIABLE, chop( LIST ), chop, chown LIST, chr NUMBER, +chr, chroot FILENAME, chroot, close FILEHANDLE, close, closedir DIRHANDLE, +connect SOCKET,NAME, continue BLOCK, cos EXPR, cos, crypt PLAINTEXT,SALT, +dbmclose HASH, dbmopen HASH,DBNAME,MASK, defined EXPR, defined, delete +EXPR, die LIST, do BLOCK, do SUBROUTINE(LIST), do EXPR, dump LABEL, dump, +each HASH, eof FILEHANDLE, eof (), eof, eval EXPR, eval BLOCK, exec LIST, +exec PROGRAM LIST, exists EXPR, exit EXPR, exp EXPR, exp, fcntl +FILEHANDLE,FUNCTION,SCALAR, fileno FILEHANDLE, flock FILEHANDLE,OPERATION, +fork, format, formline PICTURE,LIST, getc FILEHANDLE, getc, getlogin, +getpeername SOCKET, getpgrp PID, getppid, getpriority WHICH,WHO, getpwnam +NAME, getgrnam NAME, gethostbyname NAME, getnetbyname NAME, getprotobyname +NAME, getpwuid UID, getgrgid GID, getservbyname NAME,PROTO, gethostbyaddr +ADDR,ADDRTYPE, getnetbyaddr ADDR,ADDRTYPE, getprotobynumber NUMBER, +getservbyport PORT,PROTO, getpwent, getgrent, gethostent, getnetent, +getprotoent, getservent, setpwent, setgrent, sethostent STAYOPEN, setnetent +STAYOPEN, setprotoent STAYOPEN, setservent STAYOPEN, endpwent, endgrent, +endhostent, endnetent, endprotoent, endservent, getsockname SOCKET, +getsockopt SOCKET,LEVEL,OPTNAME, glob EXPR, glob, gmtime EXPR, goto LABEL, +goto EXPR, goto &NAME, grep BLOCK LIST, grep EXPR,LIST, hex EXPR, hex, +import, index STR,SUBSTR,POSITION, index STR,SUBSTR, int EXPR, int, ioctl +FILEHANDLE,FUNCTION,SCALAR, join EXPR,LIST, keys HASH, kill SIGNAL, LIST, +last LABEL, last, lc EXPR, lc, lcfirst EXPR, lcfirst, length EXPR, length, +link OLDFILE,NEWFILE, listen SOCKET,QUEUESIZE, local EXPR, localtime EXPR, +lock THING, log EXPR, log, lstat EXPR, lstat, m//, map BLOCK LIST, map +EXPR,LIST, mkdir FILENAME,MASK, mkdir FILENAME, msgctl ID,CMD,ARG, msgget +KEY,FLAGS, msgrcv ID,VAR,SIZE,TYPE,FLAGS, msgsnd ID,MSG,FLAGS, my EXPR, my +TYPE EXPR, my EXPR : ATTRS, my TYPE EXPR : ATTRS, next LABEL, next, no +Module VERSION LIST, no Module VERSION, no Module LIST, no Module, oct +EXPR, oct, open FILEHANDLE,EXPR, open FILEHANDLE,MODE,EXPR, open +FILEHANDLE,MODE,EXPR,LIST, open FILEHANDLE,MODE,REFERENCE, open FILEHANDLE, +opendir DIRHANDLE,EXPR, ord EXPR, ord, our EXPR, our EXPR TYPE, our EXPR : +ATTRS, our TYPE EXPR : ATTRS, pack TEMPLATE,LIST, package NAMESPACE, +package, pipe READHANDLE,WRITEHANDLE, pop ARRAY, pop, pos SCALAR, pos, +print FILEHANDLE LIST, print LIST, print, printf FILEHANDLE FORMAT, LIST, +printf FORMAT, LIST, prototype FUNCTION, push ARRAY,LIST, q/STRING/, +qq/STRING/, qr/STRING/, qx/STRING/, qw/STRING/, quotemeta EXPR, quotemeta, +rand EXPR, rand, read FILEHANDLE,SCALAR,LENGTH,OFFSET, read +FILEHANDLE,SCALAR,LENGTH, readdir DIRHANDLE, readline EXPR, readlink EXPR, +readlink, readpipe EXPR, recv SOCKET,SCALAR,LENGTH,FLAGS, redo LABEL, redo, +ref EXPR, ref, rename OLDNAME,NEWNAME, require VERSION, require EXPR, +require, reset EXPR, reset, return EXPR, return, reverse LIST, rewinddir +DIRHANDLE, rindex STR,SUBSTR,POSITION, rindex STR,SUBSTR, rmdir FILENAME, +rmdir, s///, scalar EXPR, seek FILEHANDLE,POSITION,WHENCE, seekdir +DIRHANDLE,POS, select FILEHANDLE, select, select RBITS,WBITS,EBITS,TIMEOUT, +semctl ID,SEMNUM,CMD,ARG, semget KEY,NSEMS,FLAGS, semop KEY,OPSTRING, send +SOCKET,MSG,FLAGS,TO, send SOCKET,MSG,FLAGS, setpgrp PID,PGRP, setpriority +WHICH,WHO,PRIORITY, setsockopt SOCKET,LEVEL,OPTNAME,OPTVAL, shift ARRAY, +shift, shmctl ID,CMD,ARG, shmget KEY,SIZE,FLAGS, shmread ID,VAR,POS,SIZE, +shmwrite ID,STRING,POS,SIZE, shutdown SOCKET,HOW, sin EXPR, sin, sleep +EXPR, sleep, socket SOCKET,DOMAIN,TYPE,PROTOCOL, socketpair +SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL, sort SUBNAME LIST, sort BLOCK LIST, +sort LIST, splice ARRAY,OFFSET,LENGTH,LIST, splice ARRAY,OFFSET,LENGTH, +splice ARRAY,OFFSET, splice ARRAY, split /PATTERN/,EXPR,LIMIT, split +/PATTERN/,EXPR, split /PATTERN/, split, sprintf FORMAT, LIST, format +parameter index, flags, vector flag, (minimum) width, precision, or maximum +width, size, order of arguments, sqrt EXPR, sqrt, srand EXPR, srand, stat +FILEHANDLE, stat EXPR, stat, study SCALAR, study, sub NAME BLOCK, sub NAME +(PROTO) BLOCK, sub NAME : ATTRS BLOCK, sub NAME (PROTO) : ATTRS BLOCK, +substr EXPR,OFFSET,LENGTH,REPLACEMENT, substr EXPR,OFFSET,LENGTH, substr +EXPR,OFFSET, symlink OLDFILE,NEWFILE, syscall NUMBER, LIST, sysopen +FILEHANDLE,FILENAME,MODE, sysopen FILEHANDLE,FILENAME,MODE,PERMS, sysread +FILEHANDLE,SCALAR,LENGTH,OFFSET, sysread FILEHANDLE,SCALAR,LENGTH, sysseek +FILEHANDLE,POSITION,WHENCE, system LIST, system PROGRAM LIST, syswrite +FILEHANDLE,SCALAR,LENGTH,OFFSET, syswrite FILEHANDLE,SCALAR,LENGTH, +syswrite FILEHANDLE,SCALAR, tell FILEHANDLE, tell, telldir DIRHANDLE, tie +VARIABLE,CLASSNAME,LIST, tied VARIABLE, time, times, tr///, truncate +FILEHANDLE,LENGTH, truncate EXPR,LENGTH, uc EXPR, uc, ucfirst EXPR, +ucfirst, umask EXPR, umask, undef EXPR, undef, unlink LIST, unlink, unpack +TEMPLATE,EXPR, unpack TEMPLATE, untie VARIABLE, unshift ARRAY,LIST, use +Module VERSION LIST, use Module VERSION, use Module LIST, use Module, use +VERSION, utime LIST, values HASH, vec EXPR,OFFSET,BITS, wait, waitpid +PID,FLAGS, wantarray, warn LIST, write FILEHANDLE, write EXPR, write, y/// -=item Locking A Subroutine +=back =back -=item General Thread Utility Routines +=head2 perlopentut - tutorial on opening things in Perl =over 4 -=item What Thread Am I In? +=item DESCRIPTION -=item Thread IDs +=item Open E la shell -=item Are These Threads The Same? +=over 4 -=item What Threads Are Running? +=item Simple Opens + +=item Indirect Filehandles + +=item Pipe Opens + +=item The Minus File + +=item Mixing Reads and Writes + +=item Filters =back -=item A Complete Example +=item Open E la C -=item Conclusion +=over 4 -=item Bibliography +=item Permissions E la mode + +=back + +=item Obscure Open Tricks =over 4 -=item Introductory Texts +=item Re-Opening Files (dups) -=item OS-Related References +=item Dispelling the Dweomer -=item Other References +=item Paths as Opens + +=item Single Argument Open + +=item Playing with STDIN and STDOUT =back -=item Acknowledgements +=item Other I/O Issues -=item AUTHOR +=over 4 -=item Copyrights +=item Opening Non-File Files + +=item Opening Named Pipes + +=item Opening Sockets + +=item Binary Files + +=item File Locking + +=item IO Layers =back -=head2 perlport - Writing portable Perl +=item SEE ALSO + +=item AUTHOR and COPYRIGHT + +=item HISTORY + +=back + +=head2 perlpacktut - tutorial on C and C =over 4 =item DESCRIPTION -Not all Perl programs have to be portable, Nearly all of Perl already I -portable +=item The Basic Principle -=item ISSUES +=item Packing Text + +=item Packing Numbers =over 4 -=item Newlines +=item Integers -=item Numbers endianness and Width +=item Unpacking a Stack Frame -=item Files and Filesystems +=item How to Eat an Egg on a Net -=item System Interaction +=item Floating point Numbers -=item Command names versus file pathnames +=back -=item Interprocess Communication (IPC) +=item Exotic Templates -=item External Subroutines (XS) +=over 4 -=item Standard Modules +=item Bit Strings -=item Time and Date +=item Uuencoding -=item Character sets and character encoding +=item Doing Sums -=item Internationalisation +=item Unicode -=item System Resources +=item Another Portable Binary Encoding -=item Security +=back -=item Style +=item Template Grouping -=back +=item Lengths and Widths -=item CPAN Testers +=over 4 -Mailing list: cpan-testers@perl.org, Testing results: -http://testers.cpan.org/ +=item String Lengths -=item PLATFORMS +=item Dynamic Templates + +=item Counting Repetitions + +=back + +=item Packing and Unpacking C Structures =over 4 -=item Unix +=item The Alignment Pit -=item DOS and Derivatives +=item Alignment, Take 2 -=item S +=item Alignment, Take 3 -=item VMS +=item Pointers for How to Use Them -=item VOS +=back -=item EBCDIC Platforms +=item Pack Recipes -=item Acorn RISC OS +=item Funnies Section -=item Other perls +=item Authors =back -=item FUNCTION IMPLEMENTATIONS +=head2 perlpod - the Plain Old Documentation format =over 4 -=item Alphabetical Listing of Perl Functions +=item DESCRIPTION --I FILEHANDLE, -I EXPR, -I, alarm SECONDS, alarm, binmode -FILEHANDLE, chmod LIST, chown LIST, chroot FILENAME, chroot, crypt -PLAINTEXT,SALT, dbmclose HASH, dbmopen HASH,DBNAME,MODE, dump LABEL, exec -LIST, exit EXPR, exit, fcntl FILEHANDLE,FUNCTION,SCALAR, flock -FILEHANDLE,OPERATION, fork, getlogin, getpgrp PID, getppid, getpriority -WHICH,WHO, getpwnam NAME, getgrnam NAME, getnetbyname NAME, getpwuid UID, -getgrgid GID, getnetbyaddr ADDR,ADDRTYPE, getprotobynumber NUMBER, -getservbyport PORT,PROTO, getpwent, getgrent, gethostbyname, gethostent, -getnetent, getprotoent, getservent, sethostent STAYOPEN, setnetent -STAYOPEN, setprotoent STAYOPEN, setservent STAYOPEN, endpwent, endgrent, -endhostent, endnetent, endprotoent, endservent, getsockopt -SOCKET,LEVEL,OPTNAME, glob EXPR, glob, ioctl FILEHANDLE,FUNCTION,SCALAR, -kill SIGNAL, LIST, link OLDFILE,NEWFILE, lstat FILEHANDLE, lstat EXPR, -lstat, msgctl ID,CMD,ARG, msgget KEY,FLAGS, msgsnd ID,MSG,FLAGS, msgrcv -ID,VAR,SIZE,TYPE,FLAGS, open FILEHANDLE,EXPR, open FILEHANDLE, pipe -READHANDLE,WRITEHANDLE, readlink EXPR, readlink, select -RBITS,WBITS,EBITS,TIMEOUT, semctl ID,SEMNUM,CMD,ARG, semget -KEY,NSEMS,FLAGS, semop KEY,OPSTRING, setgrent, setpgrp PID,PGRP, -setpriority WHICH,WHO,PRIORITY, setpwent, setsockopt -SOCKET,LEVEL,OPTNAME,OPTVAL, shmctl ID,CMD,ARG, shmget KEY,SIZE,FLAGS, -shmread ID,VAR,POS,SIZE, shmwrite ID,STRING,POS,SIZE, sockatmark SOCKET, -socketpair SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL, stat FILEHANDLE, stat -EXPR, stat, symlink OLDFILE,NEWFILE, syscall LIST, sysopen -FILEHANDLE,FILENAME,MODE,PERMS, system LIST, times, truncate -FILEHANDLE,LENGTH, truncate EXPR,LENGTH, umask EXPR, umask, utime LIST, -wait, waitpid PID,FLAGS +=over 4 -=back +=item Ordinary Paragraph -=item CHANGES +=item Verbatim Paragraph -v1.49, 12 August 2002, v1.48, 02 February 2001, v1.47, 22 March 2000, -v1.46, 12 February 2000, v1.45, 20 December 1999, v1.44, 19 July 1999, -v1.43, 24 May 1999, v1.42, 22 May 1999, v1.41, 19 May 1999, v1.40, 11 April -1999, v1.39, 11 February 1999, v1.38, 31 December 1998, v1.37, 19 December -1998, v1.36, 9 September 1998, v1.35, 13 August 1998, v1.33, 06 August -1998, v1.32, 05 August 1998, v1.30, 03 August 1998, v1.23, 10 July 1998 +=item Command Paragraph -=item Supported Platforms +C<=head1 I>, C<=head2 I>, C<=head3 I>, C<=head4 I>, C<=over I>, C<=item +I>, C<=back>, C<=cut>, C<=pod>, C<=begin I>, C<=end +I>, C<=for I I>, C<=encoding +I> + +=item Formatting Codes + +CtextE> -- italic text, CtextE> -- bold text, +CcodeE> -- code text, CnameE> -- a hyperlink, +CescapeE> -- a character escape, CfilenameE> -- used +for filenames, CtextE> -- text contains non-breaking spaces, +Ctopic nameE> -- an index entry, CE> -- a null +(zero-effect) formatting code + +=item The Intent + +=item Embedding Pods in Perl Modules + +=item Hints for Writing Pod + +=back =item SEE ALSO -=item AUTHORS / CONTRIBUTORS +=item AUTHOR =back -=head2 perllocale - Perl locale handling (internationalization and -localization) +=head2 perlpodspec - Plain Old Documentation: format specification and +notes =over 4 =item DESCRIPTION -=item PREPARING TO USE LOCALES - -=item USING LOCALES +=item Pod Definitions -=over 4 +=item Pod Commands -=item The use locale pragma +"=head1", "=head2", "=head3", "=head4", "=pod", "=cut", "=over", "=item", +"=back", "=begin formatname", "=end formatname", "=for formatname text...", +"=encoding encodingname" -=item The setlocale function +=item Pod Formatting Codes -=item Finding locales +CtextE> -- italic text, CtextE> -- bold text, +CcodeE> -- code text, CfilenameE> -- style for +filenames, Ctopic nameE> -- an index entry, CE> -- a +null (zero-effect) formatting code, CnameE> -- a hyperlink, +CescapeE> -- a character escape, CtextE> -- text +contains non-breaking spaces -=item LOCALE PROBLEMS +=item Notes on Implementing Pod Processors -=item Temporarily fixing locale problems +=item About LE...E Codes -=item Permanently fixing locale problems +First:, Second:, Third:, Fourth:, Fifth:, Sixth: -=item Permanently fixing your system's locale configuration +=item About =over...=back Regions -=item Fixing system locale configuration +=item About Data Paragraphs and "=begin/=end" Regions -=item The localeconv function +=item SEE ALSO -=item I18N::Langinfo +=item AUTHOR =back -=item LOCALE CATEGORIES +=head2 perlrun - how to execute the Perl interpreter =over 4 -=item Category LC_COLLATE: Collation +=item SYNOPSIS -=item Category LC_CTYPE: Character Types +=item DESCRIPTION -=item Category LC_NUMERIC: Numeric Formatting +=over 4 -=item Category LC_MONETARY: Formatting of monetary amounts +=item #! and quoting on non-Unix systems -=item LC_TIME +OS/2, MS-DOS, Win95/NT, Macintosh, VMS -=item Other categories +=item Location of Perl -=back +=item Command Switches -=item SECURITY +B<-0>[I], B<-A [I]>, B<-a>, B<-C +[I]>, B<-c>, B<-d>, B<-d:>I, B<-D>I, +B<-D>I, B<-e> I, B<-F>I, B<-h>, +B<-i>[I], B<-I>I, B<-l>[I], +B<-m>[B<->]I, B<-M>[B<->]I, B<-M>[B<->]I<'module ...'>, +B<-[mM]>[B<->]I, B<-n>, B<-p>, B<-P>, B<-s>, B<-S>, +B<-t>, B<-T>, B<-u>, B<-U>, B<-v>, B<-V>, B<-V:>I, B<-w>, B<-W>, +B<-X>, B<-x> I + +=back =item ENVIRONMENT -PERL_BADLANG, LC_ALL, LANGUAGE, LC_CTYPE, LC_COLLATE, LC_MONETARY, -LC_NUMERIC, LC_TIME, LANG +HOME, LOGDIR, PATH, PERL5LIB, PERL5OPT, PERLIO, :bytes, :crlf, :mmap, +:perlio, :pop, :raw, :stdio, :unix, :utf8, :win32, PERLIO_DEBUG, PERLLIB, +PERL5DB, PERL5SHELL (specific to the Win32 port), PERL_DEBUG_MSTATS, +PERL_DESTRUCT_LEVEL, PERL_ENCODING, PERL_HASH_SEED, PERL_HASH_SEED_DEBUG, +PERL_ROOT (specific to the VMS port), PERL_SIGNALS, PERL_UNICODE, SYS$LOGIN +(specific to the VMS port) -=item NOTES +=back + +=head2 perldiag - various Perl diagnostics =over 4 -=item Backward compatibility +=item DESCRIPTION -=item I18N:Collate obsolete +=back -=item Sort speed and memory use impacts +=head2 perllexwarn - Perl Lexical Warnings -=item write() and LC_NUMERIC +=over 4 -=item Freely available locale definitions +=item DESCRIPTION -=item I18n and l10n +=over 4 -=item An imperfect standard +=item Default Warnings and Optional Warnings -=back +=item What's wrong with B<-w> and C<$^W> -=item Unicode and UTF-8 +=item Controlling Warnings from the Command Line -=item BUGS +B<-w>, B<-W>, B<-X> -=over 4 +=item Backward Compatibility -=item Broken systems +=item Category Hierarchy + +=item Fatal Warnings + +=item Reporting Warnings from a Module =back +=item TODO + =item SEE ALSO -=item HISTORY +=item AUTHOR =back -=head2 perluniintro - Perl Unicode introduction +=head2 perldebug - Perl debugging =over 4 =item DESCRIPTION -=over 4 - -=item Unicode - -=item Perl's Unicode Support - -=item Perl's Unicode Model +=item The Perl Debugger -=item Unicode and EBCDIC +=over 4 -=item Creating Unicode +=item Debugger Commands -=item Handling Unicode +h, h [command], h h, p expr, x [maxdepth] expr, V [pkg [vars]], X [vars], y +[level [vars]], T, s [expr], n [expr], r, , c [line|sub], l, l +min+incr, l min-max, l line, l subname, -, v [line], f filename, /pattern/, +?pattern?, L [abw], S [[!]regex], t, t expr, b, b [line] [condition], b +subname [condition], b postpone subname [condition], b load filename, b +compile subname, B line, B *, a [line] command, A line, A *, w expr, W +expr, W *, o, o booloption .., o anyoption? .., o option=value .., < ?, < [ +command ], < *, << command, > ?, > command, > *, >> command, { ?, { [ +command ], { *, {{ command, ! number, ! -number, ! pattern, !! cmd, source +file, H -number, q or ^D, R, |dbcmd, ||dbcmd, command, m expr, M, man +[manpage] -=item Legacy Encodings +=item Configurable Options -=item Unicode I/O +C, C, C, C, C, +C, C, C, C, C, +C, C, C, C, C, +C, C, C, C, C, +C, C, C, C, C, +C, C, C, C, C, C, +C -=item Displaying Unicode As Text +=item Debugger input/output -=item Special Cases +Prompt, Multiline commands, Stack backtrace, Line Listing Format, Frame +listing -=item Advanced Topics +=item Debugging compile-time statements -=item Miscellaneous +=item Debugger Customization -=item Questions With Answers +=item Readline Support -=item Hexadecimal Notation +=item Editor Support for Debugging -=item Further Resources +=item The Perl Profiler =back -=item UNICODE IN OLDER PERLS +=item Debugging regular expressions -=item SEE ALSO +=item Debugging memory usage -=item ACKNOWLEDGMENTS +=item SEE ALSO -=item AUTHOR, COPYRIGHT, AND LICENSE +=item BUGS =back -=head2 perlunicode - Unicode support in Perl +=head2 perlvar - Perl predefined variables =over 4 @@ -2393,1063 +2375,1147 @@ LC_NUMERIC, LC_TIME, LANG =over 4 -=item Important Caveats - -Input and Output Layers, Regular Expressions, C still needed to -enable UTF-8/UTF-EBCDIC in scripts +=item Predefined Names -=item Byte and Character Semantics +$ARG, $_, $a, $b, $>, $MATCH, $&, $PREMATCH, $`, $POSTMATCH, $', +$LAST_PAREN_MATCH, $+, $^N, @LAST_MATCH_END, @+, +HANDLE->input_line_number(EXPR), $INPUT_LINE_NUMBER, $NR, $, +IO::Handle->input_record_separator(EXPR), $INPUT_RECORD_SEPARATOR, $RS, $/, +HANDLE->autoflush(EXPR), $OUTPUT_AUTOFLUSH, $|, +IO::Handle->output_field_separator EXPR, $OUTPUT_FIELD_SEPARATOR, $OFS, $,, +IO::Handle->output_record_separator EXPR, $OUTPUT_RECORD_SEPARATOR, $ORS, +$\, $LIST_SEPARATOR, $", $SUBSCRIPT_SEPARATOR, $SUBSEP, $;, $#, +HANDLE->format_page_number(EXPR), $FORMAT_PAGE_NUMBER, $%, +HANDLE->format_lines_per_page(EXPR), $FORMAT_LINES_PER_PAGE, $=, +HANDLE->format_lines_left(EXPR), $FORMAT_LINES_LEFT, $-, @LAST_MATCH_START, +@-, C<$`> is the same as C, C<$&> is the same as +C, C<$'> is the same as C, C<$1> is the same as C, C<$2> +is the same as C, C<$3> is the same as +C, HANDLE->format_name(EXPR), +$FORMAT_NAME, $~, HANDLE->format_top_name(EXPR), $FORMAT_TOP_NAME, $^, +IO::Handle->format_line_break_characters EXPR, +$FORMAT_LINE_BREAK_CHARACTERS, $:, IO::Handle->format_formfeed EXPR, +$FORMAT_FORMFEED, $^L, $ACCUMULATOR, $^A, $CHILD_ERROR, $?, ${^ENCODING}, +$OS_ERROR, $ERRNO, $!, %!, $EXTENDED_OS_ERROR, $^E, $EVAL_ERROR, $@, +$PROCESS_ID, $PID, $$, $REAL_USER_ID, $UID, $<, $EFFECTIVE_USER_ID, $EUID, +$>, $REAL_GROUP_ID, $GID, $(, $EFFECTIVE_GROUP_ID, $EGID, $), +$PROGRAM_NAME, $0, $[, $], $COMPILING, $^C, $DEBUGGING, $^D, +$SYSTEM_FD_MAX, $^F, $^H, %^H, $INPLACE_EDIT, $^I, $^M, $OSNAME, $^O, +${^OPEN}, $PERLDB, $^P, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, +0x100, 0x200, 0x400, $LAST_REGEXP_CODE_RESULT, $^R, +$EXCEPTIONS_BEING_CAUGHT, $^S, $BASETIME, $^T, ${^TAINT}, ${^UNICODE}, +$PERL_VERSION, $^V, $WARNING, $^W, ${^WARNING_BITS}, $EXECUTABLE_NAME, $^X, +ARGV, $ARGV, @ARGV, ARGVOUT, @F, @INC, @_, %INC, %ENV, $ENV{expr}, %SIG, +$SIG{expr} -=item Effects of Character Semantics +=item Error Indicators -=item Scripts +=item Technical Note on the Syntax of Variable Names -=item Blocks +=back -=item User-Defined Character Properties +=item BUGS -=item Character Encodings for Input and Output +=back -=item Unicode Regular Expression Support Level +=head2 perlre - Perl regular expressions -=item Unicode Encodings +=over 4 -=item Security Implications of Unicode +=item DESCRIPTION -=item Unicode in Perl on EBCDIC +i, m, s, x -=item Locales +=over 4 -=item When Unicode Does Not Happen +=item Regular Expressions -chmod, chmod, chown, chroot, exec, link, mkdir, rename, rmdir, stat, -symlink, truncate, unlink, utime, %ENV, glob (aka the <*>), open, opendir, -sysopen, qx (aka the backtick operator), system, readdir, readlink +[1], [2], [3], cntrl, graph, print, punct, xdigit -=item Forcing Unicode in Perl (Or Unforcing Unicode in Perl) +=item Extended Patterns -=item Using Unicode in XS +C<(?#text)>, C<(?imsx-imsx)>, C<(?:pattern)>, C<(?imsx-imsx:pattern)>, +C<(?=pattern)>, C<(?!pattern)>, C<(?<=pattern)>, C<(?, C<(?{ +code })>, C<(??{ code })>, C<< (?>pattern) >>, +C<(?(condition)yes-pattern|no-pattern)>, C<(?(condition)yes-pattern)> -=back +=item Backtracking -=item BUGS +=item Version 8 Regular Expressions -=over 4 +=item Warning on \1 vs $1 -=item Interaction with Locales +=item Repeated patterns matching zero-length substring -=item Interaction with Extensions +=item Combining pieces together -=item Speed +C, C, C, C, C, C, +C, C, C, C, C, C<< (?>S) >>, C<(?=S)>, C<(?<=S)>, +C<(?!S)>, C<(?, C<(??{ EXPR })>, +C<(?(condition)yes-pattern|no-pattern)> -=item Porting code from perl-5.6.X +=item Creating custom RE engines =back +=item BUGS + =item SEE ALSO =back -=head2 perlebcdic - Considerations for running Perl on EBCDIC platforms +=head2 perlreref - Perl Regular Expressions Reference =over 4 =item DESCRIPTION -=item COMMON CHARACTER CODE SETS - =over 4 -=item ASCII +=item OPERATORS -=item ISO 8859 +=item SYNTAX -=item Latin 1 (ISO 8859-1) +=item ESCAPE SEQUENCES -=item EBCDIC +=item CHARACTER CLASSES -=item 13 variant characters +=item ANCHORS -=item 0037 +=item QUANTIFIERS -=item 1047 +=item EXTENDED CONSTRUCTS -=item POSIX-BC +=item VARIABLES -=item Unicode code points versus EBCDIC code points +=item FUNCTIONS -=item Remaining Perl Unicode problems in EBCDIC +=item TERMINOLOGY + +=back + +=item AUTHOR -=item Unicode and UTF +=item SEE ALSO -=item Using Encode +=item THANKS =back -=item SINGLE OCTET TABLES +=head2 perlref - Perl references and nested data structures -recipe 0, recipe 1, recipe 2, recipe 3, recipe 4, recipe 5, recipe 6 +=over 4 -=item IDENTIFYING CHARACTER CODE SETS +=item NOTE -=item CONVERSIONS +=item DESCRIPTION =over 4 -=item tr/// +=item Making References -=item iconv +=item Using References -=item C RTL +=item Symbolic references -=back +=item Not-so-symbolic references -=item OPERATOR DIFFERENCES +=item Pseudo-hashes: Using an array as a hash -=item FUNCTION DIFFERENCES +=item Function Templates -chr(), ord(), pack(), print(), printf(), sort(), sprintf(), unpack() +=back -=item REGULAR EXPRESSION DIFFERENCES +=item WARNING -=item SOCKETS +=item SEE ALSO -=item SORTING +=back -=over 4 +=head2 perlform - Perl formats -=item Ignore ASCII vs. EBCDIC sort differences. +=over 4 -=item MONO CASE then sort data. +=item DESCRIPTION -=item Convert, sort data, then re convert. +=over 4 -=item Perform sorting on one type of machine only. +=item Format Variables =back -=item TRANSFORMATION FORMATS +=item NOTES =over 4 -=item URL decoding and encoding +=item Footers -=item uu encoding and decoding +=item Accessing Formatting Internals -=item Quoted-Printable encoding and decoding +=back -=item Caesarian ciphers +=item WARNINGS =back -=item Hashing order and checksums - -=item I18N AND L10N +=head2 perlobj - Perl objects -=item MULTI OCTET CHARACTER SETS +=over 4 -=item OS ISSUES +=item DESCRIPTION =over 4 -=item OS/400 +=item An Object is Simply a Reference -PASE, IFS access +=item A Class is Simply a Package -=item OS/390, z/OS +=item A Method is Simply a Subroutine -chcp, dataset access, OS/390, z/OS iconv, locales +=item Method Invocation -=item VM/ESA? +=item Indirect Object Syntax -=item POSIX-BC? +=item Default UNIVERSAL methods -=back +isa(CLASS), can(METHOD), VERSION( [NEED] ) -=item BUGS +=item Destructors -=item SEE ALSO +=item Summary -=item REFERENCES +=item Two-Phased Garbage Collection -=item HISTORY +=back -=item AUTHOR +=item SEE ALSO =back -=head2 perlsec - Perl security +=head2 perltie - how to hide an object class in a simple variable =over 4 +=item SYNOPSIS + =item DESCRIPTION =over 4 -=item Laundering and Detecting Tainted Data +=item Tying Scalars -=item Switches On the "#!" Line +TIESCALAR classname, LIST, FETCH this, STORE this, value, UNTIE this, +DESTROY this -=item Cleaning Up Your Path +=item Tying Arrays -=item Security Bugs +TIEARRAY classname, LIST, FETCH this, index, STORE this, index, value, +FETCHSIZE this, STORESIZE this, count, EXTEND this, count, EXISTS this, +key, DELETE this, key, CLEAR this, PUSH this, LIST, POP this, SHIFT this, +UNSHIFT this, LIST, SPLICE this, offset, length, LIST, UNTIE this, DESTROY +this -=item Protecting Your Programs +=item Tying Hashes -=item Unicode +USER, HOME, CLOBBER, LIST, TIEHASH classname, LIST, FETCH this, key, STORE +this, key, value, DELETE this, key, CLEAR this, EXISTS this, key, FIRSTKEY +this, NEXTKEY this, lastkey, UNTIE this, DESTROY this + +=item Tying FileHandles + +TIEHANDLE classname, LIST, WRITE this, LIST, PRINT this, LIST, PRINTF this, +LIST, READ this, LIST, READLINE this, GETC this, CLOSE this, UNTIE this, +DESTROY this + +=item UNTIE this + +=item The C Gotcha =back =item SEE ALSO -=back +=item BUGS -=head2 perlmod - Perl modules (packages and symbol tables) +=item AUTHOR -=over 4 +=back -=item DESCRIPTION +=head2 perldbmfilter - Perl DBM Filters =over 4 -=item Packages +=item SYNOPSIS -=item Symbol Tables +=item DESCRIPTION -=item Package Constructors and Destructors +B, B, B, +B -=item Perl Classes +=over 4 -=item Perl Modules +=item The Filter -=item Making your module threadsafe +=item An Example -- the NULL termination problem. + +=item Another Example -- Key is a C int. =back =item SEE ALSO +=item AUTHOR + =back -=head2 perlmodinstall - Installing CPAN Modules +=head2 perlipc - Perl interprocess communication (signals, fifos, pipes, +safe subprocesses, sockets, and semaphores) =over 4 =item DESCRIPTION -=over 4 +=item Signals -=item PREAMBLE +=over 4 -B the file, B the file into a directory, B the -module (sometimes unnecessary), B the module +=item Handling the SIGHUP Signal in Daemons =back -=item PORTABILITY +=item Named Pipes -=item HEY +=over 4 -=item AUTHOR +=item Deferred Signals (Safe Signals) -=item COPYRIGHT +Long running opcodes, Interrupting IO, Restartable system calls, Signals as +"faults", Signals triggered by operating system state =back -=head2 perlmodlib - constructing new Perl modules and finding existing ones +=item Using open() for IPC =over 4 -=item THE PERL MODULE LIBRARY +=item Filehandles + +=item Background Processes + +=item Complete Dissociation of Child from Parent + +=item Safe Pipe Opens + +=item Bidirectional Communication with Another Process + +=item Bidirectional Communication with Yourself + +=back + +=item Sockets: Client/Server Communication =over 4 -=item Pragmatic Modules +=item Internet Line Terminators -assertions, assertions::activate, attributes, attrs, autouse, base, bigint, -bignum, bigrat, blib, bytes, charnames, constant, diagnostics, encoding, -fields, filetest, if, integer, less, lib, locale, open, ops, overload, re, -sigtrap, sort, strict, subs, threads, threads::shared, utf8, vars, version, -vmsish, warnings, warnings::register +=item Internet TCP Clients and Servers -=item Standard Modules +=item Unix-Domain TCP Clients and Servers -AnyDBM_File, Attribute::Handlers, AutoLoader, AutoSplit, B, B::Asmdata, -B::Assembler, B::Bblock, B::Bytecode, B::C, B::CC, B::Concise, B::Debug, -B::Deparse, B::Disassembler, B::Lint, B::Showlex, B::Stackobj, B::Stash, -B::Terse, B::Xref, Benchmark, ByteLoader, CGI, CGI::Apache, CGI::Carp, -CGI::Cookie, CGI::Fast, CGI::Pretty, CGI::Push, CGI::Switch, CGI::Util, -CPAN, CPAN::FirstTime, CPAN::Nox, Carp, Carp::Heavy, Class::ISA, -Class::Struct, Config, Cwd, DB, DB_File, Data::Dumper, Devel::DProf, -Devel::PPPort, Devel::Peek, Devel::SelfStubber, Digest, Digest::MD5, -DirHandle, Dumpvalue, DynaLoader, Encode, Encode::Alias, Encode::Byte, -Encode::CJKConstants, Encode::CN, Encode::CN::HZ, Encode::Config, -Encode::EBCDIC, Encode::Encoder, Encode::Encoding, Encode::Guess, -Encode::JP, Encode::JP::H2Z, Encode::JP::JIS7, Encode::KR, -Encode::KR::2022_KR, Encode::MIME::Header, Encode::PerlIO, -Encode::Supported, Encode::Symbol, Encode::TW, Encode::Unicode, -Encode::Unicode::UTF7, English, Env, Errno, Exporter, Exporter::Heavy, -ExtUtils::Command, ExtUtils::Command::MM, ExtUtils::Constant, -ExtUtils::Embed, ExtUtils::Install, ExtUtils::Installed, ExtUtils::Liblist, -ExtUtils::MM, ExtUtils::MM_Any, ExtUtils::MM_BeOS, ExtUtils::MM_Cygwin, -ExtUtils::MM_DOS, ExtUtils::MM_MacOS, ExtUtils::MM_NW5, ExtUtils::MM_OS2, -ExtUtils::MM_UWIN, ExtUtils::MM_Unix, ExtUtils::MM_VMS, ExtUtils::MM_Win32, -ExtUtils::MM_Win95, ExtUtils::MY, ExtUtils::MakeMaker, -ExtUtils::MakeMaker::FAQ, ExtUtils::MakeMaker::Tutorial, -ExtUtils::MakeMaker::bytes, ExtUtils::MakeMaker::vmsish, -ExtUtils::Manifest, ExtUtils::Mkbootstrap, ExtUtils::Mksymlists, -ExtUtils::Packlist, ExtUtils::testlib, Fatal, Fcntl, File::Basename, -File::CheckTree, File::Compare, File::Copy, File::DosGlob, File::Find, -File::Glob, File::Path, File::Spec, File::Spec::Cygwin, File::Spec::Epoc, -File::Spec::Functions, File::Spec::Mac, File::Spec::OS2, File::Spec::Unix, -File::Spec::VMS, File::Spec::Win32, File::Temp, File::stat, FileCache, -FileHandle, Filter::Simple, Filter::Util::Call, FindBin, GDBM_File, -Getopt::Long, Getopt::Std, Hash::Util, I18N::Collate, I18N::LangTags, -I18N::LangTags::List, I18N::Langinfo, IO, IO::Dir, IO::File, IO::Handle, -IO::Pipe, IO::Poll, IO::Seekable, IO::Select, IO::Socket, IO::Socket::INET, -IO::Socket::UNIX, IPC::Open2, IPC::Open3, IPC::SysV, IPC::SysV::Msg, -IPC::SysV::Semaphore, List::Util, Locale::Constants, Locale::Country, -Locale::Currency, Locale::Language, Locale::Maketext, -Locale::Maketext::TPJ13, Locale::Script, MIME::Base64, -MIME::Base64::QuotedPrint, Math::BigFloat, Math::BigInt, -Math::BigInt::Calc, Math::BigInt::Scalar, Math::BigRat, Math::Complex, -Math::Trig, Memoize, Memoize::AnyDBM_File, Memoize::Expire, -Memoize::ExpireFile, Memoize::ExpireTest, Memoize::NDBM_File, -Memoize::SDBM_File, Memoize::Storable, NDBM_File, NEXT, Net::Cmd, -Net::Config, Net::Domain, Net::FTP, Net::NNTP, Net::Netrc, Net::POP3, -Net::Ping, Net::SMTP, Net::Time, Net::hostent, Net::libnetFAQ, Net::netent, -Net::protoent, Net::servent, O, ODBM_File, Opcode, POSIX, PerlIO, -PerlIO::encoding, PerlIO::scalar, PerlIO::via, PerlIO::via::QuotedPrint, -Pod::Checker, Pod::Find, Pod::Functions, Pod::Html, Pod::InputObjects, -Pod::LaTeX, Pod::Man, Pod::ParseLink, Pod::ParseUtils, Pod::Parser, -Pod::Perldoc::ToChecker, Pod::Perldoc::ToMan, Pod::Perldoc::ToNroff, -Pod::Perldoc::ToPod, Pod::Perldoc::ToRtf, Pod::Perldoc::ToText, -Pod::Perldoc::ToTk, Pod::Perldoc::ToXml, Pod::PlainText, Pod::Plainer, -Pod::Select, Pod::Text, Pod::Text::Color, Pod::Text::Overstrike, -Pod::Text::Termcap, Pod::Usage, SDBM_File, Safe, Scalar::Util, -Search::Dict, SelectSaver, SelfLoader, Shell, Socket, Storable, Switch, -Symbol, Sys::Hostname, Sys::Syslog, Term::ANSIColor, Term::Cap, -Term::Complete, Term::ReadLine, Test, Test::Builder, Test::Harness, -Test::Harness::Assert, Test::Harness::Iterator, Test::Harness::Straps, -Test::More, Test::Simple, Test::Tutorial, Text::Abbrev, Text::Balanced, -Text::ParseWords, Text::Soundex, Text::Tabs, Text::Wrap, Thread, -Thread::Queue, Thread::Semaphore, Thread::Signal, Thread::Specific, -Tie::Array, Tie::File, Tie::Handle, Tie::Hash, Tie::Memoize, Tie::RefHash, -Tie::Scalar, Tie::SubstrHash, Time::HiRes, Time::Local, Time::gmtime, -Time::localtime, Time::tm, UNIVERSAL, Unicode::Collate, Unicode::Normalize, -Unicode::UCD, User::grent, User::pwent, Win32, XS::APItest, XS::Typemap, -XSLoader +=back + +=item TCP Clients with IO::Socket + +=over 4 -=item Extension Modules +=item A Simple Client + +C, C, C + +=item A Webget Client + +=item Interactive Client with IO::Socket =back -=item CPAN +=item TCP Servers with IO::Socket -=over 4 +Proto, LocalPort, Listen, Reuse -=item Africa +=item UDP: Message Passing -South Africa +=item SysV IPC -=item Asia +=item NOTES -China, India, Indonesia, Israel, Japan, Korea, Philippines, Russian -Federation, Saudi Arabia, Singapore, South Korea, Taiwan, Thailand +=item BUGS -=item Central America +=item AUTHOR -Costa Rica +=item SEE ALSO -=item Europe +=back -Austria, Belgium, Bulgaria, Croatia, Czech Republic, Denmark, Estonia, -Finland, France, Germany, Greece, Hungary, Iceland, Ireland, Italy, Latvia, -Lithuania, Netherlands, Norway, Poland, Portugal, Romania, Russia, -Slovakia, Slovenia, Spain, Sweden, Switzerland, Turkey, Ukraine, United -Kingdom +=head2 perlfork - Perl's fork() emulation -=item North America +=over 4 -Alberta, Manitoba, Nova Scotia, Ontario, Quebec, Mexico +=item SYNOPSIS -=item United States +=item DESCRIPTION -Alabama, California, Colorado, Delaware, District of Columbia, Florida, -Illinois, Indiana, Kentucky, Massachusetts, Michigan, New Jersey, New York, -North Carolina, Ohio, Oklahoma, Oregon, Pennsylvania, Tennessee, Texas, -Utah, Virginia, ashington, Wisconsin +=over 4 -=item Oceania +=item Behavior of other Perl features in forked pseudo-processes -Australia, New Zealand +$$ or $PROCESS_ID, %ENV, chdir() and all other builtins that accept +filenames, wait() and waitpid(), kill(), exec(), exit(), Open handles to +files, directories and network sockets -=item South America +=item Resource limits -Argentina, Brazil, Chile +=item Killing the parent process -=item RSYNC Mirrors +=item Lifetime of the parent process and pseudo-processes + +=item CAVEATS AND LIMITATIONS + +BEGIN blocks, Open filehandles, Forking pipe open() not yet implemented, +Global state maintained by XSUBs, Interpreter embedded in larger +application, Thread-safety of extensions =back -=item Modules: Creation, Use, and Abuse +=item BUGS + +=item AUTHOR + +=item SEE ALSO + +=back + +=head2 perlnumber - semantics of numbers and numeric operations in Perl =over 4 -=item Guidelines for Module Creation +=item SYNOPSIS -=item Guidelines for Converting Perl 4 Library Scripts into Modules +=item DESCRIPTION -=item Guidelines for Reusing Application Code +=item Storing numbers -=back +=item Numeric operators and numeric conversions -=item NOTE +=item Flavors of Perl numeric operations + +Arithmetic operators, ++, Arithmetic operators during C, Other +mathematical operators, Bitwise operators, Bitwise operators during C, Operators which expect an integer, Operators which expect a +string + +=item AUTHOR + +=item SEE ALSO =back -=head2 perlmodstyle - Perl module style guide +=head2 perlthrtut - tutorial on threads in Perl =over 4 -=item INTRODUCTION +=item DESCRIPTION -=item QUICK CHECKLIST +=item Status -=over 4 +=item What Is A Thread Anyway? -=item Before you start +=item Threaded Program Models -=item The API +=over 4 -=item Stability +=item Boss/Worker -=item Documentation +=item Work Crew -=item Release considerations +=item Pipeline =back -=item BEFORE YOU START WRITING A MODULE +=item What kind of threads are Perl threads? + +=item Thread-Safe Modules + +=item Thread Basics =over 4 -=item Has it been done before? +=item Basic Thread Support -=item Do one thing and do it well +=item A Note about the Examples -=item What's in a name? +=item Creating Threads + +=item Waiting For A Thread To Exit + +=item Ignoring A Thread =back -=item DESIGNING AND WRITING YOUR MODULE +=item Threads And Data =over 4 -=item To OO or not to OO? +=item Shared And Unshared Data -=item Designing your API +=item Thread Pitfalls: Races -Write simple routines to do simple things, Separate functionality from -output, Provide sensible shortcuts and defaults, Naming conventions, -Parameter passing +=back -=item Strictness and warnings +=item Synchronization and control -=item Backwards compatibility +=over 4 -=item Error handling and messages +=item Controlling access: lock() -=back +=item A Thread Pitfall: Deadlocks -=item DOCUMENTING YOUR MODULE +=item Queues: Passing Data Around -=over 4 +=item Semaphores: Synchronizing Data Access -=item POD +=item Basic semaphores -=item README, INSTALL, release notes, changelogs +=item Advanced Semaphores -perl Makefile.PL, make, make test, make install, perl Build.PL, perl Build, -perl Build test, perl Build install +=item cond_wait() and cond_signal() + +=item Giving up control =back -=item RELEASE CONSIDERATIONS +=item General Thread Utility Routines =over 4 -=item Version numbering - -=item Pre-requisites +=item What Thread Am I In? -=item Testing +=item Thread IDs -=item Packaging +=item Are These Threads The Same? -=item Licensing +=item What Threads Are Running? =back -=item COMMON PITFALLS +=item A Complete Example + +=item Different implementations of threads + +=item Performance considerations + +=item Process-scope Changes + +=item Thread-Safety of System Libraries + +=item Conclusion + +=item Bibliography =over 4 -=item Reinventing the wheel +=item Introductory Texts -=item Trying to do too much +=item OS-Related References -=item Inappropriate documentation +=item Other References =back -=item SEE ALSO - -L, L, L, L, Packaging Tools, -Testing tools, http://pause.perl.org/, Any good book on software -engineering +=item Acknowledgements =item AUTHOR +=item Copyrights + =back -=head2 perlnewmod - preparing a new module for distribution +=head2 perlothrtut - old tutorial on threads in Perl =over 4 =item DESCRIPTION +=item What Is A Thread Anyway? + +=item Threaded Program Models + =over 4 -=item Warning +=item Boss/Worker -=item What should I make into a module? +=item Work Crew -=item Step-by-step: Preparing the ground +=item Pipeline -Look around, Check it's new, Discuss the need, Choose a name, Check again +=back -=item Step-by-step: Making the module +=item Native threads -Start with F, Use L and L, Use -L, Use L - wisely!, Use L, Write tests, Write the README +=item What kind of threads are perl threads? -=item Step-by-step: Distributing your module +=item Threadsafe Modules -Get a CPAN user ID, C, Upload the -tarball, Announce to the modules list, Announce to clpa, Fix bugs! +=item Thread Basics -=back +=over 4 -=item AUTHOR +=item Basic Thread Support -=item SEE ALSO +=item Creating Threads + +=item Giving up control + +=item Waiting For A Thread To Exit + +=item Errors In Threads + +=item Ignoring A Thread =back -=head2 perlfaq1 - General Questions About Perl ($Revision: 1.11 $, $Date: -2002/12/06 07:40:11 $) +=item Threads And Data =over 4 -=item DESCRIPTION +=item Shared And Unshared Data + +=item Thread Pitfall: Races + +=item Controlling access: lock() + +=item Thread Pitfall: Deadlocks + +=item Queues: Passing Data Around + +=back + +=item Threads And Code =over 4 -=item What is Perl? +=item Semaphores: Synchronizing Data Access -=item Who supports Perl? Who develops it? Why is it free? +Basic semaphores, Advanced Semaphores -=item Which version of Perl should I use? +=item Attributes: Restricting Access To Subroutines -=item What are perl4 and perl5? +=item Subroutine Locks + +=item Methods + +=item Locking A Subroutine + +=back + +=item General Thread Utility Routines + +=over 4 + +=item What Thread Am I In? -=item What is perl6? +=item Thread IDs -=item How stable is Perl? +=item Are These Threads The Same? -=item Is Perl difficult to learn? +=item What Threads Are Running? -=item How does Perl compare with other languages like Java, Python, REXX, -Scheme, or Tcl? +=back -=item Can I do [task] in Perl? +=item A Complete Example -=item When shouldn't I program in Perl? +=item Conclusion -=item What's the difference between "perl" and "Perl"? +=item Bibliography -=item Is it a Perl program or a Perl script? +=over 4 -=item What is a JAPH? +=item Introductory Texts -=item Where can I get a list of Larry Wall witticisms? +=item OS-Related References -=item How can I convince my sysadmin/supervisor/employees to use version -5/5.6.1/Perl instead of some other language? +=item Other References =back -=item AUTHOR AND COPYRIGHT +=item Acknowledgements -=back +=item AUTHOR -=head2 perlfaq2 - Obtaining and Learning about Perl ($Revision: 1.20 $, -$Date: 2003/01/26 17:50:56 $) +=item Copyrights -=over 4 +=back -=item DESCRIPTION +=head2 perlport - Writing portable Perl =over 4 -=item What machines support Perl? Where do I get it? +=item DESCRIPTION -=item How can I get a binary version of Perl? +Not all Perl programs have to be portable, Nearly all of Perl already I +portable -=item I don't have a C compiler on my system. How can I compile perl? +=item ISSUES -=item I copied the Perl binary from one machine to another, but scripts -don't work. +=over 4 -=item I grabbed the sources and tried to compile but gdbm/dynamic -loading/malloc/linking/... failed. How do I make it work? +=item Newlines -=item What modules and extensions are available for Perl? What is CPAN? -What does CPAN/src/... mean? +=item Numbers endianness and Width -=item Is there an ISO or ANSI certified version of Perl? +=item Files and Filesystems -=item Where can I get information on Perl? +=item System Interaction -=item What are the Perl newsgroups on Usenet? Where do I post questions? +=item Command names versus file pathnames -=item Where should I post source code? +=item Networking -=item Perl Books +=item Interprocess Communication (IPC) -References, Tutorials, Task-Oriented, Special Topics +=item External Subroutines (XS) -=item Perl in Magazines +=item Standard Modules -=item Perl on the Net: FTP and WWW Access +=item Time and Date -=item What mailing lists are there for Perl? +=item Character sets and character encoding -=item Archives of comp.lang.perl.misc +=item Internationalisation -=item Where can I buy a commercial version of Perl? +=item System Resources -=item Where do I send bug reports? +=item Security -=item What is perl.com? Perl Mongers? pm.org? perl.org? cpan.org? +=item Style =back -=item AUTHOR AND COPYRIGHT +=item CPAN Testers -=back +Mailing list: cpan-testers@perl.org, Testing results: +http://testers.cpan.org/ -=head2 perlfaq3 - Programming Tools ($Revision: 1.33 $, $Date: 2003/01/31 -17:34:56 $) +=item PLATFORMS =over 4 -=item DESCRIPTION +=item Unix -=over 4 +=item DOS and Derivatives -=item How do I do (anything)? +=item S -=item How can I use Perl interactively? +=item VMS -=item Is there a Perl shell? +=item VOS -=item How do I find which modules are installed on my system? +=item EBCDIC Platforms -=item How do I debug my Perl programs? +=item Acorn RISC OS -=item How do I profile my Perl programs? +=item Other perls -=item How do I cross-reference my Perl programs? +=back -=item Is there a pretty-printer (formatter) for Perl? +=item FUNCTION IMPLEMENTATIONS -=item Is there a ctags for Perl? +=over 4 -=item Is there an IDE or Windows Perl Editor? +=item Alphabetical Listing of Perl Functions -Komodo, The Object System, Open Perl IDE, PerlBuilder, visiPerl+, OptiPerl, -GNU Emacs, MicroEMACS, XEmacs, Jed, Elvis, Vile, Vim, Codewright, -MultiEdit, SlickEdit, Bash, Ksh, Tcsh, Zsh, BBEdit and BBEdit Lite, Alpha +-I FILEHANDLE, -I EXPR, -I, alarm SECONDS, alarm, binmode +FILEHANDLE, chmod LIST, chown LIST, chroot FILENAME, chroot, crypt +PLAINTEXT,SALT, dbmclose HASH, dbmopen HASH,DBNAME,MODE, dump LABEL, exec +LIST, exit EXPR, exit, fcntl FILEHANDLE,FUNCTION,SCALAR, flock +FILEHANDLE,OPERATION, fork, getlogin, getpgrp PID, getppid, getpriority +WHICH,WHO, getpwnam NAME, getgrnam NAME, getnetbyname NAME, getpwuid UID, +getgrgid GID, getnetbyaddr ADDR,ADDRTYPE, getprotobynumber NUMBER, +getservbyport PORT,PROTO, getpwent, getgrent, gethostbyname, gethostent, +getnetent, getprotoent, getservent, sethostent STAYOPEN, setnetent +STAYOPEN, setprotoent STAYOPEN, setservent STAYOPEN, endpwent, endgrent, +endhostent, endnetent, endprotoent, endservent, getsockopt +SOCKET,LEVEL,OPTNAME, glob EXPR, glob, ioctl FILEHANDLE,FUNCTION,SCALAR, +kill SIGNAL, LIST, link OLDFILE,NEWFILE, lstat FILEHANDLE, lstat EXPR, +lstat, msgctl ID,CMD,ARG, msgget KEY,FLAGS, msgsnd ID,MSG,FLAGS, msgrcv +ID,VAR,SIZE,TYPE,FLAGS, open FILEHANDLE,EXPR, open FILEHANDLE, pipe +READHANDLE,WRITEHANDLE, readlink EXPR, readlink, select +RBITS,WBITS,EBITS,TIMEOUT, semctl ID,SEMNUM,CMD,ARG, semget +KEY,NSEMS,FLAGS, semop KEY,OPSTRING, setgrent, setpgrp PID,PGRP, +setpriority WHICH,WHO,PRIORITY, setpwent, setsockopt +SOCKET,LEVEL,OPTNAME,OPTVAL, shmctl ID,CMD,ARG, shmget KEY,SIZE,FLAGS, +shmread ID,VAR,POS,SIZE, shmwrite ID,STRING,POS,SIZE, sockatmark SOCKET, +socketpair SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL, stat FILEHANDLE, stat +EXPR, stat, symlink OLDFILE,NEWFILE, syscall LIST, sysopen +FILEHANDLE,FILENAME,MODE,PERMS, system LIST, times, truncate +FILEHANDLE,LENGTH, truncate EXPR,LENGTH, umask EXPR, umask, utime LIST, +wait, waitpid PID,FLAGS -=item Where can I get Perl macros for vi? +=back -=item Where can I get perl-mode for emacs? +=item CHANGES -=item How can I use curses with Perl? +v1.49, 12 August 2002, v1.48, 02 February 2001, v1.47, 22 March 2000, +v1.46, 12 February 2000, v1.45, 20 December 1999, v1.44, 19 July 1999, +v1.43, 24 May 1999, v1.42, 22 May 1999, v1.41, 19 May 1999, v1.40, 11 April +1999, v1.39, 11 February 1999, v1.38, 31 December 1998, v1.37, 19 December +1998, v1.36, 9 September 1998, v1.35, 13 August 1998, v1.33, 06 August +1998, v1.32, 05 August 1998, v1.30, 03 August 1998, v1.23, 10 July 1998 -=item How can I use X or Tk with Perl? +=item Supported Platforms -=item How can I generate simple menus without using CGI or Tk? +=item SEE ALSO -=item How can I make my Perl program run faster? +=item AUTHORS / CONTRIBUTORS -=item How can I make my Perl program take less memory? +=back -Don't slurp!, Use map and grep selectively, Avoid unnecessary quotes and -stringification, Pass by reference, Tie large variables to disk +=head2 perllocale - Perl locale handling (internationalization and +localization) -=item Is it safe to return a reference to local or lexical data? +=over 4 -=item How can I free an array or hash so my program shrinks? +=item DESCRIPTION -=item How can I make my CGI script more efficient? +=item PREPARING TO USE LOCALES -=item How can I hide the source for my Perl program? +=item USING LOCALES -=item How can I compile my Perl program into byte code or C? +=over 4 -=item How can I compile Perl into Java? +=item The use locale pragma -=item How can I get C<#!perl> to work on [MS-DOS,NT,...]? +=item The setlocale function -=item Can I write useful Perl programs on the command line? +=item Finding locales -=item Why don't Perl one-liners work on my DOS/Mac/VMS system? +=item LOCALE PROBLEMS -=item Where can I learn about CGI or Web programming in Perl? +=item Temporarily fixing locale problems -=item Where can I learn about object-oriented Perl programming? +=item Permanently fixing locale problems -=item Where can I learn about linking C with Perl? [h2xs, xsubpp] +=item Permanently fixing your system's locale configuration -=item I've read perlembed, perlguts, etc., but I can't embed perl in -my C program; what am I doing wrong? +=item Fixing system locale configuration -=item When I tried to run my script, I got this message. What does it mean? +=item The localeconv function -=item What's MakeMaker? +=item I18N::Langinfo =back -=item AUTHOR AND COPYRIGHT +=item LOCALE CATEGORIES -=back +=over 4 -=head2 perlfaq4 - Data Manipulation ($Revision: 1.43 $, $Date: 2003/02/23 -20:25:09 $) +=item Category LC_COLLATE: Collation -=over 4 +=item Category LC_CTYPE: Character Types -=item DESCRIPTION +=item Category LC_NUMERIC: Numeric Formatting -=item Data: Numbers +=item Category LC_MONETARY: Formatting of monetary amounts -=over 4 +=item LC_TIME -=item Why am I getting long decimals (eg, 19.9499999999999) instead of the -numbers I should be getting (eg, 19.95)? +=item Other categories -=item Why isn't my octal data interpreted correctly? +=back -=item Does Perl have a round() function? What about ceil() and floor()? -Trig functions? +=item SECURITY -=item How do I convert between numeric representations? +=item ENVIRONMENT -How do I convert hexadecimal into decimal, How do I convert from decimal to -hexadecimal, How do I convert from octal to decimal, How do I convert from -decimal to octal, How do I convert from binary to decimal, How do I convert -from decimal to binary +PERL_BADLANG, LC_ALL, LANGUAGE, LC_CTYPE, LC_COLLATE, LC_MONETARY, +LC_NUMERIC, LC_TIME, LANG -=item Why doesn't & work the way I want it to? +=item NOTES -=item How do I multiply matrices? +=over 4 -=item How do I perform an operation on a series of integers? +=item Backward compatibility -=item How can I output Roman numerals? +=item I18N:Collate obsolete -=item Why aren't my random numbers random? +=item Sort speed and memory use impacts -=item How do I get a random number between X and Y? +=item write() and LC_NUMERIC -=back +=item Freely available locale definitions -=item Data: Dates +=item I18n and l10n -=over 4 +=item An imperfect standard -=item How do I find the day or week of the year? +=back -=item How can I compare two dates and find the difference? +=item Unicode and UTF-8 -=item How can I take a string and turn it into epoch seconds? +=item BUGS -=item How can I find the Julian Day? +=over 4 -=item How do I find yesterday's date? +=item Broken systems -=item Does Perl have a Year 2000 problem? Is Perl Y2K compliant? +=back + +=item SEE ALSO + +=item HISTORY =back -=item Data: Strings +=head2 perluniintro - Perl Unicode introduction =over 4 -=item How do I validate input? +=item DESCRIPTION -=item How do I unescape a string? +=over 4 -=item How do I remove consecutive pairs of characters? +=item Unicode -=item How do I expand function calls in a string? +=item Perl's Unicode Support -=item How do I find matching/nesting anything? +=item Perl's Unicode Model -=item How do I reverse a string? +=item Unicode and EBCDIC -=item How do I expand tabs in a string? +=item Creating Unicode -=item How do I reformat a paragraph? +=item Handling Unicode -=item How can I access or change N characters of a string? +=item Legacy Encodings -=item How do I change the Nth occurrence of something? +=item Unicode I/O -=item How can I count the number of occurrences of a substring within a -string? +=item Displaying Unicode As Text -=item How do I capitalize all the words on one line? +=item Special Cases -=item How can I split a [character] delimited string except when inside -[character]? +=item Advanced Topics -=item How do I strip blank space from the beginning/end of a string? +=item Miscellaneous -=item How do I pad a string with blanks or pad a number with zeroes? +=item Questions With Answers -=item How do I extract selected columns from a string? +=item Hexadecimal Notation -=item How do I find the soundex value of a string? +=item Further Resources -=item How can I expand variables in text strings? +=back -=item What's wrong with always quoting "$vars"? +=item UNICODE IN OLDER PERLS -=item Why don't my EEHERE documents work? +=item SEE ALSO -There must be no space after the EE part, There (probably) should -be a semicolon at the end, You can't (easily) have any space in front of -the tag +=item ACKNOWLEDGMENTS + +=item AUTHOR, COPYRIGHT, AND LICENSE =back -=item Data: Arrays +=head2 perlunicode - Unicode support in Perl =over 4 -=item What is the difference between a list and an array? +=item DESCRIPTION -=item What is the difference between $array[1] and @array[1]? +=over 4 -=item How can I remove duplicate elements from a list or array? +=item Important Caveats -a), b), c), d), e) +Input and Output Layers, Regular Expressions, C still needed to +enable UTF-8/UTF-EBCDIC in scripts -=item How can I tell whether a certain element is contained in a list or -array? +=item Byte and Character Semantics -=item How do I compute the difference of two arrays? How do I compute the -intersection of two arrays? +=item Effects of Character Semantics -=item How do I test whether two arrays or hashes are equal? +=item Scripts -=item How do I find the first array element for which a condition is true? +=item Blocks -=item How do I handle linked lists? +=item User-Defined Character Properties -=item How do I handle circular lists? +=item Character Encodings for Input and Output -=item How do I shuffle an array randomly? +=item Unicode Regular Expression Support Level -=item How do I process/modify each element of an array? +=item Unicode Encodings -=item How do I select a random element from an array? +=item Security Implications of Unicode -=item How do I permute N elements of a list? +=item Unicode in Perl on EBCDIC -=item How do I sort an array by (anything)? +=item Locales -=item How do I manipulate arrays of bits? +=item When Unicode Does Not Happen -=item Why does defined() return true on empty arrays and hashes? +=item Forcing Unicode in Perl (Or Unforcing Unicode in Perl) + +=item Using Unicode in XS =back -=item Data: Hashes (Associative Arrays) +=item BUGS =over 4 -=item How do I process an entire hash? - -=item What happens if I add or remove keys from a hash while iterating over -it? +=item Interaction with Locales -=item How do I look up a hash element by value? +=item Interaction with Extensions -=item How can I know how many entries are in a hash? +=item Speed -=item How do I sort a hash (optionally by value instead of key)? +=item Porting code from perl-5.6.X -=item How can I always keep my hash sorted? +=back -=item What's the difference between "delete" and "undef" with hashes? +=item SEE ALSO -=item Why don't my tied hashes make the defined/exists distinction? +=back -=item How do I reset an each() operation part-way through? +=head2 perlebcdic - Considerations for running Perl on EBCDIC platforms -=item How can I get the unique keys from two hashes? +=over 4 -=item How can I store a multidimensional array in a DBM file? +=item DESCRIPTION -=item How can I make my hash remember the order I put elements into it? +=item COMMON CHARACTER CODE SETS -=item Why does passing a subroutine an undefined element in a hash create -it? +=over 4 -=item How can I make the Perl equivalent of a C structure/C++ class/hash or -array of hashes or arrays? +=item ASCII -=item How can I use a reference as a hash key? +=item ISO 8859 -=back +=item Latin 1 (ISO 8859-1) -=item Data: Misc +=item EBCDIC -=over 4 +=item 13 variant characters -=item How do I handle binary data correctly? +=item 0037 -=item How do I determine whether a scalar is a number/whole/integer/float? +=item 1047 -=item How do I keep persistent data across program calls? +=item POSIX-BC -=item How do I print out or copy a recursive data structure? +=item Unicode code points versus EBCDIC code points -=item How do I define methods for every class/object? +=item Remaining Perl Unicode problems in EBCDIC -=item How do I verify a credit card checksum? +=item Unicode and UTF -=item How do I pack arrays of doubles or floats for XS code? +=item Using Encode =back -=item AUTHOR AND COPYRIGHT - -=back +=item SINGLE OCTET TABLES -=head2 perlfaq5 - Files and Formats ($Revision: 1.28 $, $Date: 2003/01/26 -17:45:46 $) +recipe 0, recipe 1, recipe 2, recipe 3, recipe 4, recipe 5, recipe 6 -=over 4 +=item IDENTIFYING CHARACTER CODE SETS -=item DESCRIPTION +=item CONVERSIONS =over 4 -=item How do I flush/unbuffer an output filehandle? Why must I do this? +=item tr/// -=item How do I change one line in a file/delete a line in a file/insert a -line in the middle of a file/append to the beginning of a file? +=item iconv -=item How do I count the number of lines in a file? +=item C RTL -=item How can I use Perl's C<-i> option from within a program? +=back -=item How do I make a temporary file name? +=item OPERATOR DIFFERENCES -=item How can I manipulate fixed-record-length files? +=item FUNCTION DIFFERENCES -=item How can I make a filehandle local to a subroutine? How do I pass -filehandles between subroutines? How do I make an array of filehandles? +chr(), ord(), pack(), print(), printf(), sort(), sprintf(), unpack() -=item How can I use a filehandle indirectly? +=item REGULAR EXPRESSION DIFFERENCES -=item How can I set up a footer format to be used with write()? +=item SOCKETS -=item How can I write() into a string? +=item SORTING -=item How can I output my numbers with commas added? +=over 4 -=item How can I translate tildes (~) in a filename? +=item Ignore ASCII vs. EBCDIC sort differences. -=item How come when I open a file read-write it wipes it out? +=item MONO CASE then sort data. -=item Why do I sometimes get an "Argument list too long" when I use -E*E? +=item Convert, sort data, then re convert. -=item Is there a leak/bug in glob()? +=item Perform sorting on one type of machine only. -=item How can I open a file with a leading ">" or trailing blanks? +=back -=item How can I reliably rename a file? +=item TRANSFORMATION FORMATS -=item How can I lock a file? +=over 4 -=item Why can't I just open(FH, "Efile.lock")? +=item URL decoding and encoding -=item I still don't get locking. I just want to increment the number in -the file. How can I do this? +=item uu encoding and decoding -=item All I want to do is append a small amount of text to the end of a -file. Do I still have to use locking? +=item Quoted-Printable encoding and decoding -=item How do I randomly update a binary file? +=item Caesarian ciphers -=item How do I get a file's timestamp in perl? +=back -=item How do I set a file's timestamp in perl? +=item Hashing order and checksums -=item How do I print to more than one file at once? +=item I18N AND L10N -=item How can I read in an entire file all at once? +=item MULTI OCTET CHARACTER SETS -=item How can I read in a file by paragraphs? +=item OS ISSUES -=item How can I read a single character from a file? From the keyboard? +=over 4 -=item How can I tell whether there's a character waiting on a filehandle? +=item OS/400 -=item How do I do a C in perl? +PASE, IFS access -=item How do I dup() a filehandle in Perl? +=item OS/390, z/OS -=item How do I close a file descriptor by number? +chcp, dataset access, OS/390, z/OS iconv, locales -=item Why can't I use "C:\temp\foo" in DOS paths? Why doesn't -`C:\temp\foo.exe` work? +=item VM/ESA? -=item Why doesn't glob("*.*") get all the files? +=item POSIX-BC? -=item Why does Perl let me delete read-only files? Why does C<-i> clobber -protected files? Isn't this a bug in Perl? +=back -=item How do I select a random line from a file? +=item BUGS -=item Why do I get weird spaces when I print an array of lines? +=item SEE ALSO -=back +=item REFERENCES -=item AUTHOR AND COPYRIGHT +=item HISTORY + +=item AUTHOR =back -=head2 perlfaq6 - Regular Expressions ($Revision: 1.20 $, $Date: 2003/01/03 -20:05:28 $) +=head2 perlsec - Perl security =over 4 @@ -3457,276 +3523,332 @@ protected files? Isn't this a bug in Perl? =over 4 -=item How can I hope to use regular expressions without creating illegible -and unmaintainable code? - -Comments Outside the Regex, Comments Inside the Regex, Different Delimiters - -=item I'm having trouble matching over more than one line. What's wrong? - -=item How can I pull out lines between two patterns that are themselves on -different lines? - -=item I put a regular expression into $/ but it didn't work. What's wrong? +=item Laundering and Detecting Tainted Data -=item How do I substitute case insensitively on the LHS while preserving -case on the RHS? +=item Switches On the "#!" Line -=item How can I make C<\w> match national character sets? +=item Cleaning Up Your Path -=item How can I match a locale-smart version of C? +=item Security Bugs -=item How can I quote a variable to use in a regex? +=item Protecting Your Programs -=item What is C really for? +=item Unicode -=item How do I use a regular expression to strip C style comments from a -file? +=item Algorithmic Complexity Attacks -=item Can I use Perl regular expressions to match balanced text? +=back -=item What does it mean that regexes are greedy? How can I get around it? +=item SEE ALSO -=item How do I process each word on each line? +=back -=item How can I print out a word-frequency or line-frequency summary? +=head2 perlmod - Perl modules (packages and symbol tables) -=item How can I do approximate matching? +=over 4 -=item How do I efficiently match many regular expressions at once? +=item DESCRIPTION -=item Why don't word-boundary searches with C<\b> work for me? +=over 4 -=item Why does using $&, $`, or $' slow my program down? +=item Packages -=item What good is C<\G> in a regular expression? +=item Symbol Tables -=item Are Perl regexes DFAs or NFAs? Are they POSIX compliant? +=item Package Constructors and Destructors -=item What's wrong with using grep or map in a void context? +=item Perl Classes -=item How can I match strings with multibyte characters? +=item Perl Modules -=item How do I match a pattern that is supplied by the user? +=item Making your module threadsafe =back -=item AUTHOR AND COPYRIGHT +=item SEE ALSO =back -=head2 perlfaq7 - General Perl Language Issues ($Revision: 1.14 $, $Date: -2003/01/31 17:38:14 $) +=head2 perlmodlib - constructing new Perl modules and finding existing ones =over 4 -=item DESCRIPTION +=item THE PERL MODULE LIBRARY =over 4 -=item Can I get a BNF/yacc/RE for the Perl language? - -=item What are all these $@%&* punctuation signs, and how do I know when to -use them? +=item Pragmatic Modules -=item Do I always/never have to quote my strings or use semicolons and -commas? +assertions, assertions::activate, attributes, attrs, autouse, base, bigint, +bignum, bigrat, blib, bytes, charnames, constant, diagnostics, encoding, +fields, filetest, if, integer, less, lib, locale, open, ops, overload, re, +sigtrap, sort, strict, subs, threads, threads::shared, utf8, vars, version, +vmsish, warnings, warnings::register -=item How do I skip some return values? +=item Standard Modules -=item How do I temporarily block warnings? +AnyDBM_File, Attribute::Handlers, AutoLoader, AutoSplit, B, B::Asmdata, +B::Assembler, B::Bblock, B::Bytecode, B::C, B::CC, B::Concise, B::Debug, +B::Deparse, B::Disassembler, B::Lint, B::Showlex, B::Stackobj, B::Stash, +B::Terse, B::Xref, Benchmark, ByteLoader, CGI, CGI::Apache, CGI::Carp, +CGI::Cookie, CGI::Fast, CGI::Pretty, CGI::Push, CGI::Switch, CGI::Util, +CPAN, CPAN::FirstTime, CPAN::Nox, Carp, Carp::Heavy, Class::ISA, +Class::Struct, Config, Cwd, DB, DB_File, Data::Dumper, Devel::DProf, +Devel::PPPort, Devel::Peek, Devel::SelfStubber, Digest, Digest::MD5, +DirHandle, Dumpvalue, DynaLoader, Encode, Encode::Alias, Encode::Byte, +Encode::CJKConstants, Encode::CN, Encode::CN::HZ, Encode::Config, +Encode::EBCDIC, Encode::Encoder, Encode::Encoding, Encode::Guess, +Encode::JP, Encode::JP::H2Z, Encode::JP::JIS7, Encode::KR, +Encode::KR::2022_KR, Encode::MIME::Header, Encode::PerlIO, +Encode::Supported, Encode::Symbol, Encode::TW, Encode::Unicode, +Encode::Unicode::UTF7, English, Env, Errno, Exporter, Exporter::Heavy, +ExtUtils::Command, ExtUtils::Command::MM, ExtUtils::Constant, +ExtUtils::Embed, ExtUtils::Install, ExtUtils::Installed, ExtUtils::Liblist, +ExtUtils::MM, ExtUtils::MM_Any, ExtUtils::MM_BeOS, ExtUtils::MM_Cygwin, +ExtUtils::MM_DOS, ExtUtils::MM_MacOS, ExtUtils::MM_NW5, ExtUtils::MM_OS2, +ExtUtils::MM_UWIN, ExtUtils::MM_Unix, ExtUtils::MM_VMS, ExtUtils::MM_Win32, +ExtUtils::MM_Win95, ExtUtils::MY, ExtUtils::MakeMaker, +ExtUtils::MakeMaker::FAQ, ExtUtils::MakeMaker::Tutorial, +ExtUtils::MakeMaker::bytes, ExtUtils::MakeMaker::vmsish, +ExtUtils::Manifest, ExtUtils::Mkbootstrap, ExtUtils::Mksymlists, +ExtUtils::Packlist, ExtUtils::testlib, Fatal, Fcntl, File::Basename, +File::CheckTree, File::Compare, File::Copy, File::DosGlob, File::Find, +File::Glob, File::Path, File::Spec, File::Spec::Cygwin, File::Spec::Epoc, +File::Spec::Functions, File::Spec::Mac, File::Spec::OS2, File::Spec::Unix, +File::Spec::VMS, File::Spec::Win32, File::Temp, File::stat, FileCache, +FileHandle, Filter::Simple, Filter::Util::Call, FindBin, GDBM_File, +Getopt::Long, Getopt::Std, Hash::Util, I18N::Collate, I18N::LangTags, +I18N::LangTags::List, I18N::Langinfo, IO, IO::Dir, IO::File, IO::Handle, +IO::Pipe, IO::Poll, IO::Seekable, IO::Select, IO::Socket, IO::Socket::INET, +IO::Socket::UNIX, IPC::Open2, IPC::Open3, IPC::SysV, IPC::SysV::Msg, +IPC::SysV::Semaphore, List::Util, Locale::Constants, Locale::Country, +Locale::Currency, Locale::Language, Locale::Maketext, +Locale::Maketext::TPJ13, Locale::Script, MIME::Base64, +MIME::Base64::QuotedPrint, Math::BigFloat, Math::BigInt, +Math::BigInt::Calc, Math::BigInt::Scalar, Math::BigRat, Math::Complex, +Math::Trig, Memoize, Memoize::AnyDBM_File, Memoize::Expire, +Memoize::ExpireFile, Memoize::ExpireTest, Memoize::NDBM_File, +Memoize::SDBM_File, Memoize::Storable, NDBM_File, NEXT, Net::Cmd, +Net::Config, Net::Domain, Net::FTP, Net::NNTP, Net::Netrc, Net::POP3, +Net::Ping, Net::SMTP, Net::Time, Net::hostent, Net::libnetFAQ, Net::netent, +Net::protoent, Net::servent, O, ODBM_File, Opcode, POSIX, PerlIO, +PerlIO::encoding, PerlIO::scalar, PerlIO::via, PerlIO::via::QuotedPrint, +Pod::Checker, Pod::Find, Pod::Functions, Pod::Html, Pod::InputObjects, +Pod::LaTeX, Pod::Man, Pod::ParseLink, Pod::ParseUtils, Pod::Parser, +Pod::Perldoc::ToChecker, Pod::Perldoc::ToMan, Pod::Perldoc::ToNroff, +Pod::Perldoc::ToPod, Pod::Perldoc::ToRtf, Pod::Perldoc::ToText, +Pod::Perldoc::ToTk, Pod::Perldoc::ToXml, Pod::PlainText, Pod::Plainer, +Pod::Select, Pod::Text, Pod::Text::Color, Pod::Text::Overstrike, +Pod::Text::Termcap, Pod::Usage, SDBM_File, Safe, Scalar::Util, +Search::Dict, SelectSaver, SelfLoader, Shell, Socket, Storable, Switch, +Symbol, Sys::Hostname, Sys::Syslog, Term::ANSIColor, Term::Cap, +Term::Complete, Term::ReadLine, Test, Test::Builder, Test::Harness, +Test::Harness::Assert, Test::Harness::Iterator, Test::Harness::Straps, +Test::More, Test::Simple, Test::Tutorial, Text::Abbrev, Text::Balanced, +Text::ParseWords, Text::Soundex, Text::Tabs, Text::Wrap, Thread, +Thread::Queue, Thread::Semaphore, Thread::Signal, Thread::Specific, +Tie::Array, Tie::File, Tie::Handle, Tie::Hash, Tie::Memoize, Tie::RefHash, +Tie::Scalar, Tie::SubstrHash, Time::HiRes, Time::Local, Time::gmtime, +Time::localtime, Time::tm, UNIVERSAL, Unicode::Collate, Unicode::Normalize, +Unicode::UCD, User::grent, User::pwent, Win32, XS::APItest, XS::Typemap, +XSLoader -=item What's an extension? +=item Extension Modules -=item Why do Perl operators have different precedence than C operators? +=back -=item How do I declare/create a structure? +=item CPAN -=item How do I create a module? +=over 4 -=item How do I create a class? +=item Africa -=item How can I tell if a variable is tainted? +South Africa -=item What's a closure? +=item Asia -=item What is variable suicide and how can I prevent it? +China, Indonesia, Israel, Japan, Malaysia, Russian Federation, Saudi +Arabia, Singapore, South Korea, Taiwan, Thailand -=item How can I pass/return a {Function, FileHandle, Array, Hash, Method, -Regex}? +=item Central America -Passing Variables and Functions, Passing Filehandles, Passing Regexes, -Passing Methods +Costa Rica -=item How do I create a static variable? +=item Europe -=item What's the difference between dynamic and lexical (static) scoping? -Between local() and my()? +Austria, Belgium, Bosnia and Herzegovina, Bulgaria, Croatia, Czech +Republic, Denmark, Estonia, Finland, France, Germany, Greece, Hungary, +Iceland, Ireland, Italy, Latvia, Lithuania, Netherlands, Norway, Poland, +Portugal, Romania, Russia, Slovakia, Slovenia, Spain, Sweden, Switzerland, +Turkey, Ukraine, United Kingdom -=item How can I access a dynamic variable while a similarly named lexical -is in scope? +=item North America -=item What's the difference between deep and shallow binding? +Canada, Alberta, Manitoba, Nova Scotia, Ontario, Mexico, United States, +Alabama, California, Colorado, Delaware, District of Columbia, Florida, +Indiana, Kentucky, Massachusetts, Michigan, Nevada, New Jersey, New York, +North Carolina, Oklahoma, Oregon, Pennsylvania, Tennessee, Texas, Utah, +Virginia, Washington, Wisconsin -=item Why doesn't "my($foo) = EFILEE;" work right? +=item Oceania -=item How do I redefine a builtin function, operator, or method? +Australia, New Zealand, United States -=item What's the difference between calling a function as &foo and foo()? +=item South America -=item How do I create a switch or case statement? +Argentina, Brazil, Chile -=item How can I catch accesses to undefined variables, functions, or -methods? +=item RSYNC Mirrors -=item Why can't a method included in this same file be found? +=back -=item How can I find out my current package? +=item Modules: Creation, Use, and Abuse -=item How can I comment out a large block of perl code? +=over 4 -=item How do I clear a package? +=item Guidelines for Module Creation -=item How can I use a variable as a variable name? +=item Guidelines for Converting Perl 4 Library Scripts into Modules -=item What does "bad interpreter" mean? +=item Guidelines for Reusing Application Code =back -=item AUTHOR AND COPYRIGHT +=item NOTE =back -=head2 perlfaq8 - System Interaction ($Revision: 1.17 $, $Date: 2003/01/26 -17:44:04 $) +=head2 perlmodstyle - Perl module style guide =over 4 -=item DESCRIPTION +=item INTRODUCTION + +=item QUICK CHECKLIST =over 4 -=item How do I find out which operating system I'm running under? +=item Before you start -=item How come exec() doesn't return? +=item The API -=item How do I do fancy stuff with the keyboard/screen/mouse? +=item Stability -Keyboard, Screen, Mouse +=item Documentation -=item How do I print something out in color? +=item Release considerations -=item How do I read just one key without waiting for a return key? +=back -=item How do I check whether input is ready on the keyboard? +=item BEFORE YOU START WRITING A MODULE -=item How do I clear the screen? +=over 4 -=item How do I get the screen size? +=item Has it been done before? -=item How do I ask the user for a password? +=item Do one thing and do it well -=item How do I read and write the serial port? +=item What's in a name? -lockfiles, open mode, end of line, flushing output, non-blocking input +=back -=item How do I decode encrypted password files? +=item DESIGNING AND WRITING YOUR MODULE -=item How do I start a process in the background? +=over 4 -STDIN, STDOUT, and STDERR are shared, Signals, Zombies +=item To OO or not to OO? -=item How do I trap control characters/signals? +=item Designing your API -=item How do I modify the shadow password file on a Unix system? +Write simple routines to do simple things, Separate functionality from +output, Provide sensible shortcuts and defaults, Naming conventions, +Parameter passing -=item How do I set the time and date? +=item Strictness and warnings -=item How can I sleep() or alarm() for under a second? +=item Backwards compatibility -=item How can I measure time under a second? +=item Error handling and messages -=item How can I do an atexit() or setjmp()/longjmp()? (Exception handling) +=back -=item Why doesn't my sockets program work under System V (Solaris)? What -does the error message "Protocol not supported" mean? +=item DOCUMENTING YOUR MODULE -=item How can I call my system's unique C functions from Perl? +=over 4 -=item Where do I get the include files to do ioctl() or syscall()? +=item POD -=item Why do setuid perl scripts complain about kernel problems? +=item README, INSTALL, release notes, changelogs -=item How can I open a pipe both to and from a command? +perl Makefile.PL, make, make test, make install, perl Build.PL, perl Build, +perl Build test, perl Build install -=item Why can't I get the output of a command with system()? +=back -=item How can I capture STDERR from an external command? +=item RELEASE CONSIDERATIONS -=item Why doesn't open() return an error when a pipe open fails? +=over 4 -=item What's wrong with using backticks in a void context? +=item Version numbering -=item How can I call backticks without shell processing? +=item Pre-requisites -=item Why can't my script read from STDIN after I gave it EOF (^D on Unix, -^Z on MS-DOS)? +=item Testing + +=item Packaging -=item How can I convert my shell script to perl? +=item Licensing -=item Can I use perl to run a telnet or ftp session? +=back -=item How can I write expect in Perl? +=item COMMON PITFALLS -=item Is there a way to hide perl's command line from programs such as -"ps"? +=over 4 -=item I {changed directory, modified my environment} in a perl script. How -come the change disappeared when I exited the script? How do I get my -changes to be visible? +=item Reinventing the wheel -Unix +=item Trying to do too much -=item How do I close a process's filehandle without waiting for it to -complete? +=item Inappropriate documentation -=item How do I fork a daemon process? +=back -=item How do I find out if I'm running interactively or not? +=item SEE ALSO -=item How do I timeout a slow event? +L, L, L, L, Packaging Tools, +Testing tools, http://pause.perl.org/, Any good book on software +engineering -=item How do I set CPU limits? +=item AUTHOR -=item How do I avoid zombies on a Unix system? +=back -=item How do I use an SQL database? +=head2 perlmodinstall - Installing CPAN Modules -=item How do I make a system() exit on control-C? +=over 4 -=item How do I open a file without blocking? +=item DESCRIPTION -=item How do I install a module from CPAN? +=over 4 -=item What's the difference between require and use? +=item PREAMBLE -=item How do I keep my own module/library directory? +B the file, B the file into a directory, B the +module (sometimes unnecessary), B the module -=item How do I add the directory my program lives in to the module/library -search path? +=back -=item How do I add a directory to my include path at runtime? +=item PORTABILITY -=item What is socket.ph and where do I get it? +=item HEY -=back +=item AUTHOR -=item AUTHOR AND COPYRIGHT +=item COPYRIGHT =back -=head2 perlfaq9 - Networking ($Revision: 1.15 $, $Date: 2003/01/31 17:36:57 -$) +=head2 perlnewmod - preparing a new module for distribution =over 4 @@ -3734,65 +3856,65 @@ $) =over 4 -=item What is the correct form of response from a CGI script? - -=item My CGI script runs from the command line but not the browser. (500 -Server Error) +=item Warning -=item How can I get better error messages from a CGI program? +=item What should I make into a module? -=item How do I remove HTML from a string? +=item Step-by-step: Preparing the ground -=item How do I extract URLs? +Look around, Check it's new, Discuss the need, Choose a name, Check again -=item How do I download a file from the user's machine? How do I open a -file on another machine? +=item Step-by-step: Making the module -=item How do I make a pop-up menu in HTML? +Start with F, Use L and L, Use +L, Use L - wisely!, Use L, Write tests, Write the README -=item How do I fetch an HTML file? +=item Step-by-step: Distributing your module -=item How do I automate an HTML form submission? +Get a CPAN user ID, C, Upload the +tarball, Announce to the modules list, Announce to clpa, Fix bugs! -=item How do I decode or create those %-encodings on the web? +=back -=item How do I redirect to another page? +=item AUTHOR -=item How do I put a password on my web pages? +=item SEE ALSO -=item How do I edit my .htpasswd and .htgroup files with Perl? +=back -=item How do I make sure users can't enter values into a form that cause my -CGI script to do bad things? +=head2 perlutil - utilities packaged with the Perl distribution -=item How do I parse a mail header? +=over 4 -=item How do I decode a CGI form? +=item DESCRIPTION -=item How do I check a valid mail address? +=over 4 -=item How do I decode a MIME/BASE64 string? +=item DOCUMENTATION -=item How do I return the user's mail address? +L, L and L, +L and L, L, +L, L, L, +L -=item How do I send mail? +=item CONVERTORS -=item How do I use MIME to make an attachment to a mail message? +L, L, L -=item How do I read mail? +=item Administration -=item How do I find out my hostname/domainname/IP address? +L -=item How do I fetch a news article or the active newsgroups? +=item Development -=item How do I fetch/put an FTP file? +L, L, L and L, +L, L, L -=item How can I do RPC in Perl? +=item SEE ALSO =back -=item AUTHOR AND COPYRIGHT - =back =head2 perlcompile - Introduction to the Perl Compiler-Translator @@ -3841,6 +3963,42 @@ B::Stackobj, B::Stash, B::Terse, B::Xref =back +=head2 perlfilter - Source Filters + +=over 4 + +=item DESCRIPTION + +=item CONCEPTS + +=item USING FILTERS + +=item WRITING A SOURCE FILTER + +=item WRITING A SOURCE FILTER IN C + +B + +=item CREATING A SOURCE FILTER AS A SEPARATE EXECUTABLE + +=item WRITING A SOURCE FILTER IN PERL + +=item USING CONTEXT: THE DEBUG FILTER + +=item CONCLUSION + +=item THINGS TO LOOK OUT FOR + +Some Filters Clobber the C Handle + +=item REQUIREMENTS + +=item AUTHOR + +=item Copyrights + +=back + =head2 perlembed - how to embed perl in your C program =over 4 @@ -4208,6 +4366,8 @@ C, C

, C, C =item Hash API Extensions +=item AVs, HVs and undefined values + =item References =item Blessed References and Class Objects @@ -4325,13 +4485,13 @@ A, p, d, s, n, r, f, M, o, j, x =item What B Unicode, anyway? -=item How can I recognise a UTF8 string? +=item How can I recognise a UTF-8 string? -=item How does UTF8 represent Unicode characters? +=item How does UTF-8 represent Unicode characters? -=item How does Perl store UTF8 strings? +=item How does Perl store UTF-8 strings? -=item How do I convert a string to UTF8? +=item How do I convert a string to UTF-8? =item Is there anything else I need to know? @@ -4431,103 +4591,6 @@ callback =back -=head2 perlutil - utilities packaged with the Perl distribution - -=over 4 - -=item DESCRIPTION - -=over 4 - -=item DOCUMENTATION - -L, L and L, -L and L, L, -L, L, L, -L - -=item CONVERTORS - -L, L, L - -=item Administration - -L - -=item Development - -L, L, L and L, -L, L, L - -=item SEE ALSO - -=back - -=back - -=head2 perlfilter - Source Filters - -=over 4 - -=item DESCRIPTION - -=item CONCEPTS - -=item USING FILTERS - -=item WRITING A SOURCE FILTER - -=item WRITING A SOURCE FILTER IN C - -B - -=item CREATING A SOURCE FILTER AS A SEPARATE EXECUTABLE - -=item WRITING A SOURCE FILTER IN PERL - -=item USING CONTEXT: THE DEBUG FILTER - -=item CONCLUSION - -=item THINGS TO LOOK OUT FOR - -Some Filters Clobber the C Handle - -=item REQUIREMENTS - -=item AUTHOR - -=item Copyrights - -=back - -=head2 perldbmfilter - Perl DBM Filters - -=over 4 - -=item SYNOPSIS - -=item DESCRIPTION - -B, B, B, -B - -=over 4 - -=item The Filter - -=item An Example -- the NULL termination problem. - -=item Another Example -- Key is a C int. - -=back - -=item SEE ALSO - -=item AUTHOR - -=back - =head2 perlapi - autogenerated documentation for the perl public API =over 4 @@ -4604,8 +4667,9 @@ savepv, savepvn, savesharedpv, StructCopy, Zero =item Miscellaneous Functions -fbm_compile, fbm_instr, form, getcwd_sv, strEQ, strGE, strGT, strLE, strLT, -strNE, strnEQ, strnNE +fbm_compile, fbm_instr, form, getcwd_sv, new_version, scan_version, strEQ, +strGE, strGT, strLE, strLT, strNE, strnEQ, strnNE, sv_nolocking, +sv_nosharing, sv_nounlocking, upg_version, vcmp, vnumify, vstringify =item Numeric functions @@ -4626,7 +4690,8 @@ dMARK, dORIGMARK, dSP, EXTEND, MARK, ORIGMARK, POPi, POPl, POPn, POPp, POPpbytex, POPpx, POPs, PUSHi, PUSHMARK, PUSHn, PUSHp, PUSHs, PUSHu, PUTBACK, SP, SPAGAIN, XPUSHi, XPUSHn, XPUSHp, XPUSHs, XPUSHu, XSRETURN, XSRETURN_IV, XSRETURN_NO, XSRETURN_NV, XSRETURN_PV, XSRETURN_UNDEF, -XSRETURN_YES, XST_mIV, XST_mNO, XST_mNV, XST_mPV, XST_mUNDEF, XST_mYES +XSRETURN_UV, XSRETURN_YES, XST_mIV, XST_mNO, XST_mNV, XST_mPV, XST_mUNDEF, +XST_mYES =item SV Flags @@ -4636,14 +4701,14 @@ svtype, SVt_IV, SVt_NV, SVt_PV, SVt_PVAV, SVt_PVCV, SVt_PVHV, SVt_PVMG get_sv, looks_like_number, newRV_inc, newRV_noinc, newSV, newSViv, newSVnv, newSVpv, newSVpvf, newSVpvn, newSVpvn_share, newSVrv, newSVsv, newSVuv, -new_version, scan_version, scan_vstring, SvCUR, SvCUR_set, SvEND, SvGROW, -SvIOK, SvIOKp, SvIOK_notUV, SvIOK_off, SvIOK_on, SvIOK_only, SvIOK_only_UV, -SvIOK_UV, SvIsCOW, SvIsCOW_shared_hash, SvIV, SvIVx, SvIVX, SvLEN, SvNIOK, -SvNIOKp, SvNIOK_off, SvNOK, SvNOKp, SvNOK_off, SvNOK_on, SvNOK_only, SvNV, -SvNVX, SvNVx, SvOK, SvOOK, SvPOK, SvPOKp, SvPOK_off, SvPOK_on, SvPOK_only, +SvCUR, SvCUR_set, SvEND, SvGROW, SvIOK, SvIOKp, SvIOK_notUV, SvIOK_off, +SvIOK_on, SvIOK_only, SvIOK_only_UV, SvIOK_UV, SvIsCOW, +SvIsCOW_shared_hash, SvIV, SvIVX, SvIVx, SvLEN, SvNIOK, SvNIOKp, +SvNIOK_off, SvNOK, SvNOKp, SvNOK_off, SvNOK_on, SvNOK_only, SvNV, SvNVx, +SvNVX, SvOK, SvOOK, SvPOK, SvPOKp, SvPOK_off, SvPOK_on, SvPOK_only, SvPOK_only_UTF8, SvPV, SvPVbyte, SvPVbytex, SvPVbytex_force, SvPVbyte_force, SvPVbyte_nolen, SvPVutf8, SvPVutf8x, SvPVutf8x_force, -SvPVutf8_force, SvPVutf8_nolen, SvPVx, SvPVX, SvPV_force, SvPV_force_nomg, +SvPVutf8_force, SvPVutf8_nolen, SvPVX, SvPVx, SvPV_force, SvPV_force_nomg, SvPV_nolen, SvREFCNT, SvREFCNT_dec, SvREFCNT_inc, SvROK, SvROK_off, SvROK_on, SvRV, SvSTASH, SvTAINT, SvTAINTED, SvTAINTED_off, SvTAINTED_on, SvTRUE, SvTYPE, SvUNLOCK, SvUOK, SvUPGRADE, SvUTF8, SvUTF8_off, SvUTF8_on, @@ -4655,27 +4720,26 @@ sv_catpv_mg, sv_catsv, sv_catsv_flags, sv_catsv_mg, sv_chop, sv_clear, sv_cmp, sv_cmp_locale, sv_collxfrm, sv_copypv, sv_dec, sv_derived_from, sv_eq, sv_force_normal, sv_force_normal_flags, sv_free, sv_gets, sv_grow, sv_inc, sv_insert, sv_isa, sv_isobject, sv_iv, sv_len, sv_len_utf8, -sv_magic, sv_magicext, sv_mortalcopy, sv_newmortal, sv_newref, -sv_nolocking, sv_nosharing, sv_nounlocking, sv_nv, sv_pos_b2u, sv_pos_u2b, -sv_pv, sv_pvbyte, sv_pvbyten, sv_pvbyten_force, sv_pvn, sv_pvn_force, -sv_pvn_force_flags, sv_pvutf8, sv_pvutf8n, sv_pvutf8n_force, sv_reftype, -sv_replace, sv_report_used, sv_reset, sv_rvweaken, sv_setiv, sv_setiv_mg, -sv_setnv, sv_setnv_mg, sv_setpv, sv_setpvf, sv_setpvf_mg, sv_setpviv, -sv_setpviv_mg, sv_setpvn, sv_setpvn_mg, sv_setpv_mg, sv_setref_iv, -sv_setref_nv, sv_setref_pv, sv_setref_pvn, sv_setref_uv, sv_setsv, -sv_setsv_flags, sv_setsv_mg, sv_setuv, sv_setuv_mg, sv_taint, sv_tainted, -sv_true, sv_unmagic, sv_unref, sv_unref_flags, sv_untaint, sv_upgrade, -sv_usepvn, sv_usepvn_mg, sv_utf8_decode, sv_utf8_downgrade, sv_utf8_encode, -sv_utf8_upgrade, sv_utf8_upgrade_flags, sv_uv, sv_vcatpvfn, sv_vsetpvfn, -upg_version, vcmp, vnumify, vstringify +sv_magic, sv_magicext, sv_mortalcopy, sv_newmortal, sv_newref, sv_nv, +sv_pos_b2u, sv_pos_u2b, sv_pv, sv_pvbyte, sv_pvbyten, sv_pvbyten_force, +sv_pvn, sv_pvn_force, sv_pvn_force_flags, sv_pvutf8, sv_pvutf8n, +sv_pvutf8n_force, sv_reftype, sv_replace, sv_report_used, sv_reset, +sv_rvweaken, sv_setiv, sv_setiv_mg, sv_setnv, sv_setnv_mg, sv_setpv, +sv_setpvf, sv_setpvf_mg, sv_setpviv, sv_setpviv_mg, sv_setpvn, +sv_setpvn_mg, sv_setpv_mg, sv_setref_iv, sv_setref_nv, sv_setref_pv, +sv_setref_pvn, sv_setref_uv, sv_setsv, sv_setsv_flags, sv_setsv_mg, +sv_setuv, sv_setuv_mg, sv_taint, sv_tainted, sv_true, sv_unmagic, sv_unref, +sv_unref_flags, sv_untaint, sv_upgrade, sv_usepvn, sv_usepvn_mg, +sv_utf8_decode, sv_utf8_downgrade, sv_utf8_encode, sv_utf8_upgrade, +sv_utf8_upgrade_flags, sv_uv, sv_vcatpvfn, sv_vsetpvfn =item Unicode Support bytes_from_utf8, bytes_to_utf8, ibcmp_utf8, is_utf8_char, is_utf8_string, -pv_uni_display, sv_cat_decode, sv_recode_to_utf8, sv_uni_display, -to_utf8_case, to_utf8_fold, to_utf8_lower, to_utf8_title, to_utf8_upper, -utf8n_to_uvchr, utf8n_to_uvuni, utf8_distance, utf8_hop, utf8_length, -utf8_to_bytes, utf8_to_uvchr, utf8_to_uvuni, uvchr_to_utf8, +is_utf8_string_loc, pv_uni_display, sv_cat_decode, sv_recode_to_utf8, +sv_uni_display, to_utf8_case, to_utf8_fold, to_utf8_lower, to_utf8_title, +to_utf8_upper, utf8n_to_uvchr, utf8n_to_uvuni, utf8_distance, utf8_hop, +utf8_length, utf8_to_bytes, utf8_to_uvchr, utf8_to_uvuni, uvchr_to_utf8, uvuni_to_utf8_flags =item Variables created by C and C internal functions @@ -4789,6 +4853,8 @@ Set_ptrcnt =item Implementing PerlIO Layers +C implementations, Perl implementations + =item Core Layers "unix", "perlio", "stdio", "crlf", "mmap", "pending", "raw", "utf8" @@ -4846,6 +4912,152 @@ PerlIO_apply_layers(f,mode,layers), PerlIO_binmode(f,ptype,imode,layers), =back +=head2 perlhack - How to hack at the Perl internals + +=over 4 + +=item DESCRIPTION + +Does concept match the general goals of Perl?, Where is the +implementation?, Backwards compatibility, Could it be a module instead?, Is +the feature generic enough?, Does it potentially introduce new bugs?, Does +it preclude other desirable features?, Is the implementation robust?, Is +the implementation generic enough to be portable?, Is the implementation +tested?, Is there enough documentation?, Is there another way to do it?, +Does it create too much work?, Patches speak louder than words + +=over 4 + +=item Keeping in sync + +rsync'ing the source tree, Using rsync over the LAN, Using pushing over the +NFS, rsync'ing the patches + +=item Why rsync the source tree + +It's easier to rsync the source tree, It's more reliable + +=item Why rsync the patches + +It's easier to rsync the patches, It's a good reference, Finding a start +point, Finding how to fix a bug, Finding the source of misbehaviour + +=item Perlbug administration + +=item Submitting patches + +L, L and L, L, +F, The perl5-porters FAQ + +=item Finding Your Way Around + +Core modules, Tests, Documentation, Configure, Interpreter + +=item Elements of the interpreter + +Startup, Parsing, Optimization, Running + +=item Internal Variable Types + +=item Op Trees + +=item Stacks + +Argument stack, Mark stack, Save stack + +=item Millions of Macros + +=item The .i Targets + +=item Poking at Perl + +=item Using a source-level debugger + +run [args], break function_name, break source.c:xxx, step, next, continue, +finish, 'enter', print + +=item gdb macro support + +=item Dumping Perl Data Structures + +=item Patching + +=item Patching a core module + +=item Adding a new function to the core + +=item Writing a test + +F, F, F, F, F, F, +F, F, F, F, F, t/base t/comp, +t/cmd t/run t/io t/op, t/lib ext lib + +=item Special Make Test Targets + +coretest, test.deparse, minitest, test.valgrind check.valgrind +utest.valgrind ucheck.valgrind, test.third check.third utest.third +ucheck.third, test.torture torturetest, utest ucheck test.utf8 check.utf8, +test_harness + +=item Running tests by hand + +PERL_CORE=1, PERL_DESTRUCT_LEVEL=2, PERL, PERL_SKIP_TTY_TEST + +=back + +=item EXTERNAL TOOLS FOR DEBUGGING PERL + +=over 4 + +=item Rational Software's Purify + +=item Purify on Unix + +-Accflags=-DPURIFY, -Doptimize='-g', -Uusemymalloc, -Dusemultiplicity + +=item Purify on NT + +DEFINES, USE_MULTI = define, #PERL_MALLOC = define, CFG = Debug + +=item valgrind + +=item Compaq's/Digital's/HP's Third Degree + +=item PERL_DESTRUCT_LEVEL + +=item Profiling + +=item Gprof Profiling + +-a, -b, -e routine, -f routine, -s, -z + +=item GCC gcov Profiling + +=item Pixie Profiling + +-h, -l, -p[rocedures], -h[eavy], -i[nvocations], -l[ines], -testcoverage, +-z[ero] + +=item Miscellaneous tricks + +=item CONCLUSION + +I + +=back + +=item AUTHOR + +=back + +=head2 perlbook - Perl book information + +=over 4 + +=item DESCRIPTION + +=back + =head2 perltodo - Perl TO-DO List =over 4 @@ -5028,6 +5240,9 @@ PerlIO_apply_layers(f,mode,layers), PerlIO_binmode(f,ptype,imode,layers), =item Taint rethink +=item Perform correctly when XSUBs call subroutines that exit via +goto(LABEL) and friends + =back =item Vague ideas @@ -5088,251 +5303,120 @@ PerlIO_apply_layers(f,mode,layers), PerlIO_binmode(f,ptype,imode,layers), =item Safe signal handling -=item Tie Modules - -=item gettimeofday - -=item setitimer and getimiter - -=item Testing __DIE__ hook - -=item CPP equivalent in Perl - -=item Explicit switch statements - -=item autocroak - -=item UTF/EBCDIC - -=item UTF Regexes - -=item perlcc to produce executable - -=item END blocks saved in compiled output - -=item Secure temporary file module - -=item Integrate Time::HiRes - -=item Turn Cwd into XS - -=item Mmap for input - -=item Byte to/from UTF8 and UTF8 to/from local conversion - -=item Add sockatmark support - -=item Mailing list archives - -=item Bug tracking - -=item Integrate MacPerl - -=item Web "nerve center" for Perl - -=item Regular expression tutorial - -=item Debugging Tutorial - -=item Integrate new modules - -=item Integrate profiler - -=item Y2K error detection - -=item Regular expression debugger - -=item POD checker - -=item "Dynamic" lexicals - -=item Cache precompiled modules - -=back - -=item Deprecated Wishes - -=over 4 - -=item Loop control on do{} - -=item Lexically scoped typeglobs - -=item format BOTTOM - -=item report HANDLE - -=item Generalised want()/caller()) - -=item Named prototypes - -=item Built-in globbing - -=item Regression tests for suidperl - -=item Cached hash values - -=item Add compression modules - -=item Reorganise documentation into tutorials/references - -=item Remove distinction between functions and operators - -=item Make XS easier to use - -=item Make embedding easier to use - -=item man for perl - -=item my $Package::variable - -=item "or" tests defined, not truth - -=item "class"-based lexicals - -=item byteperl - -=item Lazy evaluation / tail recursion removal - -=item Make "use utf8" the default - -=item Unicode collation and normalization - -=item pack/unpack tutorial - -=back - -=back +=item Tie Modules -=head2 perlhack - How to hack at the Perl internals +=item gettimeofday -=over 4 +=item setitimer and getimiter -=item DESCRIPTION +=item Testing __DIE__ hook -Does concept match the general goals of Perl?, Where is the -implementation?, Backwards compatibility, Could it be a module instead?, Is -the feature generic enough?, Does it potentially introduce new bugs?, Does -it preclude other desirable features?, Is the implementation robust?, Is -the implementation generic enough to be portable?, Is the implementation -tested?, Is there enough documentation?, Is there another way to do it?, -Does it create too much work?, Patches speak louder than words +=item CPP equivalent in Perl -=over 4 +=item Explicit switch statements -=item Keeping in sync +=item autocroak -rsync'ing the source tree, Using rsync over the LAN, Using pushing over the -NFS, rsync'ing the patches +=item UTF/EBCDIC -=item Why rsync the source tree +=item UTF Regexes -It's easier to rsync the source tree, It's more reliable +=item perlcc to produce executable -=item Why rsync the patches +=item END blocks saved in compiled output -It's easier to rsync the patches, It's a good reference, Finding a start -point, Finding how to fix a bug, Finding the source of misbehaviour +=item Secure temporary file module -=item Perlbug administration +=item Integrate Time::HiRes -=item Submitting patches +=item Turn Cwd into XS -L, L and L, L, -F, The perl5-porters FAQ +=item Mmap for input -=item Finding Your Way Around +=item Byte to/from UTF-8 and UTF-8 to/from local conversion -Core modules, Tests, Documentation, Configure, Interpreter +=item Add sockatmark support -=item Elements of the interpreter +=item Mailing list archives -Startup, Parsing, Optimization, Running +=item Bug tracking -=item Internal Variable Types +=item Integrate MacPerl -=item Op Trees +=item Web "nerve center" for Perl -=item Stacks +=item Regular expression tutorial -Argument stack, Mark stack, Save stack +=item Debugging Tutorial -=item Millions of Macros +=item Integrate new modules -=item Poking at Perl +=item Integrate profiler -=item Using a source-level debugger +=item Y2K error detection -run [args], break function_name, break source.c:xxx, step, next, continue, -finish, 'enter', print +=item Regular expression debugger -=item Dumping Perl Data Structures +=item POD checker -=item Patching +=item "Dynamic" lexicals -=item Patching a core module +=item Cache precompiled modules -=item Adding a new function to the core +=back -=item Writing a test +=item Deprecated Wishes -F, F, F, F, F, F, -F, F, F, F, F, t/base t/comp, -t/cmd t/run t/io t/op, t/lib ext lib +=over 4 -=item Special Make Test Targets +=item Loop control on do{} -coretest, test.deparse, minitest, test.third check.third utest.third -ucheck.third, test.torture torturetest, utest ucheck test.utf8 check.utf8, -test_harness +=item Lexically scoped typeglobs -=item Running tests by hand +=item format BOTTOM -PERL_CORE=1, PERL_DESTRUCT_LEVEL=2, PERL, PERL_SKIP_TTY_TEST +=item report HANDLE -=back +=item Generalised want()/caller()) -=item EXTERNAL TOOLS FOR DEBUGGING PERL +=item Named prototypes -=over 4 +=item Built-in globbing -=item Rational Software's Purify +=item Regression tests for suidperl -=item Purify on Unix +=item Cached hash values --Accflags=-DPURIFY, -Doptimize='-g', -Uusemymalloc, -Dusemultiplicity +=item Add compression modules -=item Purify on NT +=item Reorganise documentation into tutorials/references -DEFINES, USE_MULTI = define, #PERL_MALLOC = define, CFG = Debug +=item Remove distinction between functions and operators -=item Compaq's/Digital's/HP's Third Degree +=item Make XS easier to use -=item PERL_DESTRUCT_LEVEL +=item Make embedding easier to use -=item Profiling +=item man for perl -=item Gprof Profiling +=item my $Package::variable --a, -b, -e routine, -f routine, -s, -z +=item "or" tests defined, not truth -=item GCC gcov Profiling +=item "class"-based lexicals -=item Pixie Profiling +=item byteperl --h, -l, -p[rocedures], -h[eavy], -i[nvocations], -l[ines], -testcoverage, --z[ero] +=item Lazy evaluation / tail recursion removal -=item Miscellaneous tricks +=item Make "use utf8" the default -=item CONCLUSION +=item Unicode collation and normalization -I +=item pack/unpack tutorial =back -=item AUTHOR - =back =head2 perldoc - Look up Perl documentation in Pod format. @@ -5398,6 +5482,12 @@ B<-V> =item Incompatible Changes +=over 4 + +=item The C<$*> variable has been removed + +=back + =item Core Enhancements =over 4 @@ -7179,7 +7269,7 @@ long, Process terminated by SIG%s =back -=head2 perlartistic -- the Perl Artistic License +=head2 perlartistic - the Perl Artistic License =over 4 @@ -7195,28 +7285,18 @@ long, Process terminated by SIG%s =item Definitions -"Package" refers to the collection of files distributed by the Copyright -Holder, and derivatives of that collection of files created through textual -modification, "Standard Version" refers to such a Package if it has not -been modified, or has been modified in accordance with the wishes of the -Copyright Holder as specified below, "Copyright Holder" is whoever is named -in the copyright or copyrights for the package, "You" is you, if you're -thinking about copying or distributing this Package, "Reasonable copying -fee" is whatever you can justify on the basis of media cost, duplication -charges, time of people involved, and so on. (You will not be required to -justify it to the Copyright Holder, but only to the computing community at -large as a market that must bear the fee.), "Freely Available" means that -no fee is charged for the item itself, though there may be fees involved in -handling the item. It also means that recipients of the item may -redistribute it under the same conditions they received it +"Package", "Standard Version", "Copyright Holder", "You", "Reasonable +copying fee", "Freely Available" =item Conditions +a), b), c), d), a), b), c), d) + =back =back -=head2 perlgpl -- the GNU Public General Public License, version 2 +=head2 perlgpl - the GNU General Public License, version 2 =over 4 @@ -7248,6 +7328,8 @@ redistribute it under the same conditions they received it =item The IBM ANSI C Compiler +=item The usenm option + =item Using GNU's gcc for building perl =item Using Large Files with Perl @@ -7266,16 +7348,6 @@ redistribute it under the same conditions they received it =back -=head2 perlapollo, README.apollo - Perl version 5 on Apollo DomainOS - -=over 4 - -=item DESCRIPTION - -=item AUTHOR - -=back - =head2 perlamiga - Perl under Amiga OS =over 4 @@ -7342,6 +7414,16 @@ B, B =back +=head2 perlapollo, README.apollo - Perl version 5 on Apollo DomainOS + +=over 4 + +=item DESCRIPTION + +=item AUTHOR + +=back + =head2 perlbeos, README.beos - Perl version 5 on BeOS =over 4 @@ -7392,6 +7474,8 @@ R4 x86, R4 PPC =item Floating point anomalies on BS2000 +=item Using PerlIO and different encodings on ASCII and EBCDIC partitions + =back =item AUTHORS @@ -7481,7 +7565,7 @@ I, Win9x and C, Compiler/Preprocessor defines =over 4 -=item Warnings on Cygwin +=item Errors on Cygwin =item ld2 on Cygwin @@ -7495,11 +7579,11 @@ I, Win9x and C, Compiler/Preprocessor defines =item NDBM_File and ODBM_File do not work on FAT filesystems -=item fork() failures in io_* tests +=item C failures in io_* tests =item Script Portability on Cygwin -Pathnames, Text/Binary, F<.exe>, chown(), Miscellaneous +Pathnames, Text/Binary, PerlIO, F<.exe>, C, Miscellaneous =back @@ -7790,6 +7874,40 @@ op/lexassign.t, pragma/warnings.t =back +=head2 perlmacosx, README.macosx - Perl under Mac OS X + +=over 4 + +=item SYNOPSIS + +=item DESCRIPTION + +=over 4 + +=item Installation Prefix + +=item libperl and Prebinding + +=item Updating Panther + +=item Known problems + +=item MacPerl + +=item Carbon + +=item Cocoa + +=back + +=item Starting From Scratch + +=item AUTHOR + +=item DATE + +=back + =head2 perlmint, README.mint - Perl version 5 on Atari MiNT =over 4 @@ -8212,7 +8330,7 @@ and z/OS =back -=head2 perlqnx, README.qnx - Perl version 5 on QNX +=head2 perlplan9 - Plan 9-specific documentation for Perl =over 4 @@ -8220,25 +8338,35 @@ and z/OS =over 4 -=item Required Software for Compiling Perl on QNX4 +=item Invoking Perl -/bin/sh, ar, nm, cpp, make +=item What's in Plan 9 Perl -=item Outstanding Issues with Perl on QNX4 +=item What's not in Plan 9 Perl -=item QNX auxiliary files +=item Perl5 Functions not currently supported in Plan 9 Perl -qnx/ar, qnx/cpp +=item Signals in Plan 9 Perl -=item Outstanding issues with perl under QNX6 +=back + +=item COMPILING AND INSTALLING PERL ON PLAN 9 + +=over 4 + +=item Installing Perl Documentation on Plan 9 =back +=item BUGS + +=item Revision date + =item AUTHOR =back -=head2 perlplan9 - Plan 9-specific documentation for Perl +=head2 perlqnx, README.qnx - Perl version 5 on QNX =over 4 @@ -8246,30 +8374,20 @@ qnx/ar, qnx/cpp =over 4 -=item Invoking Perl - -=item What's in Plan 9 Perl - -=item What's not in Plan 9 Perl - -=item Perl5 Functions not currently supported in Plan 9 Perl +=item Required Software for Compiling Perl on QNX4 -=item Signals in Plan 9 Perl +/bin/sh, ar, nm, cpp, make -=back +=item Outstanding Issues with Perl on QNX4 -=item COMPILING AND INSTALLING PERL ON PLAN 9 +=item QNX auxiliary files -=over 4 +qnx/ar, qnx/cpp -=item Installing Perl Documentation on Plan 9 +=item Outstanding issues with perl under QNX6 =back -=item BUGS - -=item Revision date - =item AUTHOR =back @@ -8298,7 +8416,7 @@ Solaris FAQ, Precompiled Binaries, Solaris Documentation =item Compiler and Related Tools on Solaris. -=item Environment for Compiling Perl on Solaris +=item Environment for Compiling perl on Solaris =back @@ -8306,11 +8424,11 @@ Solaris FAQ, Precompiled Binaries, Solaris Documentation =over 4 -=item 64-bit Issues with Perl on Solaris. +=item 64-bit perl on Solaris. -=item Threads in Perl on Solaris. +=item Threads in perl on Solaris. -=item Malloc Issues with Perl on Solaris. +=item Malloc Issues with perl on Solaris. =back @@ -8354,6 +8472,8 @@ DATAMODEL_NATIVE specified", sh: ar: not found =back +=item SunOS 4.x + =item AUTHOR =item LAST MODIFIED @@ -8675,22 +8795,14 @@ blocks, PERL_OLD_SIGNALS are not threadsafe, will not be =back -=head2 assertions - selects assertions +=head2 assertions - select assertions in blocks of code =over 4 =item SYNOPSIS -=item ABSTRACT - =item DESCRIPTION -=over 4 - -=item EXPORT - -=back - =item SEE ALSO =item AUTHOR @@ -8699,22 +8811,14 @@ blocks, PERL_OLD_SIGNALS are not threadsafe, will not be =back -=head2 assertions::activate - assertions activation +=head2 assertions::activate - activate assertions =over 4 =item SYNOPSIS -=item ABSTRACT - =item DESCRIPTION -=over 4 - -=item EXPORT - -=back - =item SEE ALSO =item AUTHOR @@ -8761,21 +8865,9 @@ FETCH_I_ATTRIBUTES, MODIFY_I_ATTRIBUTES =back -=item EXAMPLES - -=item SEE ALSO - -=back - -=head2 attrs - set/get attributes of a subroutine (deprecated) - -=over 4 - -=item SYNOPSIS - -=item DESCRIPTION +=item EXAMPLES -method, locked +=item SEE ALSO =back @@ -8805,6 +8897,8 @@ method, locked =item HISTORY +=item CAVEATS + =item SEE ALSO =back @@ -8831,6 +8925,8 @@ a or accuracy, p or precision, t or trace, l or lib, v or version =item METHODS +=item CAVEAT + =back =item MODULES USED @@ -8861,6 +8957,8 @@ a or accuracy, p or precision, t or trace, l or lib, v or version =item METHODS +=item CAVEAT + inf(), NaN(), upgrade() =item MATH LIBRARY @@ -8883,7 +8981,7 @@ inf(), NaN(), upgrade() =back -=head2 bigrat - Transparent BigNumber/BigRationale support for Perl +=head2 bigrat - Transparent BigNumber/BigRational support for Perl =over 4 @@ -8901,6 +8999,8 @@ inf(), NaN(), upgrade() =item METHODS +=item CAVEAT + =back =item EXAMPLES @@ -8942,6 +9042,8 @@ semantics =item DESCRIPTION +=item LIMITATIONS + =item SEE ALSO =back @@ -9328,16 +9430,6 @@ type, `%s' is not a code reference =back -=head2 re - Perl pragma to alter regular expression behaviour - -=over 4 - -=item SYNOPSIS - -=item DESCRIPTION - -=back - =head2 sigtrap - Perl pragma to enable simple signal handling =over 4 @@ -9390,20 +9482,11 @@ B, B, I, I C, C, C -=back - -=head2 subs - Perl pragma to predeclare sub names - -=over 4 - -=item SYNOPSIS - -=item DESCRIPTION +=item HISTORY =back -=head2 threads - Perl extension allowing use of interpreter based threads -from perl +=head2 subs - Perl pragma to predeclare sub names =over 4 @@ -9411,25 +9494,6 @@ from perl =item DESCRIPTION -$thread = threads->create(function, LIST), $thread->join, $thread->detach, -threads->self, $thread->tid, threads->object( tid ), threads->yield();, -threads->list();, async BLOCK; - -=item WARNINGS - -A thread exited while %d other threads were still running - -=item TODO - -=item BUGS - -Parent-Child threads, Returning objects, Creating threads inside BEGIN -blocks, PERL_OLD_SIGNALS are not threadsafe, will not be - -=item AUTHOR and COPYRIGHT - -=item SEE ALSO - =back =head2 threadshared, threads::shared - Perl extension for sharing data @@ -9471,9 +9535,9 @@ code =item Utility functions -$num_octets = utf8::upgrade($string);, utf8::downgrade($string[, FAIL_OK]), -utf8::encode($string), $flag = utf8::decode($string), $flag = -utf8::valid(STRING) +$num_octets = utf8::upgrade($string), $success = utf8::downgrade($string[, +FAIL_OK]), utf8::encode($string), utf8::decode($string), $flag = +utf8::is_utf8(STRING), $flag = utf8::valid(STRING) =back @@ -9505,10 +9569,7 @@ utf8::valid(STRING) =item What IS a version -Numeric Versions - any initial parameter which "looks like a number", see -L, V-String Versions - any initial parameter which -contains more than one decimal point, contains an embedded underscore, or -has a leading 'v' see L +Numeric Versions, V-String Versions =item Numeric Versions @@ -9516,36 +9577,14 @@ has a leading 'v' see L =item Object Methods -New Operator - Like all OO interfaces, the new() operator is used to -initialize version objects. One way to increment versions when programming -is to use the CVS variable $Revision, which is automatically incremented by -CVS every time the file is committed to the repository, Stringification - -Any time a version object is used as a string, a stringified representation -is returned in reduced form (no extraneous zeros):, Numification - although -all mathematical operations on version objects are forbidden by default, it -is possible to retrieve a number which roughly corresponds to the version -object through the use of the $obj->numify method. For formatting -purposes, when displaying a number which corresponds a version object, all -sub versions are assumed to have three decimal places. So for example:, -Comparison operators - Both cmp and <=> operators perform the same -comparison between terms (upgrading to a version object automatically). -Perl automatically generates all of the other comparison operators based on -those two. In addition to the obvious equalities listed below, appending a -single trailing 0 term does not change the value of a version for -comparison purposes. In other words "v1.2" and "v1.2.0" are identical -versions +New Operator, Stringification, Numification, Comparison operators, Logical +Operators =item Quoting =item Types of Versions Objects -Ordinary versions - These are the versions that normal modules will use. -Can contain as many subversions as required. In particular, those using -RCS/CVS can use one of the following:, Beta versions - For module authors -using CPAN, the convention has been to note unstable releases with an -underscore in the version string, see L. Beta releases will test as -being newer than the more recent stable release, and less than the next -stable release. For example: +Ordinary versions, alpha versions =item Replacement UNIVERSAL::VERSION @@ -9730,9 +9769,8 @@ $keep, $check, $modtime =item Functions Returning C, C, C, and C objects -sv_undef, sv_yes, sv_no, svref_2object(SVREF), amagic_generation, -C, check_av, begin_av, end_av, comppadlist, regex_padav, -C +sv_undef, sv_yes, sv_no, svref_2object(SVREF), amagic_generation, init_av, +check_av, begin_av, end_av, comppadlist, regex_padav, main_cv =item Functions for Examining the Symbol Table @@ -9757,7 +9795,7 @@ perlstring(STR), class(OBJ), threadsv_names =item B::SV Methods -REFCNT, FLAGS +REFCNT, FLAGS, object_2svref =item B::IV Methods @@ -9803,7 +9841,7 @@ BOTTOM_NAME, BOTTOM_GV, SUBPROCESS, IoTYPE, IoFLAGS, IsSTD =item B::AV Methods -FILL, MAX, OFF, ARRAY, AvFLAGS +FILL, MAX, OFF, ARRAY, ARRAYelt, AvFLAGS =item B::CV Methods @@ -9839,7 +9877,7 @@ children =item B::PMOP Methods pmreplroot, pmreplstart, pmnext, pmregexp, pmflags, pmdynflags, -pmpermflags, precomp, pmoffet +pmpermflags, precomp, pmoffset =item B::SVOP METHOD @@ -9922,15 +9960,15 @@ B =item DESCRIPTION +=item EXAMPLE + =item OPTIONS -B<-ofilename>, B<-afilename>, B<-->, B<-f>, B<-fcompress-nullops>, -B<-fomit-sequence-numbers>, B<-fbypass-nullops>, B<-On>, B<-D>, B<-Do>, -B<-Db>, B<-Da>, B<-DC>, B<-S>, B<-upackage> +B<-b>, B<-H>, B<-k>, B<-o>I, B<-s> -=item EXAMPLES +=item KNOWN BUGS -=item BUGS +=item NOTICE =item AUTHORS @@ -10060,7 +10098,7 @@ B<#targ>, B<#targarg>, B<#targarglife>, B<#typenum> =item OPTIONS -B<-l>, B<-p>, B<-P>, B<-q>, B<-f>I, B<-s>I, B, +B<-d>, B<-f>I, B<-l>, B<-p>, B<-P>, B<-q>, B<-s>I, B, BI, B, BIB<.>, B<-x>I =item USING B::Deparse AS A MODULE @@ -10285,15 +10323,15 @@ disablecache ( ), enablecache ( ), timesum ( T1, T2 ) =item DESCRIPTION +=item EXAMPLE + =item OPTIONS -B<-ofilename>, B<-afilename>, B<-->, B<-f>, B<-fcompress-nullops>, -B<-fomit-sequence-numbers>, B<-fbypass-nullops>, B<-On>, B<-D>, B<-Do>, -B<-Db>, B<-Da>, B<-DC>, B<-S>, B<-upackage> +B<-b>, B<-H>, B<-k>, B<-o>I, B<-s> -=item EXAMPLES +=item KNOWN BUGS -=item BUGS +=item NOTICE =item AUTHORS @@ -10464,7 +10502,8 @@ B =item CREATING A CLICKABLE IMAGE BUTTON -B +B, 3. The third option (-align, optional) is an alignment +type, and may be TOP, BOTTOM or MIDDLE =item CREATING A JAVASCRIPT ACTION BUTTON @@ -10494,8 +10533,9 @@ the

tag =item FETCHING ENVIRONMENT VARIABLES B, B, B, B, -B, B, B, B, -B, B, B, B, +B, B, B Return the script +name as a partial URL, for self-refering scripts, B, B, B, B, B, B, B, B, B, B, B, B @@ -11043,54 +11083,53 @@ C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, -C, C, C, C, -C, C, C, -C, C, C, C, -C, C, C, C, -C, C, C, C, C, -C, C, C, C, C, -C, C, C, C, -C, C, C, -C, C, C, C, C, -C, C, C, C, C, -C, C, C, C, -C, C, C, C, C, -C, C, C, C, C, -C, C, C, C, -C, C, C, C, C, -C, C, C, C, C, -C, C, C, C, C, -C, C, C, C, -C, C, C, C, -C, C, C, C, -C, C, C, C, -C, C, C, C, C, -C, C, C, C, C, -C, C, C, C, C, -C, C, C, C, C, -C, C, C, C, -C, C, C, C, -C, C, C, C, -C, C, C, C, -C, C, -C, C, C, -C, C, C, C, C, -C, C, C, C, C, -C, C, C, C, C, -C, C, C, C, C, -C, C, C, C, -C, C, C, C, -C, C, C, C, -C, C, C, C, C, -C, C, C, C, C, -C, C, C, C, C, -C, C, C, C, -C, C, C, C, -C, C, C, C, C, -C, C, C, C, C, -C, C, C, -C, C, C, C, C, -C, C, C +C, C, C, C, +C, C, C, +C, C, C, C, +C, C, C, C, C, +C, C, C, C, +C, C, C, C, C, +C, C, C, C, +C, C, C, C, +C, C, C, C, C, +C, C, C, C, C, +C, C, C, C, C, +C, C, C, C, C, +C, C, C, C, +C, C, C, C, C, +C, C, C, C, +C, C, C, C, C, +C, C, C, C, +C, C, C, C, +C, C, C, C, C, +C, C, C, C, +C, C, C, C, +C, C, C, C, C, +C, C, C, C, C, +C, C, C, C, C, +C, C, C, C, +C, C, C, C, +C, C, C, C, +C, C, C, C, +C, C, C, C, +C, C, +C, C, C, C, +C, C, C, C, C, +C, C, C, C, C, +C, C, C, C, C, +C, C, C, C, C, +C, C, C, C, +C, C, C, C, C, +C, C, C, C, +C, C, C, C, C, +C, C, C, C, +C, C, C, C, +C, C, C, C, +C, C, C, C, C, +C, C, C, C, C, C, +C, C, C, C, +C, C, C, C, C, +C, C, C, C =item e @@ -11146,12 +11185,12 @@ C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, -C, C, C, -C, C, C, -C, C, C, +C, C, C, +C, C, C, +C, C, C, C, C, C, -C, C, C, -C, C, C, +C, C, C, +C, C, C, C, C, C, C, C =item k @@ -11176,8 +11215,9 @@ C, C =item M -C, C, C, C, C, C, -C, C, C, C, C, C +C, C, C, C, C, C, +C, C, C, C, C, C, +C =item n @@ -11223,19 +11263,19 @@ C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, -C, C, C, C, -C, C, C, C, C, -C, C, C, C, -C, C, C, C, -C, C, C, C, C, C, -C, C, C, C, C, -C, C, C, C, C, -C, C, C, C, C, C, -C, C, C, C, C, -C, C, C, C, C, -C, C, C, C, -C, C, C, C, -C, C +C, C, C, C, +C, C, C, C, +C, C, C, C, +C, C, C, C, +C, C, C, C, C, C, +C, C, C, C, C, +C, C, C, C, C, +C, C, C, C, C, +C, C, C, C, C, +C, C, C, C, C, +C, C, C, C, C, +C, C, C, C, +C, C, C =item t @@ -11259,11 +11299,12 @@ C =item v C, C, C, C, -C, C, C, C, -C, C, C, C, -C, C, C, C, -C, C, C, C, -C, C, C, C +C, C, C, +C, C, C, C, +C, C, C, +C, C, C, C, +C, C, C, +C, C, C =item x @@ -11518,6 +11559,12 @@ Dumper =item BUGS +=over 4 + +=item NOTE + +=back + =item AUTHOR =item VERSION @@ -11665,7 +11712,7 @@ md5($data,...), md5_hex($data,...), md5_base64($data,...) =item METHODS -$md5 = Digest::MD5->new, $md5->clone, $md5->reset, $md5->add($data,...), +$md5 = Digest::MD5->new, $md5->reset, $md5->clone, $md5->add($data,...), $md5->addfile($io_handle), $md5->digest, $md5->hexdigest, $md5->b64digest =item EXAMPLES @@ -11743,6 +11790,24 @@ Perl code =item DESCRIPTION +=over 4 + +=item Migration from C + +=item Backward compatible boilerplate + +=back + +=item Order of initialization: early load() + +=over 4 + +=item The most hairy case + +=back + +=item LIMITATIONS + =item AUTHOR =back @@ -12881,10 +12946,12 @@ dynamic extensions at load time =item Inherently Cross-Platform Methods -os_flavor_is +installvars =back +os_flavor_is + =over 4 =item File::Spec wrappers @@ -12915,7 +12982,7 @@ makemakerdflt_target special_targets -POD2MAN_EXE_macro +POD2MAN_macro test_via_harness @@ -13170,6 +13237,8 @@ depend (o) dir_target (o) +init_DEST + init_dist dist (o) @@ -13389,6 +13458,8 @@ perl_script (override) replace_manpage_separator +init_DEST + init_DIRFILESEP init_main (override) @@ -13411,8 +13482,6 @@ const_cccmd (override) tool_sxubpp (override) -xsubpp_version (override) - tools_other (override) init_dist (override) @@ -13564,8 +13633,6 @@ clean_subdirs_target realclean_subdirs_target -max_exec_len - os_flavor =over 4 @@ -13627,18 +13694,18 @@ INSTALLVENDORBIN, INSTALLVENDORLIB, INSTALLVENDORMAN1DIR, INSTALLVENDORMAN3DIR, INST_ARCHLIB, INST_BIN, INST_LIB, INST_MAN1DIR, INST_MAN3DIR, INST_SCRIPT, LD, LDDLFLAGS, LDFROM, LIB, LIBPERL_A, LIBS, LINKTYPE, MAKEAPERL, MAKEFILE_OLD, MAN1PODS, MAN3PODS, MAP_TARGET, -MYEXTLIB, NAME, NEEDS_LINKING, NOECHO, NORECURS, NO_VC, OBJECT, OPTIMIZE, -PERL, PERL_CORE, PERLMAINCC, PERL_ARCHLIB, PERL_LIB, PERL_MALLOC_OK, -PERLPREFIX, PERLRUN, PERLRUNINST, PERL_SRC, PERM_RW, PERM_RWX, PL_FILES, -PM, PMLIBDIRS, PM_FILTER, POLLUTE, PPM_INSTALL_EXEC, PPM_INSTALL_SCRIPT, -PREFIX, PREREQ_FATAL, PREREQ_PM, PREREQ_PRINT, PRINT_PREREQ, SITEPREFIX, -SKIP, TYPEMAPS, VENDORPREFIX, VERBINST, VERSION, VERSION_FROM, VERSION_SYM, -XS, XSOPT, XSPROTOARG, XS_VERSION +MYEXTLIB, NAME, NEEDS_LINKING, NOECHO, NORECURS, NO_META, NO_VC, OBJECT, +OPTIMIZE, PERL, PERL_CORE, PERLMAINCC, PERL_ARCHLIB, PERL_LIB, +PERL_MALLOC_OK, PERLPREFIX, PERLRUN, PERLRUNINST, PERL_SRC, PERM_RW, +PERM_RWX, PL_FILES, PM, PMLIBDIRS, PM_FILTER, POLLUTE, PPM_INSTALL_EXEC, +PPM_INSTALL_SCRIPT, PREFIX, PREREQ_FATAL, PREREQ_PM, PREREQ_PRINT, +PRINT_PREREQ, SITEPREFIX, SKIP, TYPEMAPS, VENDORPREFIX, VERBINST, VERSION, +VERSION_FROM, VERSION_SYM, XS, XSOPT, XSPROTOARG, XS_VERSION =item Additional lowercase attributes -clean, depend, dist, dynamic_lib, linkext, macro, realclean, test, -tool_autosplit +clean, depend, dist, dynamic_lib, linkext, macro, postamble, realclean, +test, tool_autosplit =item Overriding MakeMaker Methods @@ -13654,6 +13721,8 @@ C< ' '>> make distdir, make disttest, make tardist, make dist, make uutardist, make shdist, make zipdist, make ci +=item Module Meta-Data + =item Disabling an extension =item Other Handy Functions @@ -13691,7 +13760,8 @@ shell commands, easier to customize, cleaner internals, less cruft =item Module Writing -How do I keep my $VERSION up to date without resetting it manually? +How do I keep my $VERSION up to date without resetting it manually?, What's +this F thing and how did it get in my F?! =item XS @@ -13815,18 +13885,6 @@ B =back -=head2 ExtUtils::Miniperl, writemain - write the C code for perlmain.c - -=over 4 - -=item SYNOPSIS - -=item DESCRIPTION - -=item SEE ALSO - -=back - =head2 ExtUtils::Mkbootstrap - make a bootstrap file for use by DynaLoader =over 4 @@ -14118,10 +14176,12 @@ tmpdir (override) =item DESCRIPTION -canonpath() +=item AUTHORS =back +canonpath() + =over 4 =item SEE ALSO @@ -14196,16 +14256,6 @@ rel2abs =back -tmpdir - -canonpath - -splitpath - -splitdir - -catpath - =head2 File::Spec::OS2 - methods for OS/2 file specs =over 4 @@ -14214,6 +14264,8 @@ catpath =item DESCRIPTION +tmpdir, splitpath + =back =head2 File::Spec::Unix - File::Spec for Unix, base for other File::Spec @@ -14379,6 +14431,18 @@ catpath =over 4 +=item OO INTERFACE + +B + +=back + +B + +B + +=over 4 + =item FUNCTIONS B @@ -14427,6 +14491,10 @@ B =back +B + +B + =over 4 =item PACKAGE VARIABLES @@ -14485,6 +14553,8 @@ cacheout EXPR, cacheout MODE, EXPR =item BUGS +=item NOTES + =back =head2 FileHandle - supply object methods for filehandles @@ -14768,6 +14838,8 @@ lock_value, unlock_value B, B +B + =over 4 =item CAVEATS @@ -14846,88 +14918,93 @@ the function @langs = panic_languages(@accept_languages) =item LIST OF LANGUAGES -{ab} : Abkhazian, {ace} : Achinese, {ach} : Acoli, {ada} : Adangme, {aa} : -Afar, {afh} : Afrihili, {af} : Afrikaans, [{afa} : Afro-Asiatic (Other)], -{aka} : Akan, {akk} : Akkadian, {sq} : Albanian, {ale} : Aleut, [{alg} : -Algonquian languages], [{tut} : Altaic (Other)], {am} : Amharic, {i-ami} : -Ami, [{apa} : Apache languages], {ar} : Arabic, {arc} : Aramaic, {arp} : -Arapaho, {arn} : Araucanian, {arw} : Arawak, {hy} : Armenian, [{art} : -Artificial (Other)], {as} : Assamese, [{ath} : Athapascan languages], -[{aus} : Australian languages], [{map} : Austronesian (Other)], {ava} : -Avaric, {ae} : Avestan, {awa} : Awadhi, {ay} : Aymara, {az} : Azerbaijani, -{ban} : Balinese, [{bat} : Baltic (Other)], {bal} : Baluchi, {bam} : -Bambara, [{bai} : Bamileke languages], {bad} : Banda, [{bnt} : Bantu -(Other)], {bas} : Basa, {ba} : Bashkir, {eu} : Basque, {btk} : Batak -(Indonesia), {bej} : Beja, {be} : Belarusian, {bem} : Bemba, {bn} : -Bengali, [{ber} : Berber (Other)], {bho} : Bhojpuri, {bh} : Bihari, {bik} : -Bikol, {bin} : Bini, {bi} : Bislama, {bs} : Bosnian, {bra} : Braj, {br} : -Breton, {bug} : Buginese, {bg} : Bulgarian, {i-bnn} : Bunun, {bua} : -Buriat, {my} : Burmese, {cad} : Caddo, {car} : Carib, {ca} : Catalan, -[{cau} : Caucasian (Other)], {ceb} : Cebuano, [{cel} : Celtic (Other)], -[{cai} : Central American Indian (Other)], {chg} : Chagatai, [{cmc} : -Chamic languages], {ch} : Chamorro, {ce} : Chechen, {chr} : Cherokee, {chy} -: Cheyenne, {chb} : Chibcha, {ny} : Chichewa, {zh} : Chinese, {chn} : -Chinook Jargon, {chp} : Chipewyan, {cho} : Choctaw, {cu} : Church Slavic, -{chk} : Chuukese, {cv} : Chuvash, {cop} : Coptic, {kw} : Cornish, {co} : -Corsican, {cre} : Cree, {mus} : Creek, [{cpe} : English-based Creoles and -pidgins (Other)], [{cpf} : French-based Creoles and pidgins (Other)], -[{cpp} : Portuguese-based Creoles and pidgins (Other)], [{crp} : Creoles -and pidgins (Other)], {hr} : Croatian, [{cus} : Cushitic (Other)], {cs} : -Czech, {dak} : Dakota, {da} : Danish, {day} : Dayak, {i-default} : Default -(Fallthru) Language, {del} : Delaware, {din} : Dinka, {div} : Divehi, {doi} -: Dogri, {dgr} : Dogrib, [{dra} : Dravidian (Other)], {dua} : Duala, {nl} : -Dutch, {dum} : Middle Dutch (ca.1050-1350), {dyu} : Dyula, {dz} : Dzongkha, -{efi} : Efik, {egy} : Ancient Egyptian, {eka} : Ekajuk, {elx} : Elamite, -{en} : English, {enm} : Old English (1100-1500), {ang} : Old English -(ca.450-1100), {eo} : Esperanto, {et} : Estonian, {ewe} : Ewe, {ewo} : -Ewondo, {fan} : Fang, {fat} : Fanti, {fo} : Faroese, {fj} : Fijian, {fi} : -Finnish, [{fiu} : Finno-Ugrian (Other)], {fon} : Fon, {fr} : French, {frm} -: Middle French (ca.1400-1600), {fro} : Old French (842-ca.1400), {fy} : -Frisian, {fur} : Friulian, {ful} : Fulah, {gaa} : Ga, {gd} : Scots Gaelic, -{gl} : Gallegan, {lug} : Ganda, {gay} : Gayo, {gba} : Gbaya, {gez} : Geez, -{ka} : Georgian, {de} : German, {gmh} : Middle High German (ca.1050-1500), -{goh} : Old High German (ca.750-1050), [{gem} : Germanic (Other)], {gil} : -Gilbertese, {gon} : Gondi, {gor} : Gorontalo, {got} : Gothic, {grb} : -Grebo, {grc} : Ancient Greek, {el} : Modern Greek, {gn} : Guarani, {gu} : -Gujarati, {gwi} : Gwich'in, {hai} : Haida, {ha} : Hausa, {haw} : Hawaiian, +{ab} : Abkhazian, {ace} : Achinese, {ach} : Acoli, {ada} : Adangme, {ady} : +Adyghe, {aa} : Afar, {afh} : Afrihili, {af} : Afrikaans, [{afa} : +Afro-Asiatic (Other)], {ak} : Akan, {akk} : Akkadian, {sq} : Albanian, +{ale} : Aleut, [{alg} : Algonquian languages], [{tut} : Altaic (Other)], +{am} : Amharic, {i-ami} : Ami, [{apa} : Apache languages], {ar} : Arabic, +{arc} : Aramaic, {arp} : Arapaho, {arn} : Araucanian, {arw} : Arawak, {hy} +: Armenian, {an} : Aragonese, [{art} : Artificial (Other)], {ast} : +Asturian, {as} : Assamese, [{ath} : Athapascan languages], [{aus} : +Australian languages], [{map} : Austronesian (Other)], {av} : Avaric, {ae} +: Avestan, {awa} : Awadhi, {ay} : Aymara, {az} : Azerbaijani, {ban} : +Balinese, [{bat} : Baltic (Other)], {bal} : Baluchi, {bm} : Bambara, [{bai} +: Bamileke languages], {bad} : Banda, [{bnt} : Bantu (Other)], {bas} : +Basa, {ba} : Bashkir, {eu} : Basque, {btk} : Batak (Indonesia), {bej} : +Beja, {be} : Belarusian, {bem} : Bemba, {bn} : Bengali, [{ber} : Berber +(Other)], {bho} : Bhojpuri, {bh} : Bihari, {bik} : Bikol, {bin} : Bini, +{bi} : Bislama, {bs} : Bosnian, {bra} : Braj, {br} : Breton, {bug} : +Buginese, {bg} : Bulgarian, {i-bnn} : Bunun, {bua} : Buriat, {my} : +Burmese, {cad} : Caddo, {car} : Carib, {ca} : Catalan, [{cau} : Caucasian +(Other)], {ceb} : Cebuano, [{cel} : Celtic (Other)], [{cai} : Central +American Indian (Other)], {chg} : Chagatai, [{cmc} : Chamic languages], +{ch} : Chamorro, {ce} : Chechen, {chr} : Cherokee, {chy} : Cheyenne, {chb} +: Chibcha, {ny} : Chichewa, {zh} : Chinese, {chn} : Chinook Jargon, {chp} : +Chipewyan, {cho} : Choctaw, {cu} : Church Slavic, {chk} : Chuukese, {cv} : +Chuvash, {cop} : Coptic, {kw} : Cornish, {co} : Corsican, {cr} : Cree, +{mus} : Creek, [{cpe} : English-based Creoles and pidgins (Other)], [{cpf} +: French-based Creoles and pidgins (Other)], [{cpp} : Portuguese-based +Creoles and pidgins (Other)], [{crp} : Creoles and pidgins (Other)], {hr} : +Croatian, [{cus} : Cushitic (Other)], {cs} : Czech, {dak} : Dakota, {da} : +Danish, {dar} : Dargwa, {day} : Dayak, {i-default} : Default (Fallthru) +Language, {del} : Delaware, {din} : Dinka, {dv} : Divehi, {doi} : Dogri, +{dgr} : Dogrib, [{dra} : Dravidian (Other)], {dua} : Duala, {nl} : Dutch, +{dum} : Middle Dutch (ca.1050-1350), {dyu} : Dyula, {dz} : Dzongkha, {efi} +: Efik, {egy} : Ancient Egyptian, {eka} : Ekajuk, {elx} : Elamite, {en} : +English, {enm} : Old English (1100-1500), {ang} : Old English +(ca.450-1100), {i-enochian} : Enochian (Artificial), {myv} : Erzya, {eo} : +Esperanto, {et} : Estonian, {ee} : Ewe, {ewo} : Ewondo, {fan} : Fang, {fat} +: Fanti, {fo} : Faroese, {fj} : Fijian, {fi} : Finnish, [{fiu} : +Finno-Ugrian (Other)], {fon} : Fon, {fr} : French, {frm} : Middle French +(ca.1400-1600), {fro} : Old French (842-ca.1400), {fy} : Frisian, {fur} : +Friulian, {ff} : Fulah, {gaa} : Ga, {gd} : Scots Gaelic, {gl} : Gallegan, +{lg} : Ganda, {gay} : Gayo, {gba} : Gbaya, {gez} : Geez, {ka} : Georgian, +{de} : German, {gmh} : Middle High German (ca.1050-1500), {goh} : Old High +German (ca.750-1050), [{gem} : Germanic (Other)], {gil} : Gilbertese, {gon} +: Gondi, {gor} : Gorontalo, {got} : Gothic, {grb} : Grebo, {grc} : Ancient +Greek, {el} : Modern Greek, {gn} : Guarani, {gu} : Gujarati, {gwi} : +Gwich'in, {hai} : Haida, {ht} : Haitian, {ha} : Hausa, {haw} : Hawaiian, {he} : Hebrew, {hz} : Herero, {hil} : Hiligaynon, {him} : Himachali, {hi} : Hindi, {ho} : Hiri Motu, {hit} : Hittite, {hmn} : Hmong, {hu} : Hungarian, -{hup} : Hupa, {iba} : Iban, {is} : Icelandic, {ibo} : Igbo, {ijo} : Ijo, -{ilo} : Iloko, [{inc} : Indic (Other)], [{ine} : Indo-European (Other)], -{id} : Indonesian, {ia} : Interlingua (International Auxiliary Language -Association), {ie} : Interlingue, {iu} : Inuktitut, {ik} : Inupiaq, [{ira} -: Iranian (Other)], {ga} : Irish, {mga} : Middle Irish (900-1200), {sga} : -Old Irish (to 900), [{iro} : Iroquoian languages], {it} : Italian, {ja} : -Japanese, {jw} : Javanese, {jrb} : Judeo-Arabic, {jpr} : Judeo-Persian, -{kab} : Kabyle, {kac} : Kachin, {kl} : Kalaallisut, {kam} : Kamba, {kn} : -Kannada, {kau} : Kanuri, {kaa} : Kara-Kalpak, {kar} : Karen, {ks} : -Kashmiri, {kaw} : Kawi, {kk} : Kazakh, {kha} : Khasi, {km} : Khmer, [{khi} -: Khoisan (Other)], {kho} : Khotanese, {ki} : Kikuyu, {kmb} : Kimbundu, -{rw} : Kinyarwanda, {ky} : Kirghiz, {i-klingon} : Klingon, {kv} : Komi, -{kon} : Kongo, {kok} : Konkani, {ko} : Korean, {kos} : Kosraean, {kpe} : -Kpelle, {kro} : Kru, {kj} : Kuanyama, {kum} : Kumyk, {ku} : Kurdish, {kru} -: Kurukh, {kut} : Kutenai, {lad} : Ladino, {lah} : Lahnda, {lam} : Lamba, -{lo} : Lao, {la} : Latin, {lv} : Latvian, {lb} : Letzeburgesch, {lez} : -Lezghian, {ln} : Lingala, {lt} : Lithuanian, {nds} : Low German, {loz} : -Lozi, {lub} : Luba-Katanga, {lua} : Luba-Lulua, {lui} : Luiseno, {lun} : -Lunda, {luo} : Luo (Kenya and Tanzania), {lus} : Lushai, {mk} : Macedonian, -{mad} : Madurese, {mag} : Magahi, {mai} : Maithili, {mak} : Makasar, {mg} : -Malagasy, {ms} : Malay, {ml} : Malayalam, {mt} : Maltese, {mnc} : Manchu, -{mdr} : Mandar, {man} : Mandingo, {mni} : Manipuri, [{mno} : Manobo -languages], {gv} : Manx, {mi} : Maori, {mr} : Marathi, {chm} : Mari, {mh} : -Marshall, {mwr} : Marwari, {mas} : Masai, [{myn} : Mayan languages], {men} -: Mende, {mic} : Micmac, {min} : Minangkabau, {i-mingo} : Mingo, [{mis} : -Miscellaneous languages], {moh} : Mohawk, {mo} : Moldavian, [{mkh} : -Mon-Khmer (Other)], {lol} : Mongo, {mn} : Mongolian, {mos} : Mossi, [{mul} -: Multiple languages], [{mun} : Munda languages], {nah} : Nahuatl, {na} : -Nauru, {nv} : Navajo, {nd} : North Ndebele, {nr} : South Ndebele, {ng} : -Ndonga, {ne} : Nepali, {new} : Newari, {nia} : Nias, [{nic} : +{hup} : Hupa, {iba} : Iban, {is} : Icelandic, {io} : Ido, {ig} : Igbo, +{ijo} : Ijo, {ilo} : Iloko, [{inc} : Indic (Other)], [{ine} : Indo-European +(Other)], {id} : Indonesian, {inh} : Ingush, {ia} : Interlingua +(International Auxiliary Language Association), {ie} : Interlingue, {iu} : +Inuktitut, {ik} : Inupiaq, [{ira} : Iranian (Other)], {ga} : Irish, {mga} : +Middle Irish (900-1200), {sga} : Old Irish (to 900), [{iro} : Iroquoian +languages], {it} : Italian, {ja} : Japanese, {jv} : Javanese, {jrb} : +Judeo-Arabic, {jpr} : Judeo-Persian, {kbd} : Kabardian, {kab} : Kabyle, +{kac} : Kachin, {kl} : Kalaallisut, {xal} : Kalmyk, {kam} : Kamba, {kn} : +Kannada, {kr} : Kanuri, {krc} : Karachay-Balkar, {kaa} : Kara-Kalpak, {kar} +: Karen, {ks} : Kashmiri, {csb} : Kashubian, {kaw} : Kawi, {kk} : Kazakh, +{kha} : Khasi, {km} : Khmer, [{khi} : Khoisan (Other)], {kho} : Khotanese, +{ki} : Kikuyu, {kmb} : Kimbundu, {rw} : Kinyarwanda, {ky} : Kirghiz, +{i-klingon} : Klingon, {kv} : Komi, {kg} : Kongo, {kok} : Konkani, {ko} : +Korean, {kos} : Kosraean, {kpe} : Kpelle, {kro} : Kru, {kj} : Kuanyama, +{kum} : Kumyk, {ku} : Kurdish, {kru} : Kurukh, {kut} : Kutenai, {lad} : +Ladino, {lah} : Lahnda, {lam} : Lamba, {lo} : Lao, {la} : Latin, {lv} : +Latvian, {lb} : Letzeburgesch, {lez} : Lezghian, {li} : Limburgish, {ln} : +Lingala, {lt} : Lithuanian, {nds} : Low German, {art-lojban} : Lojban +(Artificial), {loz} : Lozi, {lu} : Luba-Katanga, {lua} : Luba-Lulua, {lui} +: Luiseno, {lun} : Lunda, {luo} : Luo (Kenya and Tanzania), {lus} : Lushai, +{mk} : Macedonian, {mad} : Madurese, {mag} : Magahi, {mai} : Maithili, +{mak} : Makasar, {mg} : Malagasy, {ms} : Malay, {ml} : Malayalam, {mt} : +Maltese, {mnc} : Manchu, {mdr} : Mandar, {man} : Mandingo, {mni} : +Manipuri, [{mno} : Manobo languages], {gv} : Manx, {mi} : Maori, {mr} : +Marathi, {chm} : Mari, {mh} : Marshall, {mwr} : Marwari, {mas} : Masai, +[{myn} : Mayan languages], {men} : Mende, {mic} : Micmac, {min} : +Minangkabau, {i-mingo} : Mingo, [{mis} : Miscellaneous languages], {moh} : +Mohawk, {mdf} : Moksha, {mo} : Moldavian, [{mkh} : Mon-Khmer (Other)], +{lol} : Mongo, {mn} : Mongolian, {mos} : Mossi, [{mul} : Multiple +languages], [{mun} : Munda languages], {nah} : Nahuatl, {nap} : Neapolitan, +{na} : Nauru, {nv} : Navajo, {nd} : North Ndebele, {nr} : South Ndebele, +{ng} : Ndonga, {ne} : Nepali, {new} : Newari, {nia} : Nias, [{nic} : Niger-Kordofanian (Other)], [{ssa} : Nilo-Saharan (Other)], {niu} : Niuean, -{non} : Old Norse, [{nai} : North American Indian], {se} : Northern Sami, -{no} : Norwegian, {nb} : Norwegian Bokmal, {nn} : Norwegian Nynorsk, [{nub} -: Nubian languages], {nym} : Nyamwezi, {nyn} : Nyankole, {nyo} : Nyoro, -{nzi} : Nzima, {oc} : Occitan (post 1500), {oji} : Ojibwa, {or} : Oriya, -{om} : Oromo, {osa} : Osage, {os} : Ossetian; Ossetic, [{oto} : Otomian +{nog} : Nogai, {non} : Old Norse, [{nai} : North American Indian], {no} : +Norwegian, {nb} : Norwegian Bokmal, {nn} : Norwegian Nynorsk, [{nub} : +Nubian languages], {nym} : Nyamwezi, {nyn} : Nyankole, {nyo} : Nyoro, {nzi} +: Nzima, {oc} : Occitan (post 1500), {oj} : Ojibwa, {or} : Oriya, {om} : +Oromo, {osa} : Osage, {os} : Ossetian; Ossetic, [{oto} : Otomian languages], {pal} : Pahlavi, {i-pwn} : Paiwan, {pau} : Palauan, {pi} : Pali, {pam} : Pampanga, {pag} : Pangasinan, {pa} : Panjabi, {pap} : Papiamento, [{paa} : Papuan (Other)], {fa} : Persian, {peo} : Old Persian @@ -14937,34 +15014,37 @@ Papiamento, [{paa} : Papuan (Other)], {fa} : Persian, {peo} : Old Persian Raeto-Romance, {raj} : Rajasthani, {rap} : Rapanui, {rar} : Rarotongan, [{qaa - qtz} : Reserved for local use.], [{roa} : Romance (Other)], {ro} : Romanian, {rom} : Romany, {rn} : Rundi, {ru} : Russian, [{sal} : Salishan -languages], {sam} : Samaritan Aramaic, [{smi} : Sami languages (Other)], -{sm} : Samoan, {sad} : Sandawe, {sg} : Sango, {sa} : Sanskrit, {sat} : -Santali, {sc} : Sardinian, {sas} : Sasak, {sco} : Scots, {sel} : Selkup, -[{sem} : Semitic (Other)], {sr} : Serbian, {srr} : Serer, {shn} : Shan, -{sn} : Shona, {sid} : Sidamo, {sgn-...} : Sign Languages, {bla} : Siksika, -{sd} : Sindhi, {si} : Sinhalese, [{sit} : Sino-Tibetan (Other)], [{sio} : -Siouan languages], {den} : Slave (Athapascan), [{sla} : Slavic (Other)], -{sk} : Slovak, {sl} : Slovenian, {sog} : Sogdian, {so} : Somali, {son} : -Songhai, {snk} : Soninke, {wen} : Sorbian languages, {nso} : Northern -Sotho, {st} : Southern Sotho, [{sai} : South American Indian (Other)], {es} -: Spanish, {suk} : Sukuma, {sux} : Sumerian, {su} : Sundanese, {sus} : -Susu, {sw} : Swahili, {ss} : Swati, {sv} : Swedish, {syr} : Syriac, {tl} : -Tagalog, {ty} : Tahitian, [{tai} : Tai (Other)], {tg} : Tajik, {tmh} : -Tamashek, {ta} : Tamil, {i-tao} : Tao, {tt} : Tatar, {i-tay} : Tayal, {te} -: Telugu, {ter} : Tereno, {tet} : Tetum, {th} : Thai, {bo} : Tibetan, {tig} -: Tigre, {ti} : Tigrinya, {tem} : Timne, {tiv} : Tiv, {tli} : Tlingit, -{tpi} : Tok Pisin, {tkl} : Tokelau, {tog} : Tonga (Nyasa), {to} : Tonga -(Tonga Islands), {tsi} : Tsimshian, {ts} : Tsonga, {i-tsu} : Tsou, {tn} : -Tswana, {tum} : Tumbuka, {tr} : Turkish, {ota} : Ottoman Turkish -(1500-1928), {tk} : Turkmen, {tvl} : Tuvalu, {tyv} : Tuvinian, {tw} : Twi, -{uga} : Ugaritic, {ug} : Uighur, {uk} : Ukrainian, {umb} : Umbundu, {und} : -Undetermined, {ur} : Urdu, {uz} : Uzbek, {vai} : Vai, {ven} : Venda, {vi} : -Vietnamese, {vo} : Volapuk, {vot} : Votic, [{wak} : Wakashan languages], -{wal} : Walamo, {war} : Waray, {was} : Washo, {cy} : Welsh, {wo} : Wolof, -{x-...} : Unregistered (Semi-Private Use), {xh} : Xhosa, {sah} : Yakut, -{yao} : Yao, {yap} : Yapese, {yi} : Yiddish, {yo} : Yoruba, [{ypk} : Yupik -languages], {znd} : Zande, [{zap} : Zapotec], {zen} : Zenaga, {za} : -Zhuang, {zu} : Zulu, {zun} : Zuni +languages], {sam} : Samaritan Aramaic, {se} : Northern Sami, {sma} : +Southern Sami, {smn} : Inari Sami, {smj} : Lule Sami, {sms} : Skolt Sami, +[{smi} : Sami languages (Other)], {sm} : Samoan, {sad} : Sandawe, {sg} : +Sango, {sa} : Sanskrit, {sat} : Santali, {sc} : Sardinian, {sas} : Sasak, +{sco} : Scots, {sel} : Selkup, [{sem} : Semitic (Other)], {sr} : Serbian, +{srr} : Serer, {shn} : Shan, {sn} : Shona, {sid} : Sidamo, {sgn-...} : Sign +Languages, {bla} : Siksika, {sd} : Sindhi, {si} : Sinhalese, [{sit} : +Sino-Tibetan (Other)], [{sio} : Siouan languages], {den} : Slave +(Athapascan), [{sla} : Slavic (Other)], {sk} : Slovak, {sl} : Slovenian, +{sog} : Sogdian, {so} : Somali, {son} : Songhai, {snk} : Soninke, {wen} : +Sorbian languages, {nso} : Northern Sotho, {st} : Southern Sotho, [{sai} : +South American Indian (Other)], {es} : Spanish, {suk} : Sukuma, {sux} : +Sumerian, {su} : Sundanese, {sus} : Susu, {sw} : Swahili, {ss} : Swati, +{sv} : Swedish, {syr} : Syriac, {tl} : Tagalog, {ty} : Tahitian, [{tai} : +Tai (Other)], {tg} : Tajik, {tmh} : Tamashek, {ta} : Tamil, {i-tao} : Tao, +{tt} : Tatar, {i-tay} : Tayal, {te} : Telugu, {ter} : Tereno, {tet} : +Tetum, {th} : Thai, {bo} : Tibetan, {tig} : Tigre, {ti} : Tigrinya, {tem} : +Timne, {tiv} : Tiv, {tli} : Tlingit, {tpi} : Tok Pisin, {tkl} : Tokelau, +{tog} : Tonga (Nyasa), {to} : Tonga (Tonga Islands), {tsi} : Tsimshian, +{ts} : Tsonga, {i-tsu} : Tsou, {tn} : Tswana, {tum} : Tumbuka, [{tup} : +Tupi languages], {tr} : Turkish, {ota} : Ottoman Turkish (1500-1928), {crh} +: Crimean Turkish, {tk} : Turkmen, {tvl} : Tuvalu, {tyv} : Tuvinian, {tw} : +Twi, {udm} : Udmurt, {uga} : Ugaritic, {ug} : Uighur, {uk} : Ukrainian, +{umb} : Umbundu, {und} : Undetermined, {ur} : Urdu, {uz} : Uzbek, {vai} : +Vai, {ve} : Venda, {vi} : Vietnamese, {vo} : Volapuk, {vot} : Votic, [{wak} +: Wakashan languages], {wa} : Walloon, {wal} : Walamo, {war} : Waray, {was} +: Washo, {cy} : Welsh, {wo} : Wolof, {x-...} : Unregistered (Semi-Private +Use), {xh} : Xhosa, {sah} : Yakut, {yao} : Yao, {yap} : Yapese, {ii} : +Sichuan Yi, {yi} : Yiddish, {yo} : Yoruba, [{ypk} : Yupik languages], {znd} +: Zande, [{zap} : Zapotec], {zen} : Zenaga, {za} : Zhuang, {zu} : Zulu, +{zun} : Zuni =item SEE ALSO @@ -15017,7 +15097,7 @@ Zhuang, {zu} : Zulu, {zun} : Zuni =item DESCRIPTION new ( [ DIRNAME ] ), open ( DIRNAME ), read (), seek ( POS ), tell (), -rewind (), close (), tie %hash, IO::Dir, DIRNAME [, OPTIONS ] +rewind (), close (), tie %hash, 'IO::Dir', DIRNAME [, OPTIONS ] =item SEE ALSO @@ -15041,7 +15121,7 @@ new ( FILENAME [,MODE [,PERMS]] ), new_tmpfile =item METHODS -open( FILENAME [,MODE [,PERMS]] ) +open( FILENAME [,MODE [,PERMS]] ), open( FILENAME, IOLAYERS ) =item SEE ALSO @@ -15255,7 +15335,7 @@ handles =item DESCRIPTION new ( [ DIRNAME ] ), open ( DIRNAME ), read (), seek ( POS ), tell (), -rewind (), close (), tie %hash, IO::Dir, DIRNAME [, OPTIONS ] +rewind (), close (), tie %hash, 'IO::Dir', DIRNAME [, OPTIONS ] =item SEE ALSO @@ -15279,7 +15359,7 @@ new ( FILENAME [,MODE [,PERMS]] ), new_tmpfile =item METHODS -open( FILENAME [,MODE [,PERMS]] ) +open( FILENAME [,MODE [,PERMS]] ), open( FILENAME, IOLAYERS ) =item SEE ALSO @@ -16039,10 +16119,12 @@ ffround ( +$scale ), ffround ( -$scale ), ffround ( 0 ), fround ( +$scale =item BUGS -=item CAVEAT +=item CAVEATS stringify, bstr(), bdiv, Modifying and =, bpow +=item SEE ALSO + =item LICENSE =item AUTHORS @@ -16057,7 +16139,7 @@ stringify, bstr(), bdiv, Modifying and =, bpow =item DESCRIPTION -Canonical notation, Input, Output +Input, Output =item METHODS @@ -16235,7 +16317,8 @@ bsqrt(), div(), blog() =item BUGS -Out of Memory!, Fails to load Calc on Perl prior 5.6.0 +broot() does not work, Out of Memory!, Fails to load Calc on Perl prior +5.6.0 =item CAVEATS @@ -16259,7 +16342,9 @@ types, bsqrt(), brsft() =item DESCRIPTION -=item EXPORT +=item STORAGE + +=item METHODS =item WRAP YOUR OWN @@ -16296,7 +16381,7 @@ the same terms as Perl itself. =back -=head2 Math::BigRat - arbitrarily big rationales +=head2 Math::BigRat - arbitrarily big rationals =over 4 @@ -16332,6 +16417,8 @@ the same terms as Perl itself. =item bround()/round()/bfround() +=item bmod() + =item is_one() =item is_zero() @@ -16352,6 +16439,8 @@ the same terms as Perl itself. $x->bfloor(); +=item config + =back =item BUGS @@ -16599,7 +16688,8 @@ C, C, C =back -=head2 NEXT - Provide a pseudo-class NEXT that allows method redispatch +=head2 NEXT - Provide a pseudo-class NEXT (et al) that allows method +redispatch =over 4 @@ -16613,6 +16703,10 @@ C, C, C =item Avoiding repetitions +=item Invoking all versions of a method with a single call + +=item Using C methods + =back =item AUTHOR @@ -16640,7 +16734,7 @@ dataend () debug_print ( DIR, TEXT ), debug_text ( TEXT ), command ( CMD [, ARGS, ... ]), unsupported (), response (), parse_response ( TEXT ), getline (), -ungetline ( TEXT ), read_until_dot (), tied_fh () +ungetline ( TEXT ), rawdatasend ( DATA ), read_until_dot (), tied_fh () =item EXPORTS @@ -16707,15 +16801,16 @@ login ([LOGIN [,PASSWORD [, ACCOUNT] ] ]), authorize ( [AUTH [, RESP]]), site (ARGS), type (TYPE [, ARGS]), ascii ([ARGS]) binary([ARGS]) ebcdic([ARGS]) byte([ARGS]), rename ( OLDNAME, NEWNAME ), delete ( FILENAME ), cwd ( [ DIR ] ), cdup (), pwd (), restart ( WHERE ), rmdir ( DIR ), -mkdir ( DIR [, RECURSE ]), ls ( [ DIR ] ), dir ( [ DIR ] ), get ( -REMOTE_FILE [, LOCAL_FILE [, WHERE]] ), put ( LOCAL_FILE [, REMOTE_FILE ] -), put_unique ( LOCAL_FILE [, REMOTE_FILE ] ), append ( LOCAL_FILE [, -REMOTE_FILE ] ), unique_name (), mdtm ( FILE ), size ( FILE ), supported ( -CMD ), hash ( [FILEHANDLE_GLOB_REF],[ BYTES_PER_HASH_MARK] ), nlst ( [ DIR -] ), list ( [ DIR ] ), retr ( FILE ), stor ( FILE ), stou ( FILE ), appe ( -FILE ), port ( [ PORT ] ), pasv (), pasv_xfer ( SRC_FILE, DEST_SERVER [, -DEST_FILE ] ), pasv_xfer_unique ( SRC_FILE, DEST_SERVER [, DEST_FILE ] ), -pasv_wait ( NON_PASV_SERVER ), abort (), quit () +mkdir ( DIR [, RECURSE ]), ls ( [ DIR ] ), alloc ( SIZE [, RECORD_SIZE] ), +dir ( [ DIR ] ), get ( REMOTE_FILE [, LOCAL_FILE [, WHERE]] ), put ( +LOCAL_FILE [, REMOTE_FILE ] ), put_unique ( LOCAL_FILE [, REMOTE_FILE ] ), +append ( LOCAL_FILE [, REMOTE_FILE ] ), unique_name (), mdtm ( FILE ), size +( FILE ), supported ( CMD ), hash ( [FILEHANDLE_GLOB_REF],[ +BYTES_PER_HASH_MARK] ), nlst ( [ DIR ] ), list ( [ DIR ] ), retr ( FILE ), +stor ( FILE ), stou ( FILE ), appe ( FILE ), port ( [ PORT ] ), pasv (), +pasv_xfer ( SRC_FILE, DEST_SERVER [, DEST_FILE ] ), pasv_xfer_unique ( +SRC_FILE, DEST_SERVER [, DEST_FILE ] ), pasv_wait ( NON_PASV_SERVER ), +abort (), quit () =over 4 @@ -16732,7 +16827,7 @@ bytes_read (), abort (), close () =item UNIMPLEMENTED -B, B, B, B, B, B, B, B +B, B, B, B, B, B, B =item REPORTING BUGS @@ -16806,8 +16901,6 @@ MESSAGE-SPEC, PATTERN, Examples, C<[^]-]>, C<*bdc>, C<[0-9a-zA-Z]>, C =item DESCRIPTION -=item EXAMPLES - =item CONSTRUCTOR new ( [ HOST, ] [ OPTIONS ] ) @@ -16841,8 +16934,8 @@ MSGNUM ] ), delete ( MSGNUM ), reset (), quit () =item Functions -Net::Ping->new([$proto [, $def_timeout [, $bytes [, $device ]]]]);, -$p->ping($host [, $timeout]);, $p->source_verify( { 0 | 1 } );, +Net::Ping->new([$proto [, $def_timeout [, $bytes [, $device [, $tos +]]]]]);, $p->ping($host [, $timeout]);, $p->source_verify( { 0 | 1 } );, $p->service_check( { 0 | 1 } );, $p->tcp_service_check( { 0 | 1 } );, $p->hires( { 0 | 1 } );, $p->bind($local_addr);, $p->open($host);, $p->ack( [ $host ] );, $p->nack( $failed_ack_host );, $p->close();, pingecho($host @@ -17288,7 +17381,7 @@ wctomb, write =item POSIX::SigAction -new, handler, mask, flags +new, handler, mask, flags, safe =item POSIX::SigSet @@ -17414,7 +17507,7 @@ unix, stdio, perlio, crlf, utf8, bytes, raw, pop =back -=head2 PerlIO::scalar - support module for in-memory IO. +=head2 PerlIO::scalar - in-memory IO, scalar IO =over 4 @@ -17422,6 +17515,8 @@ unix, stdio, perlio, crlf, utf8, bytes, raw, pop =item DESCRIPTION +=item IMPLEMENTATION NOTE + =back =head2 PerlIO::via - Helper class for PerlIO layers implemented in perl @@ -17435,13 +17530,13 @@ unix, stdio, perlio, crlf, utf8, bytes, raw, pop =item EXPECTED METHODS $class->PUSHED([$mode[,$fh]]), $obj->POPPED([$fh]), -$obj->OPEN($path,$mode[,$fh]), $obj->BINMODE([,$fh]), -$obj->FDOPEN($fd[,$fh]), $obj->SYSOPEN($path,$imode,$perm,[,$fh]), -$obj->FILENO($fh), $obj->READ($buffer,$len,$fh), $obj->WRITE($buffer,$fh), -$obj->FILL($fh), $obj->CLOSE($fh), $obj->SEEK($posn,$whence,$fh), -$obj->TELL($fh), $obj->UNREAD($buffer,$fh), $obj->FLUSH($fh), -$obj->SETLINEBUF($fh), $obj->CLEARERR($fh), $obj->ERROR($fh), -$obj->EOF($fh) +$obj->UTF8($bellowFlag,[$fh]), $obj->OPEN($path,$mode[,$fh]), +$obj->BINMODE([,$fh]), $obj->FDOPEN($fd[,$fh]), +$obj->SYSOPEN($path,$imode,$perm,[,$fh]), $obj->FILENO($fh), +$obj->READ($buffer,$len,$fh), $obj->WRITE($buffer,$fh), $obj->FILL($fh), +$obj->CLOSE($fh), $obj->SEEK($posn,$whence,$fh), $obj->TELL($fh), +$obj->UNREAD($buffer,$fh), $obj->FLUSH($fh), $obj->SETLINEBUF($fh), +$obj->CLEARERR($fh), $obj->ERROR($fh), $obj->EOF($fh) =item EXAMPLES @@ -17463,6 +17558,8 @@ $obj->EOF($fh) =item SEE ALSO +=item ACKNOWLEDGEMENTS + =item COPYRIGHT =back @@ -19031,6 +19128,8 @@ C =item DESCRIPTION +=item BUGS + =back =head2 Sys::Hostname - Try every conceivable way to get hostname @@ -19426,7 +19525,7 @@ C, C, C, C, C, C, C, -C, C +C, C, C =item EXAMPLE @@ -19486,59 +19585,115 @@ B =item DESCRIPTION -=over 4 - =item Construction -B +=over 4 + +=item C =back =back -B<_init> +=over 4 + +=item C<_init> + +=back =over 4 =item Analysis -B +=over 4 + +=item C + +=back + +=back + +=over 4 + +=item C + +=back + +=over 4 + +=item C + +=back + +=over 4 + +=item C<_switches> + +=back + +=over 4 + +=item C<_INC2PERL5LIB> =back -B +=over 4 -B +=item C<_filtered_INC> -B<_switches> +=back -B<_INC2PERL5LIB> +=over 4 -B<_filtered_INC> +=item C<_restore_PERL5LIB> -B<_restore_PERL5LIB> +=back =over 4 =item Parsing -B<_is_comment> +=over 4 + +=item C<_is_comment> + +=back + +=back + +=over 4 + +=item C<_is_header> + +=back + +=over 4 + +=item C<_is_test> =back -B<_is_header> +=over 4 + +=item C<_is_bail_out> + +=back -B<_is_test> +=over 4 -B<_is_bail_out> +=item C<_reset_file_state> -B<_reset_file_state> +=back =over 4 =item Results -B<_detailize> +=over 4 + +=item C<_detailize> + +=back =back @@ -19768,6 +19923,10 @@ L =item C +=item C + +[0], [1], [2] + =item C C $listref>, C $listref>, C $str>, @@ -20162,8 +20321,9 @@ timers gettimeofday (), usleep ( $useconds ), ualarm ( $useconds [, $interval_useconds ] ), tv_interval, time (), sleep ( $floating_seconds ), -alarm ( $floating_seconds [, $interval_floating_seconds ] ), setitimer, -getitimer ( $which ) +alarm ( $floating_seconds [, $interval_floating_seconds ] ), setitimer ( +$which, $floating_seconds [, $interval_floating_seconds ] ), getitimer ( +$which ) =item EXAMPLES @@ -20199,6 +20359,10 @@ getitimer ( $which ) =item BUGS +=item SUPPORT + +=item AUTHOR + =back =head2 Time::gmtime - by-name interface to Perl's built-in gmtime() @@ -20302,8 +20466,6 @@ Base_Unicode_Version =item EXPORT -=item TODO - =item CAVEAT =item Conformance Test @@ -20544,6 +20706,24 @@ Win32::UnregisterServer(LIBRARYNAME) =item DESCRIPTION +=over 4 + +=item Migration from C + +=item Backward compatible boilerplate + +=back + +=item Order of initialization: early load() + +=over 4 + +=item The most hairy case + +=back + +=item LIMITATIONS + =item AUTHOR =back @@ -20557,21 +20737,29 @@ don't all have manual pages yet: =item a2p -=item s2p +=item c2ph -=item find2perl +=item dprofpp =item h2ph -=item c2ph - =item h2xs -=item xsubpp +=item perlbug + +=item perldoc + +=item pl2pm + +=item pod2html =item pod2man -=item wrapsuid +=item s2p + +=item splain + +=item xsubpp =back