X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pod%2Fperltoc.pod;h=0a7987bb367b41db87912586113b98a4446d329a;hb=9b5c3821be1f2a9a84772171c8bbadbf9cfc4a53;hp=43d3838f753cb0c61427b020b55fb1b7aa3931b1;hpb=0d53b15fa4cfc19af1f1f60c6ad17eac8f14cce3;p=p5sagit%2Fp5-mst-13.2.git diff --git a/pod/perltoc.pod b/pod/perltoc.pod index 43d3838..0a7987b 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,113 +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 Comments +=back -=item Simple Statements +=item HASHES OF HASHES -=item Compound Statements +=over 4 -=item Loop Control +=item Declaration of a HASH OF HASHES -=item For Loops +=item Generation of a HASH OF HASHES -=item Foreach Loops +=item Access and Printing of a HASH OF HASHES -=item Basic BLOCKs and Switch Statements +=back -=item Goto +=item MORE ELABORATE RECORDS -=item PODs: Embedded Documentation +=over 4 -=item Plain Old Comments (Not!) +=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 @@ -217,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 Invoking a barnyard -=item Subroutine Attributes - -=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 -=over 4 +=item Class Data as Package Variables -=item Simple word matching +=over 4 -=item Using character classes +=item Putting All Your Eggs in One Basket -=item Matching this or that +=item Inheritance Concerns -=item Grouping things and hierarchical matching +=item The Eponymous Meta-Object -=item Extracting matches +=item Indirect References to Class Data -=item Matching repetitions +=item Monadic Classes -=item More matching +=item Translucent Attributes -=item Search and replace +=back -=item The split operator +=item Class Data as Lexical Variables -=back +=over 4 -=item BUGS +=item Privacy and Responsibility -=item SEE ALSO +=item File-Scoped Lexicals -=item AUTHOR AND COPYRIGHT +=item More Inheritance Concerns -=over 4 +=item Locking the Door and Throwing Away the Key -=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 @@ -832,55 +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 [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, :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 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: 2004/10/05 +22:15:44 $) =over 4 @@ -888,128 +774,112 @@ PERL_ROOT (specific to the VMS port), PERL_SIGNALS, PERL_UNICODE, SYS$LOGIN =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.15 $, $Date: +2004/10/11 05:06:29 $) =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.29 $, +$Date: 2004/10/25 18:37:23 $) =over 4 @@ -1017,393 +887,362 @@ 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, @+, -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, 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 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.41 $, $Date: 2004/11/03 +22:45:32 $) =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 +Eclipse, Komodo, Open Perl IDE, OptiPerl, PerlBuilder, visiPerl+, Visual +Perl, GNU Emacs, MicroEMACS, XEmacs, Jed, Elvis, Vile, Vim, Codewright, +MultiEdit, SlickEdit, Bash, Ksh, Tcsh, Zsh, Affrus, Alpha, BBEdit and +BBEdit Lite -=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] -=back +=item I've read perlembed, perlguts, etc., but I can't embed perl in +my C program; what am I doing wrong? -=head2 perlpacktut - tutorial on C and C +=item When I tried to run my script, I got this message. What does it mean? -=over 4 +=item What's MakeMaker? -=item DESCRIPTION +=back -=item The Basic Principle +=item AUTHOR AND COPYRIGHT -=item Packing Text +=back -=item Packing Numbers +=head2 perlfaq4 - Data Manipulation ($Revision: 1.56 $, $Date: 2004/11/03 +22:47:56 $) =over 4 -=item Integers - -=item Unpacking a Stack Frame - -=item How to Eat an Egg on a Net - -=item Floating point Numbers - -=back +=item DESCRIPTION -=item Exotic Templates +=item Data: Numbers =over 4 -=item Bit Strings +=item Why am I getting long decimals (eg, 19.9499999999999) instead of the +numbers I should be getting (eg, 19.95)? -=item Uuencoding +=item Why is int() broken? -=item Doing Sums +=item Why isn't my octal data interpreted correctly? -=item Unicode +=item Does Perl have a round() function? What about ceil() and floor()? +Trig functions? -=item Another Portable Binary Encoding +=item How do I convert between numeric representations/bases/radixes? -=back +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 Template Grouping +=item Why doesn't & work the way I want it to? -=item Lengths and Widths +=item How do I multiply matrices? -=over 4 +=item How do I perform an operation on a series of integers? -=item String Lengths +=item How can I output Roman numerals? -=item Dynamic Templates +=item Why aren't my random numbers random? -=item Counting Repetitions +=item How do I get a random number between X and Y? =back -=item Packing and Unpacking C Structures +=item Data: Dates =over 4 -=item The Alignment Pit - -=item Alignment, Take 2 +=item How do I find the day or week of the year? -=item Alignment, Take 3 +=item How do I find the current century or millennium? -=item Pointers for How to Use Them +=item How can I compare two dates and find the difference? -=back +=item How can I take a string and turn it into epoch seconds? -=item Pack Recipes +=item How can I find the Julian Day? -=item Funnies Section +=item How do I find yesterday's date? -=item Authors +=item Does Perl have a Year 2000 problem? Is Perl Y2K compliant? =back -=head2 perlretut - Perl regular expressions tutorial +=item Data: Strings =over 4 -=item DESCRIPTION - -=item Part 1: The basics - -=over 4 +=item How do I validate input? -=item Simple word matching +=item How do I unescape a string? -=item Using character classes +=item How do I remove consecutive pairs of characters? -=item Matching this or that +=item How do I expand function calls in a string? -=item Grouping things and hierarchical matching +=item How do I find matching/nesting anything? -=item Extracting matches +=item How do I reverse a string? -=item Matching repetitions +=item How do I expand tabs in a string? -=item Building a regexp +=item How do I reformat a paragraph? -=item Using regular expressions in Perl +=item How can I access or change N characters of a string? -=back +=item How do I change the Nth occurrence of something? -=item Part 2: Power tools +=item How can I count the number of occurrences of a substring within a +string? -=over 4 +=item How do I capitalize all the words on one line? -=item More on characters, strings, and character classes +=item How can I split a [character] delimited string except when inside +[character]? -=item Compiling and saving regular expressions +=item How do I strip blank space from the beginning/end of a string? -=item Embedding comments and modifiers in a regular expression +=item How do I pad a string with blanks or pad a number with zeroes? -=item Non-capturing groupings +=item How do I extract selected columns from a string? -=item Looking ahead and looking behind +=item How do I find the soundex value of a string? -=item Using independent subexpressions to prevent backtracking +=item How can I expand variables in text strings? -=item Conditional expressions +=item What's wrong with always quoting "$vars"? -=item A bit of magic: executing Perl code in a regular expression +=item Why don't my EEHERE documents work? -=item Pragmas and debugging +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 BUGS - -=item SEE ALSO - -=item AUTHOR AND COPYRIGHT +=item Data: Arrays =over 4 -=item Acknowledgments - -=back +=item What is the difference between a list and an array? -=back +=item What is the difference between $array[1] and @array[1]? -=head2 perlre - Perl regular expressions +=item How can I remove duplicate elements from a list or array? -=over 4 +a), b), c), d), e) -=item DESCRIPTION +=item How can I tell whether a certain element is contained in a list or +array? -i, m, s, x - -=over 4 +=item How do I compute the difference of two arrays? How do I compute the +intersection of two arrays? -=item Regular Expressions +=item How do I test whether two arrays or hashes are equal? -[1], [2], [3], cntrl, graph, print, punct, xdigit +=item How do I find the first array element for which a condition is true? -=item Extended Patterns +=item How do I handle linked lists? -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 handle circular lists? -=item Backtracking +=item How do I shuffle an array randomly? -=item Version 8 Regular Expressions +=item How do I process/modify each element of an array? -=item Warning on \1 vs $1 +=item How do I select a random element from an array? -=item Repeated patterns matching zero-length substring +=item How do I permute N elements of a list? -=item Combining pieces together +=item How do I sort an array by (anything)? -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 do I manipulate arrays of bits? -=item Creating custom RE engines +=item Why does defined() return true on empty arrays and hashes? =back -=item BUGS +=item Data: Hashes (Associative Arrays) -=item SEE ALSO +=over 4 -=back +=item How do I process an entire hash? -=head2 perlref - Perl references and nested data structures +=item What happens if I add or remove keys from a hash while iterating over +it? -=over 4 +=item How do I look up a hash element by value? -=item NOTE +=item How can I know how many entries are in a hash? -=item DESCRIPTION +=item How do I sort a hash (optionally by value instead of key)? -=over 4 +=item How can I always keep my hash sorted? -=item Making References +=item What's the difference between "delete" and "undef" with hashes? -=item Using References +=item Why don't my tied hashes make the defined/exists distinction? -=item Symbolic references +=item How do I reset an each() operation part-way through? -=item Not-so-symbolic references +=item How can I get the unique keys from two hashes? -=item Pseudo-hashes: Using an array as a hash +=item How can I store a multidimensional array in a DBM file? -=item Function Templates +=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 WARNING +=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 perlform - Perl formats +=item Data: Misc =over 4 -=item DESCRIPTION - -=over 4 +=item How do I handle binary data correctly? -=item Format Variables +=item How do I determine whether a scalar is a number/whole/integer/float? -=back +=item How do I keep persistent data across program calls? -=item NOTES +=item How do I print out or copy a recursive data structure? -=over 4 +=item How do I define methods for every class/object? -=item Footers +=item How do I verify a credit card checksum? -=item Accessing Formatting Internals +=item How do I pack arrays of doubles or floats for XS code? =back -=item WARNINGS +=item AUTHOR AND COPYRIGHT =back -=head2 perlboot - Beginner's Object-Oriented Tutorial +=head2 perlfaq5 - Files and Formats ($Revision: 1.31 $, $Date: 2004/02/07 +04:29:50 $) =over 4 @@ -1411,1509 +1250,2117 @@ C<(?(condition)yes-pattern|no-pattern)> =over 4 -=item If we could talk to the animals... - -=item Introducing the method invocation arrow - -=item Invoking a barnyard - -=item The extra parameter of method invocation - -=item Calling a second method to simplify things +=item How do I flush/unbuffer an output filehandle? Why must I do this? -=item Inheriting the windpipes +=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 A few notes about @ISA +=item How do I count the number of lines in a file? -=item Overriding the methods +=item How can I use Perl's C<-i> option from within a program? -=item Starting the search from a different place +=item How do I make a temporary file name? -=item The SUPER way of doing things +=item How can I manipulate fixed-record-length files? -=item Where we're at so far... +=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 A horse is a horse, of course of course -- or is it? +=item How can I use a filehandle indirectly? -=item Invoking an instance method +=item How can I set up a footer format to be used with write()? -=item Accessing the instance data +=item How can I write() into a string? -=item How to build a horse +=item How can I output my numbers with commas added? -=item Inheriting the constructor +=item How can I translate tildes (~) in a filename? -=item Making a method work with either classes or instances +=item How come when I open a file read-write it wipes it out? -=item Adding parameters to a method +=item Why do I sometimes get an "Argument list too long" when I use +E*E? -=item More interesting instances +=item Is there a leak/bug in glob()? -=item A horse of a different color +=item How can I open a file with a leading ">" or trailing blanks? -=item Summary +=item How can I reliably rename a file? -=back +=item How can I lock a file? -=item SEE ALSO +=item Why can't I just open(FH, "Efile.lock")? -=item COPYRIGHT +=item I still don't get locking. I just want to increment the number in +the file. How can I do this? -=back +=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? -=head2 perltoot - Tom's object-oriented tutorial for perl +=item How do I randomly update a binary file? -=over 4 +=item How do I get a file's timestamp in perl? -=item DESCRIPTION +=item How do I set a file's timestamp in perl? -=item Creating a Class +=item How do I print to more than one file at once? -=over 4 +=item How can I read in an entire file all at once? -=item Object Representation +=item How can I read in a file by paragraphs? -=item Class Interface +=item How can I read a single character from a file? From the keyboard? -=item Constructors and Instance Methods +=item How can I tell whether there's a character waiting on a filehandle? -=item Planning for the Future: Better Constructors +=item How do I do a C in perl? -=item Destructors +=item How do I dup() a filehandle in Perl? -=item Other Object Methods +=item How do I close a file descriptor by number? -=back +=item Why can't I use "C:\temp\foo" in DOS paths? Why doesn't +`C:\temp\foo.exe` work? -=item Class Data +=item Why doesn't glob("*.*") get all the files? -=over 4 +=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 Accessing Class Data +=item How do I select a random line from a file? -=item Debugging Methods +=item Why do I get weird spaces when I print an array of lines? -=item Class Destructors +=back -=item Documenting the Interface +=item AUTHOR AND COPYRIGHT =back -=item Aggregation - -=item Inheritance +=head2 perlfaq6 - Regular Expressions ($Revision: 1.27 $, $Date: 2004/11/03 +22:52:16 $) =over 4 -=item Overridden Methods - -=item Multiple Inheritance - -=item UNIVERSAL: The Root of All Objects +=item DESCRIPTION -=back +=over 4 -=item Alternate Object Representations +=item How can I hope to use regular expressions without creating illegible +and unmaintainable code? -=over 4 +Comments Outside the Regex, Comments Inside the Regex, Different Delimiters -=item Arrays as Objects +=item I'm having trouble matching over more than one line. What's wrong? -=item Closures as Objects +=item How can I pull out lines between two patterns that are themselves on +different lines? -=back +=item I put a regular expression into $/ but it didn't work. What's wrong? -=item AUTOLOAD: Proxy Methods +=item How do I substitute case insensitively on the LHS while preserving +case on the RHS? -=over 4 +=item How can I make C<\w> match national character sets? -=item Autoloaded Data Methods +=item How can I match a locale-smart version of C? -=item Inherited Autoloaded Data Methods +=item How can I quote a variable to use in a regex? -=back +=item What is C really for? -=item Metaclassical Tools +=item How do I use a regular expression to strip C style comments from a +file? -=over 4 +=item Can I use Perl regular expressions to match balanced text? -=item Class::Struct +=item What does it mean that regexes are greedy? How can I get around it? -=item Data Members as Variables +=item How do I process each word on each line? -=back +=item How can I print out a word-frequency or line-frequency summary? -=item NOTES +=item How can I do approximate matching? -=over 4 +=item How do I efficiently match many regular expressions at once? -=item Object Terminology +=item Why don't word-boundary searches with C<\b> work for me? -=back +=item Why does using $&, $`, or $' slow my program down? -=item SEE ALSO +=item What good is C<\G> in a regular expression? -=item AUTHOR AND COPYRIGHT +=item Are Perl regexes DFAs or NFAs? Are they POSIX compliant? -=item COPYRIGHT +=item What's wrong with using grep in a void context? -=over 4 +=item How can I match strings with multibyte characters? -=item Acknowledgments +=item How do I match a pattern that is supplied by the user? =back +=item AUTHOR AND COPYRIGHT + =back -=head2 perltooc - Tom's OO Tutorial for Class Data in Perl +=head2 perlfaq7 - General Perl Language Issues ($Revision: 1.18 $, $Date: +2004/11/03 22:54:08 $) =over 4 =item DESCRIPTION -=item Class Data in a Can - -=item Class Data as Package Variables - =over 4 -=item Putting All Your Eggs in One Basket +=item Can I get a BNF/yacc/RE for the Perl language? -=item Inheritance Concerns - -=item The Eponymous Meta-Object - -=item Indirect References to Class Data - -=item Monadic Classes - -=item Translucent Attributes - -=back +=item What are all these $@%&* punctuation signs, and how do I know when to +use them? -=item Class Data as Lexical Variables +=item Do I always/never have to quote my strings or use semicolons and +commas? -=over 4 +=item How do I skip some return values? -=item Privacy and Responsibility +=item How do I temporarily block warnings? -=item File-Scoped Lexicals +=item What's an extension? -=item More Inheritance Concerns +=item Why do Perl operators have different precedence than C operators? -=item Locking the Door and Throwing Away the Key +=item How do I declare/create a structure? -=item Translucency Revisited +=item How do I create a module? -=back +=item How do I create a class? -=item NOTES +=item How can I tell if a variable is tainted? -=item SEE ALSO +=item What's a closure? -=item AUTHOR AND COPYRIGHT +=item What is variable suicide and how can I prevent it? -=item ACKNOWLEDGEMENTS +=item How can I pass/return a {Function, FileHandle, Array, Hash, Method, +Regex}? -=item HISTORY +Passing Variables and Functions, Passing Filehandles, Passing Regexes, +Passing Methods -=back +=item How do I create a static variable? -=head2 perlobj - Perl objects +=item What's the difference between dynamic and lexical (static) scoping? +Between local() and my()? -=over 4 +=item How can I access a dynamic variable while a similarly named lexical +is in scope? -=item DESCRIPTION +=item What's the difference between deep and shallow binding? -=over 4 +=item Why doesn't "my($foo) = EFILEE;" work right? -=item An Object is Simply a Reference +=item How do I redefine a builtin function, operator, or method? -=item A Class is Simply a Package +=item What's the difference between calling a function as &foo and foo()? -=item A Method is Simply a Subroutine +=item How do I create a switch or case statement? -=item Method Invocation +=item How can I catch accesses to undefined variables, functions, or +methods? -=item Indirect Object Syntax +=item Why can't a method included in this same file be found? -=item Default UNIVERSAL methods +=item How can I find out my current package? -isa(CLASS), can(METHOD), VERSION( [NEED] ) +=item How can I comment out a large block of perl code? -=item Destructors +=item How do I clear a package? -=item Summary +=item How can I use a variable as a variable name? -=item Two-Phased Garbage Collection +=item What does "bad interpreter" mean? =back -=item SEE ALSO +=item AUTHOR AND COPYRIGHT =back -=head2 perlbot - Bag'o Object Tricks (the BOT) +=head2 perlfaq8 - System Interaction ($Revision: 1.22 $, $Date: 2004/10/05 +22:13:49 $) =over 4 =item DESCRIPTION -=item OO SCALING TIPS +=over 4 -=item INSTANCE VARIABLES +=item How do I find out which operating system I'm running under? -=item SCALAR INSTANCE VARIABLES +=item How come exec() doesn't return? -=item INSTANCE VARIABLE INHERITANCE +=item How do I do fancy stuff with the keyboard/screen/mouse? -=item OBJECT RELATIONSHIPS +Keyboard, Screen, Mouse -=item OVERRIDING SUPERCLASS METHODS +=item How do I print something out in color? -=item USING RELATIONSHIP WITH SDBM +=item How do I read just one key without waiting for a return key? -=item THINKING OF CODE REUSE +=item How do I check whether input is ready on the keyboard? -=item CLASS CONTEXT AND THE OBJECT +=item How do I clear the screen? -=item INHERITING A CONSTRUCTOR +=item How do I get the screen size? -=item DELEGATION +=item How do I ask the user for a password? -=item SEE ALSO +=item How do I read and write the serial port? -=back +lockfiles, open mode, end of line, flushing output, non-blocking input -=head2 perltie - how to hide an object class in a simple variable +=item How do I decode encrypted password files? -=over 4 +=item How do I start a process in the background? -=item SYNOPSIS +STDIN, STDOUT, and STDERR are shared, Signals, Zombies -=item DESCRIPTION +=item How do I trap control characters/signals? -=over 4 +=item How do I modify the shadow password file on a Unix system? -=item Tying Scalars +=item How do I set the time and date? -TIESCALAR classname, LIST, FETCH this, STORE this, value, UNTIE this, -DESTROY this +=item How can I sleep() or alarm() for under a second? -=item Tying Arrays +=item How can I measure time under a second? -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 How can I do an atexit() or setjmp()/longjmp()? (Exception handling) -=item Tying Hashes +=item Why doesn't my sockets program work under System V (Solaris)? What +does the error message "Protocol not supported" mean? -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 can I call my system's unique C functions from Perl? -=item Tying FileHandles +=item Where do I get the include files to do ioctl() or syscall()? -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 Why do setuid perl scripts complain about kernel problems? -=item UNTIE this +=item How can I open a pipe both to and from a command? -=item The C Gotcha +=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 SEE ALSO +=item Why doesn't open() return an error when a pipe open fails? -=item BUGS +=item What's wrong with using backticks in a void context? -=item AUTHOR +=item How can I call backticks without shell processing? -=back +=item Why can't my script read from STDIN after I gave it EOF (^D on Unix, +^Z on MS-DOS)? -=head2 perlipc - Perl interprocess communication (signals, fifos, pipes, -safe subprocesses, sockets, and semaphores) +=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 DESCRIPTION +=item How can I write expect in Perl? -=item Signals +=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 Handling the SIGHUP Signal in Daemons +Unix -=back +=item How do I close a process's filehandle without waiting for it to +complete? -=item Named Pipes +=item How do I fork a daemon process? -=over 4 +=item How do I find out if I'm running interactively or not? -=item Deferred Signals (Safe signals) +=item How do I timeout a slow event? -Long running opcodes, Interrupting IO, Restartable system calls, Signals as -"faults", Signals triggered by operating system state +=item How do I set CPU limits? -=back +=item How do I avoid zombies on a Unix system? -=item Using open() for IPC +=item How do I use an SQL database? -=over 4 +=item How do I make a system() exit on control-C? -=item Filehandles +=item How do I open a file without blocking? -=item Background Processes +=item How do I tell the difference between errors from the shell and perl? -=item Complete Dissociation of Child from Parent +=item How do I install a module from CPAN? -=item Safe Pipe Opens +=item What's the difference between require and use? -=item Bidirectional Communication with Another Process +=item How do I keep my own module/library directory? -=item Bidirectional Communication with Yourself +=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 (@INC) at runtime? -=item Sockets: Client/Server Communication +=item What is socket.ph and where do I get it? -=over 4 +=back -=item Internet Line Terminators +=item AUTHOR AND COPYRIGHT -=item Internet TCP Clients and Servers +=back -=item Unix-Domain TCP Clients and Servers +=head2 perlfaq9 - Networking ($Revision: 1.16 $, $Date: 2004/10/30 12:20:59 +$) -=back +=over 4 -=item TCP Clients with IO::Socket +=item DESCRIPTION =over 4 -=item A Simple Client +=item What is the correct form of response from a CGI script? -C, C, C +=item My CGI script runs from the command line but not the browser. (500 +Server Error) -=item A Webget Client +=item How can I get better error messages from a CGI program? -=item Interactive Client with IO::Socket +=item How do I remove HTML from a string? -=back +=item How do I extract URLs? -=item TCP Servers with IO::Socket +=item How do I download a file from the user's machine? How do I open a +file on another machine? -Proto, LocalPort, Listen, Reuse +=item How do I make a pop-up menu in HTML? -=item UDP: Message Passing +=item How do I fetch an HTML file? -=item SysV IPC +=item How do I automate an HTML form submission? -=item NOTES +=item How do I decode or create those %-encodings on the web? -=item BUGS +=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 perlfork - Perl's fork() emulation +=item How do I parse a mail header? -=over 4 +=item How do I decode a CGI form? -=item SYNOPSIS +=item How do I check a valid mail address? -=item DESCRIPTION +=item How do I decode a MIME/BASE64 string? -=over 4 +=item How do I return the user's mail address? -=item Behavior of other Perl features in forked pseudo-processes +=item How do I send mail? -$$ 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 How do I use MIME to make an attachment to a mail message? -=item Resource limits +=item How do I read mail? -=item Killing the parent process +=item How do I find out my hostname/domainname/IP address? -=item Lifetime of the parent process and pseudo-processes +=item How do I fetch a news article or the active newsgroups? -=item CAVEATS AND LIMITATIONS +=item How do I fetch/put an FTP file? -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 How can I do RPC in Perl? =back -=item BUGS - -=item AUTHOR - -=item SEE ALSO +=item AUTHOR AND COPYRIGHT =back -=head2 perlnumber - semantics of numbers and numeric operations in Perl +=head2 perlsyn - Perl syntax =over 4 -=item SYNOPSIS - =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 +=over 4 -=item AUTHOR +=item Declarations -=item SEE ALSO +=item Comments -=back +=item Simple Statements -=head2 perlthrtut - tutorial on threads in Perl +=item Truth and Falsehood -=over 4 +=item Statement Modifiers -=item DESCRIPTION +=item Compound Statements -=item Status +=item Loop Control -=item What Is A Thread Anyway? +=item For Loops -=item Threaded Program Models +=item Foreach Loops -=over 4 +=item Basic BLOCKs and Switch Statements -=item Boss/Worker +=item Goto -=item Work Crew +=item PODs: Embedded Documentation -=item Pipeline +=item Plain Old Comments (Not!) =back -=item Native threads +=back -=item What kind of threads are Perl threads? +=head2 perldata - Perl data types -=item Thread-Safe Modules +=over 4 -=item Thread Basics +=item DESCRIPTION =over 4 -=item Basic Thread Support - -=item A Note about the Examples +=item Variable names -=item Creating Threads +=item Context -=item Giving up control +=item Scalar values -=item Waiting For A Thread To Exit +=item Scalar value constructors -=item Ignoring A Thread +=item List value constructors -=back +=item Subscripts -=item Threads And Data +=item Slices -=over 4 +=item Typeglobs and Filehandles -=item Shared And Unshared Data +=back -=item Thread Pitfalls: Races +=item SEE ALSO =back -=item Synchronization and control +=head2 perlop - Perl operators and precedence =over 4 -=item Controlling access: lock() - -=item A Thread Pitfall: Deadlocks - -=item Queues: Passing Data Around - -=item Semaphores: Synchronizing Data Access - -=item Basic semaphores - -=item Advanced Semaphores - -=item cond_wait() and cond_signal() - -=back - -=item General Thread Utility Routines +=item DESCRIPTION =over 4 -=item What Thread Am I In? +=item Operator Precedence and Associativity -=item Thread IDs +=item Terms and List Operators (Leftward) -=item Are These Threads The Same? +=item The Arrow Operator -=item What Threads Are Running? +=item Auto-increment and Auto-decrement -=back +=item Exponentiation -=item A Complete Example +=item Symbolic Unary Operators -=item Performance considerations +=item Binding Operators -=item Process-scope Changes +=item Multiplicative Operators -=item Thread-Safety of System Libraries +=item Additive Operators -=item Conclusion +=item Shift Operators -=item Bibliography +=item Named Unary Operators -=over 4 +=item Relational Operators -=item Introductory Texts +=item Equality Operators -=item OS-Related References +=item Bitwise And -=item Other References +=item Bitwise Or and Exclusive Or -=back +=item C-style Logical And -=item Acknowledgements +=item C-style Logical Or -=item AUTHOR +=item C-style Logical Defined-Or -=item Copyrights +=item Range Operators -=back +=item Conditional Operator -=head2 perlothrtut - old tutorial on threads in Perl +=item Assignment Operators -=over 4 +=item Comma Operator -=item DESCRIPTION +=item List Operators (Rightward) -=item What Is A Thread Anyway? +=item Logical Not -=item Threaded Program Models +=item Logical And -=over 4 +=item Logical or, Defined or, and Exclusive Or -=item Boss/Worker +=item C Operators Missing From Perl -=item Work Crew +unary &, unary *, (TYPE) -=item Pipeline +=item Quote and Quote-like Operators -=back +=item Regexp Quote-Like Operators -=item Native threads +?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 Thread Basics +=item I/O Operators -=over 4 +=item Constant Folding -=item Basic Thread Support +=item No-ops -=item Creating Threads +=item Bitwise String Operators -=item Giving up control +=item Integer Arithmetic -=item Waiting For A Thread To Exit +=item Floating-point Arithmetic -=item Errors In Threads +=item Bigger Numbers -=item Ignoring A Thread +=back =back -=item Threads And Data +=head2 perlsub - Perl subroutines =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 SYNOPSIS -=item Threads And Code +=item DESCRIPTION =over 4 -=item Semaphores: Synchronizing Data Access +=item Private Variables via my() -Basic semaphores, Advanced Semaphores +=item Persistent Private Variables -=item Attributes: Restricting Access To Subroutines +=item Temporary Values via local() -=item Subroutine Locks +=item Lvalue subroutines -=item Methods +Lvalue subroutines are EXPERIMENTAL -=item Locking A Subroutine +=item Passing Symbol Table Entries (typeglobs) -=back +=item When to Still Use local() -=item General Thread Utility Routines +=item Pass by Reference -=over 4 +=item Prototypes -=item What Thread Am I In? +=item Constant Functions -=item Thread IDs +=item Overriding Built-in Functions -=item Are These Threads The Same? +=item Autoloading -=item What Threads Are Running? +=item Subroutine Attributes =back -=item A Complete Example +=item SEE ALSO -=item Conclusion +=back -=item Bibliography +=head2 perlfunc - Perl builtin functions =over 4 -=item Introductory Texts - -=item OS-Related References - -=item Other References +=item DESCRIPTION -=back +=over 4 -=item Acknowledgements +=item Perl Functions by Category + +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 Portability + +=item Alphabetical Listing of Perl Functions + +-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/// + +=back + +=back + +=head2 perlopentut - tutorial on opening things in Perl + +=over 4 + +=item DESCRIPTION + +=item Open E la shell + +=over 4 + +=item Simple Opens + +=item Indirect Filehandles + +=item Pipe Opens + +=item The Minus File + +=item Mixing Reads and Writes + +=item Filters + +=back + +=item Open E la C + +=over 4 + +=item Permissions E la mode + +=back + +=item Obscure Open Tricks + +=over 4 + +=item Re-Opening Files (dups) + +=item Dispelling the Dweomer + +=item Paths as Opens + +=item Single Argument Open + +=item Playing with STDIN and STDOUT + +=back + +=item Other I/O Issues + +=over 4 + +=item Opening Non-File Files + +=item Opening Named Pipes + +=item Opening Sockets + +=item Binary Files + +=item File Locking + +=item IO Layers + +=back + +=item SEE ALSO + +=item AUTHOR and COPYRIGHT + +=item HISTORY + +=back + +=head2 perlpacktut - tutorial on C and C + +=over 4 + +=item DESCRIPTION + +=item The Basic Principle + +=item Packing Text + +=item Packing Numbers + +=over 4 + +=item Integers + +=item Unpacking a Stack Frame + +=item How to Eat an Egg on a Net + +=item Byte-order modifiers + +=item Floating point Numbers + +=back + +=item Exotic Templates + +=over 4 + +=item Bit Strings + +=item Uuencoding + +=item Doing Sums + +=item Unicode + +=item Another Portable Binary Encoding + +=back + +=item Template Grouping + +=item Lengths and Widths + +=over 4 + +=item String Lengths + +=item Dynamic Templates + +=item Counting Repetitions + +=back + +=item Packing and Unpacking C Structures + +=over 4 + +=item The Alignment Pit + +=item Dealing with Endian-ness + +=item Alignment, Take 2 + +=item Alignment, Take 3 + +=item Pointers for How to Use Them + +=back + +=item Pack Recipes + +=item Funnies Section + +=item Authors + +=back + +=head2 perlpod - the Plain Old Documentation format + +=over 4 + +=item DESCRIPTION + +=over 4 + +=item Ordinary Paragraph + +=item Verbatim Paragraph + +=item Command Paragraph + +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 AUTHOR + +=back + +=head2 perlpodspec - Plain Old Documentation: format specification and +notes + +=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...", +"=encoding encodingname" + +=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 + +First:, Second:, Third:, Fourth:, Fifth:, Sixth: + +=item About =over...=back Regions + +=item About Data Paragraphs and "=begin/=end" Regions + +=item SEE ALSO + +=item AUTHOR + +=back + +=head2 perlrun - how to execute the Perl interpreter + +=over 4 + +=item SYNOPSIS + +=item DESCRIPTION + +=over 4 + +=item #! and quoting on non-Unix systems + +OS/2, MS-DOS, Win95/NT, Macintosh, VMS + +=item Location of Perl + +=item Command Switches + +B<-0>[I], B<-A [I]>, B<-a>, B<-C +[I]>, B<-c>, B<-d>, B<-dt>, B<-d:>I, +B<-dt:>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>, B<-x> I + +=back + +=item ENVIRONMENT + +HOME, LOGDIR, PATH, PERL5LIB, PERL5OPT, PERLIO, :bytes, :crlf, :mmap, +:perlio, :pop, :raw, :stdio, :unix, :utf8, :win32, PERLIO_DEBUG, PERLLIB, +PERL5DB, PERL5DB_THREADED, PERL5SHELL (specific to the Win32 port), +PERL_ALLOW_NON_IFS_LSP (specific to the Win32 port), PERL_DEBUG_MSTATS, +PERL_DESTRUCT_LEVEL, PERL_DL_NONLAZY, 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) + +=back + +=head2 perldiag - various Perl diagnostics + +=over 4 + +=item DESCRIPTION + +=back + +=head2 perllexwarn - Perl Lexical Warnings + +=over 4 + +=item DESCRIPTION + +=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 Fatal Warnings + +=item Reporting Warnings from a Module + +=back + +=item TODO + +=item SEE ALSO + +=item AUTHOR + +=back + +=head2 perldebug - Perl debugging + +=over 4 + +=item DESCRIPTION + +=item The Perl Debugger + +=over 4 + +=item Debugger Commands + +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 Configurable Options + +C, C, C, C, C, +C, C, C, 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 Debugger input/output + +Prompt, Multiline commands, Stack backtrace, Line Listing Format, Frame +listing + +=item Debugging compile-time statements + +=item Debugger Customization + +=item Readline Support + +=item Editor Support for Debugging + +=item The Perl Profiler + +=back + +=item Debugging regular expressions + +=item Debugging memory usage + +=item SEE ALSO + +=item BUGS + +=back + +=head2 perlvar - Perl predefined variables + +=over 4 + +=item DESCRIPTION + +=over 4 + +=item Predefined Names + +$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 Error Indicators + +=item Technical Note on the Syntax of Variable Names + +=back + +=item BUGS + +=back + +=head2 perlre - Perl regular expressions + +=over 4 + +=item DESCRIPTION + +i, m, s, x + +=over 4 + +=item Regular Expressions + +[1], [2], [3], cntrl, graph, print, punct, xdigit + +=item Extended Patterns + +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 Backtracking + +=item Version 8 Regular Expressions + +=item Warning on \1 vs $1 + +=item Repeated patterns matching zero-length substring + +=item Combining pieces together + +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 Creating custom RE engines + +=back + +=item BUGS + +=item SEE ALSO + +=back + +=head2 perlreref - Perl Regular Expressions Reference + +=over 4 + +=item DESCRIPTION + +=over 4 + +=item OPERATORS + +=item SYNTAX + +=item ESCAPE SEQUENCES + +=item CHARACTER CLASSES + +=item ANCHORS + +=item QUANTIFIERS + +=item EXTENDED CONSTRUCTS + +=item VARIABLES + +=item FUNCTIONS + +=item TERMINOLOGY + +=back =item AUTHOR -=item Copyrights +=item SEE ALSO + +=item THANKS =back -=head2 perlport - Writing portable Perl +=head2 perlref - Perl references and nested data structures =over 4 +=item NOTE + =item DESCRIPTION -Not all Perl programs have to be portable, Nearly all of Perl already I -portable +=over 4 -=item ISSUES +=item Making References + +=item Using References + +=item Symbolic references + +=item Not-so-symbolic references + +=item Pseudo-hashes: Using an array as a hash + +=item Function Templates + +=back + +=item WARNING + +=item SEE ALSO + +=back + +=head2 perlform - Perl formats =over 4 -=item Newlines +=item DESCRIPTION -=item Numbers endianness and Width +=over 4 -=item Files and Filesystems +=item Text Fields -=item System Interaction +=item Numeric Fields -=item Command names versus file pathnames +=item The Field @* for Variable Width Multi-Line Text -=item Networking +=item The Field ^* for Variable Width One-line-at-a-time Text -=item Interprocess Communication (IPC) +=item Specifying Values -=item External Subroutines (XS) +=item Using Fill Mode -=item Standard Modules +=item Suppressing Lines Where All Fields Are Void -=item Time and Date +=item Repeating Format Lines -=item Character sets and character encoding +=item Top of Form Processing -=item Internationalisation +=item Format Variables -=item System Resources +=back -=item Security +=item NOTES -=item Style +=over 4 + +=item Footers + +=item Accessing Formatting Internals + +=back + +=item WARNINGS + +=back + +=head2 perlobj - Perl objects + +=over 4 + +=item DESCRIPTION + +=over 4 + +=item An Object is Simply a Reference + +=item A Class is Simply a Package + +=item A Method is Simply a Subroutine + +=item Method Invocation + +=item Indirect Object Syntax + +=item Default UNIVERSAL methods + +isa(CLASS), can(METHOD), VERSION( [NEED] ) + +=item Destructors + +=item Summary + +=item Two-Phased Garbage Collection + +=back + +=item SEE ALSO =back -=item CPAN Testers +=head2 perltie - how to hide an object class in a simple variable + +=over 4 + +=item SYNOPSIS + +=item DESCRIPTION + +=over 4 + +=item Tying Scalars + +TIESCALAR classname, LIST, FETCH this, STORE this, value, UNTIE this, +DESTROY this + +=item Tying Arrays -Mailing list: cpan-testers@perl.org, Testing results: -http://testers.cpan.org/ +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 PLATFORMS +=item Tying Hashes -=over 4 +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, SCALAR this, UNTIE this, DESTROY this -=item Unix +=item Tying FileHandles -=item DOS and Derivatives +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 S +=item UNTIE this -=item VMS +=item The C Gotcha -=item VOS +=back -=item EBCDIC Platforms +=item SEE ALSO -=item Acorn RISC OS +=item BUGS -=item Other perls +=item AUTHOR =back -=item FUNCTION IMPLEMENTATIONS +=head2 perldbmfilter - Perl DBM Filters =over 4 -=item Alphabetical Listing of Perl Functions +=item SYNOPSIS --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 DESCRIPTION -=back +B, B, B, +B -=item CHANGES +=over 4 -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 The Filter -=item Supported Platforms +=item An Example -- the NULL termination problem. + +=item Another Example -- Key is a C int. + +=back =item SEE ALSO -=item AUTHORS / CONTRIBUTORS +=item AUTHOR =back -=head2 perllocale - Perl locale handling (internationalization and -localization) +=head2 perlipc - Perl interprocess communication (signals, fifos, pipes, +safe subprocesses, sockets, and semaphores) =over 4 =item DESCRIPTION -=item PREPARING TO USE LOCALES - -=item USING LOCALES +=item Signals =over 4 -=item The use locale pragma - -=item The setlocale function - -=item Finding locales - -=item LOCALE PROBLEMS - -=item Temporarily fixing locale problems +=item Handling the SIGHUP Signal in Daemons -=item Permanently fixing locale problems +=back -=item Permanently fixing your system's locale configuration +=item Named Pipes -=item Fixing system locale configuration +=over 4 -=item The localeconv function +=item Deferred Signals (Safe Signals) -=item I18N::Langinfo +Long running opcodes, Interrupting IO, Restartable system calls, Signals as +"faults", Signals triggered by operating system state =back -=item LOCALE CATEGORIES +=item Using open() for IPC =over 4 -=item Category LC_COLLATE: Collation +=item Filehandles -=item Category LC_CTYPE: Character Types +=item Background Processes -=item Category LC_NUMERIC: Numeric Formatting +=item Complete Dissociation of Child from Parent -=item Category LC_MONETARY: Formatting of monetary amounts +=item Safe Pipe Opens -=item LC_TIME +=item Bidirectional Communication with Another Process -=item Other categories +=item Bidirectional Communication with Yourself =back -=item SECURITY +=item Sockets: Client/Server Communication -=item ENVIRONMENT +=over 4 -PERL_BADLANG, LC_ALL, LANGUAGE, LC_CTYPE, LC_COLLATE, LC_MONETARY, -LC_NUMERIC, LC_TIME, LANG +=item Internet Line Terminators -=item NOTES +=item Internet TCP Clients and Servers -=over 4 +=item Unix-Domain TCP Clients and Servers -=item Backward compatibility +=back -=item I18N:Collate obsolete +=item TCP Clients with IO::Socket -=item Sort speed and memory use impacts +=over 4 -=item write() and LC_NUMERIC +=item A Simple Client -=item Freely available locale definitions +C, C, C -=item I18n and l10n +=item A Webget Client -=item An imperfect standard +=item Interactive Client with IO::Socket =back -=item Unicode and UTF-8 +=item TCP Servers with IO::Socket -=item BUGS +Proto, LocalPort, Listen, Reuse -=over 4 +=item UDP: Message Passing -=item Broken systems +=item SysV IPC -=back +=item NOTES -=item SEE ALSO +=item BUGS -=item HISTORY +=item AUTHOR + +=item SEE ALSO =back -=head2 perluniintro - Perl Unicode introduction +=head2 perlfork - Perl's fork() emulation =over 4 +=item SYNOPSIS + =item DESCRIPTION =over 4 -=item Unicode +=item Behavior of other Perl features in forked pseudo-processes -=item Perl's Unicode Support +$$ 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 Perl's Unicode Model +=item Resource limits -=item Unicode and EBCDIC +=item Killing the parent process -=item Creating Unicode +=item Lifetime of the parent process and pseudo-processes -=item Handling Unicode +=item CAVEATS AND LIMITATIONS -=item Legacy Encodings +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 Unicode I/O +=back -=item Displaying Unicode As Text +=item BUGS -=item Special Cases +=item AUTHOR -=item Advanced Topics +=item SEE ALSO -=item Miscellaneous +=back -=item Questions With Answers +=head2 perlnumber - semantics of numbers and numeric operations in Perl -=item Hexadecimal Notation +=over 4 -=item Further Resources +=item SYNOPSIS -=back +=item DESCRIPTION -=item UNICODE IN OLDER PERLS +=item Storing numbers -=item SEE ALSO +=item Numeric operators and numeric conversions -=item ACKNOWLEDGMENTS +=item Flavors of Perl numeric operations -=item AUTHOR, COPYRIGHT, AND LICENSE +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 perlunicode - Unicode support in Perl +=head2 perlthrtut - tutorial on threads in Perl =over 4 =item DESCRIPTION -=over 4 +=item Status -=item Important Caveats +=item What Is A Thread Anyway? -Input and Output Layers, Regular Expressions, C still needed to -enable UTF-8/UTF-EBCDIC in scripts +=item Threaded Program Models -=item Byte and Character Semantics +=over 4 -=item Effects of Character Semantics +=item Boss/Worker -=item Scripts +=item Work Crew -=item Blocks +=item Pipeline -=item User-Defined Character Properties +=back -=item Character Encodings for Input and Output +=item What kind of threads are Perl threads? -=item Unicode Regular Expression Support Level +=item Thread-Safe Modules -=item Unicode Encodings +=item Thread Basics -=item Security Implications of Unicode +=over 4 -=item Unicode in Perl on EBCDIC +=item Basic Thread Support -=item Locales +=item A Note about the Examples -=item When Unicode Does Not Happen +=item Creating Threads -=item Forcing Unicode in Perl (Or Unforcing Unicode in Perl) +=item Waiting For A Thread To Exit -=item Using Unicode in XS +=item Ignoring A Thread =back -=item BUGS +=item Threads And Data =over 4 -=item Interaction with Locales - -=item Interaction with Extensions - -=item Speed - -=item Porting code from perl-5.6.X - -=back +=item Shared And Unshared Data -=item SEE ALSO +=item Thread Pitfalls: Races =back -=head2 perlebcdic - Considerations for running Perl on EBCDIC platforms +=item Synchronization and control =over 4 -=item DESCRIPTION +=item Controlling access: lock() -=item COMMON CHARACTER CODE SETS +=item A Thread Pitfall: Deadlocks -=over 4 +=item Queues: Passing Data Around -=item ASCII +=item Semaphores: Synchronizing Data Access -=item ISO 8859 +=item Basic semaphores -=item Latin 1 (ISO 8859-1) +=item Advanced Semaphores -=item EBCDIC +=item cond_wait() and cond_signal() -=item 13 variant characters +=item Giving up control -=item 0037 +=back -=item 1047 +=item General Thread Utility Routines -=item POSIX-BC +=over 4 -=item Unicode code points versus EBCDIC code points +=item What Thread Am I In? -=item Remaining Perl Unicode problems in EBCDIC +=item Thread IDs -=item Unicode and UTF +=item Are These Threads The Same? -=item Using Encode +=item What Threads Are Running? =back -=item SINGLE OCTET TABLES - -recipe 0, recipe 1, recipe 2, recipe 3, recipe 4, recipe 5, recipe 6 +=item A Complete Example -=item IDENTIFYING CHARACTER CODE SETS +=item Different implementations of threads -=item CONVERSIONS +=item Performance considerations -=over 4 +=item Process-scope Changes -=item tr/// +=item Thread-Safety of System Libraries -=item iconv +=item Conclusion -=item C RTL +=item Bibliography -=back +=over 4 -=item OPERATOR DIFFERENCES +=item Introductory Texts -=item FUNCTION DIFFERENCES +=item OS-Related References -chr(), ord(), pack(), print(), printf(), sort(), sprintf(), unpack() +=item Other References -=item REGULAR EXPRESSION DIFFERENCES +=back -=item SOCKETS +=item Acknowledgements -=item SORTING +=item AUTHOR -=over 4 +=item Copyrights -=item Ignore ASCII vs. EBCDIC sort differences. +=back -=item MONO CASE then sort data. +=head2 perlothrtut - old tutorial on threads in Perl -=item Convert, sort data, then re convert. +=over 4 -=item Perform sorting on one type of machine only. +=item DESCRIPTION -=back +=item What Is A Thread Anyway? -=item TRANSFORMATION FORMATS +=item Threaded Program Models =over 4 -=item URL decoding and encoding - -=item uu encoding and decoding +=item Boss/Worker -=item Quoted-Printable encoding and decoding +=item Work Crew -=item Caesarian ciphers +=item Pipeline =back -=item Hashing order and checksums +=item Native threads -=item I18N AND L10N +=item What kind of threads are perl threads? -=item MULTI OCTET CHARACTER SETS +=item Threadsafe Modules -=item OS ISSUES +=item Thread Basics =over 4 -=item OS/400 +=item Basic Thread Support -PASE, IFS access +=item Creating Threads -=item OS/390, z/OS +=item Giving up control -chcp, dataset access, OS/390, z/OS iconv, locales +=item Waiting For A Thread To Exit -=item VM/ESA? +=item Errors In Threads -=item POSIX-BC? +=item Ignoring A Thread =back -=item BUGS +=item Threads And Data -=item SEE ALSO +=over 4 -=item REFERENCES +=item Shared And Unshared Data -=item HISTORY +=item Thread Pitfall: Races -=item AUTHOR +=item Controlling access: lock() -=back +=item Thread Pitfall: Deadlocks -=head2 perlsec - Perl security +=item Queues: Passing Data Around -=over 4 +=back -=item DESCRIPTION +=item Threads And Code =over 4 -=item Laundering and Detecting Tainted Data - -=item Switches On the "#!" Line +=item Semaphores: Synchronizing Data Access -=item Cleaning Up Your Path +Basic semaphores, Advanced Semaphores -=item Security Bugs +=item Attributes: Restricting Access To Subroutines -=item Protecting Your Programs +=item Subroutine Locks -=item Unicode +=item Methods -=item Algorithmic Complexity Attacks +=item Locking A Subroutine =back -=item SEE ALSO +=item General Thread Utility Routines -=back +=over 4 -=head2 perlmod - Perl modules (packages and symbol tables) +=item What Thread Am I In? -=over 4 +=item Thread IDs -=item DESCRIPTION +=item Are These Threads The Same? -=over 4 +=item What Threads Are Running? -=item Packages +=back -=item Symbol Tables +=item A Complete Example -=item Package Constructors and Destructors +=item Conclusion -=item Perl Classes +=item Bibliography -=item Perl Modules +=over 4 -=item Making your module threadsafe +=item Introductory Texts -=back +=item OS-Related References -=item SEE ALSO +=item Other References =back -=head2 perlmodinstall - Installing CPAN Modules +=item Acknowledgements -=over 4 +=item AUTHOR -=item DESCRIPTION +=item Copyrights -=over 4 +=back -=item PREAMBLE +=head2 perlport - Writing portable Perl -B the file, B the file into a directory, B the -module (sometimes unnecessary), B the module +=over 4 -=back +=item DESCRIPTION -=item PORTABILITY +Not all Perl programs have to be portable, Nearly all of Perl already I +portable -=item HEY +=item ISSUES -=item AUTHOR +=over 4 -=item COPYRIGHT +=item Newlines -=back +=item Numbers endianness and Width -=head2 perlmodlib - constructing new Perl modules and finding existing ones +=item Files and Filesystems -=over 4 +=item System Interaction -=item THE PERL MODULE LIBRARY +=item Command names versus file pathnames -=over 4 +=item Networking -=item Pragmatic Modules +=item Interprocess Communication (IPC) -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 External Subroutines (XS) =item Standard Modules -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 Extension Modules +=item Time and Date -=back +=item Character sets and character encoding -=item CPAN +=item Internationalisation -=over 4 +=item System Resources -=item Africa +=item Security -South Africa +=item Style -=item Asia +=back -China, Indonesia, Israel, Japan, Malaysia, Russian Federation, Saudi -Arabia, Singapore, South Korea, Taiwan +=item CPAN Testers -=item Central America +Mailing list: cpan-testers@perl.org, Testing results: +http://testers.cpan.org/ -Costa Rica +=item PLATFORMS -=item Europe +=over 4 -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 +=item Unix -=item North America +=item DOS and Derivatives -Canada, Alberta, Manitoba, Nova Scotia, Ontario, Mexico, United States, -Alabama, California, Colorado, Delaware, District of Columbia, Florida, -Illinois, Indiana, Kentucky, Massachusetts, Michigan, Nevada, New Jersey, -New York, North Carolina, Oklahoma, Oregon, Pennsylvania, Tennessee, Texas, -Utah, Virginia, Washington, Wisconsin +=item S -=item Oceania +=item VMS -Australia, New Zealand, United States +=item VOS -=item South America +=item EBCDIC Platforms -Argentina, Brazil, Chile +=item Acorn RISC OS -=item RSYNC Mirrors +=item Other perls =back -=item Modules: Creation, Use, and Abuse +=item FUNCTION IMPLEMENTATIONS =over 4 -=item Guidelines for Module Creation - -=item Guidelines for Converting Perl 4 Library Scripts into Modules +=item Alphabetical Listing of Perl Functions -=item Guidelines for Reusing Application Code +-I FILEHANDLE, -I EXPR, -I, 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 =back -=item NOTE +=item CHANGES + +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 Supported Platforms + +=item SEE ALSO + +=item AUTHORS / CONTRIBUTORS =back -=head2 perlmodstyle - Perl module style guide +=head2 perllocale - Perl locale handling (internationalization and +localization) =over 4 -=item INTRODUCTION +=item DESCRIPTION -=item QUICK CHECKLIST +=item PREPARING TO USE LOCALES + +=item USING LOCALES =over 4 -=item Before you start +=item The use locale pragma -=item The API +=item The setlocale function -=item Stability +=item Finding locales -=item Documentation +=item LOCALE PROBLEMS -=item Release considerations +=item Temporarily fixing locale problems + +=item Permanently fixing locale problems + +=item Permanently fixing your system's locale configuration + +=item Fixing system locale configuration + +=item The localeconv function + +=item I18N::Langinfo =back -=item BEFORE YOU START WRITING A MODULE +=item LOCALE CATEGORIES =over 4 -=item Has it been done before? +=item Category LC_COLLATE: Collation -=item Do one thing and do it well +=item Category LC_CTYPE: Character Types -=item What's in a name? +=item Category LC_NUMERIC: Numeric Formatting + +=item Category LC_MONETARY: Formatting of monetary amounts + +=item LC_TIME + +=item Other categories =back -=item DESIGNING AND WRITING YOUR MODULE +=item SECURITY + +=item ENVIRONMENT + +PERL_BADLANG, LC_ALL, LANGUAGE, LC_CTYPE, LC_COLLATE, LC_MONETARY, +LC_NUMERIC, LC_TIME, LANG + +=item NOTES =over 4 -=item To OO or not to OO? +=item Backward compatibility -=item Designing your API +=item I18N:Collate obsolete -Write simple routines to do simple things, Separate functionality from -output, Provide sensible shortcuts and defaults, Naming conventions, -Parameter passing +=item Sort speed and memory use impacts -=item Strictness and warnings +=item write() and LC_NUMERIC -=item Backwards compatibility +=item Freely available locale definitions -=item Error handling and messages +=item I18n and l10n + +=item An imperfect standard =back -=item DOCUMENTING YOUR MODULE +=item Unicode and UTF-8 + +=item BUGS =over 4 -=item POD +=item Broken systems -=item README, INSTALL, release notes, changelogs +=back -perl Makefile.PL, make, make test, make install, perl Build.PL, perl Build, -perl Build test, perl Build install +=item SEE ALSO + +=item HISTORY =back -=item RELEASE CONSIDERATIONS +=head2 perluniintro - Perl Unicode introduction =over 4 -=item Version numbering +=item DESCRIPTION -=item Pre-requisites +=over 4 -=item Testing +=item Unicode -=item Packaging +=item Perl's Unicode Support -=item Licensing +=item Perl's Unicode Model -=back +=item Unicode and EBCDIC -=item COMMON PITFALLS +=item Creating Unicode -=over 4 +=item Handling Unicode -=item Reinventing the wheel +=item Legacy Encodings -=item Trying to do too much +=item Unicode I/O -=item Inappropriate documentation +=item Displaying Unicode As Text + +=item Special Cases + +=item Advanced Topics + +=item Miscellaneous + +=item Questions With Answers + +=item Hexadecimal Notation + +=item Further Resources =back +=item UNICODE IN OLDER PERLS + =item SEE ALSO -L, L, L, L, Packaging Tools, -Testing tools, http://pause.perl.org/, Any good book on software -engineering +=item ACKNOWLEDGMENTS -=item AUTHOR +=item AUTHOR, COPYRIGHT, AND LICENSE =back -=head2 perlnewmod - preparing a new module for distribution +=head2 perlunicode - Unicode support in Perl =over 4 @@ -2921,442 +3368,525 @@ engineering =over 4 -=item Warning +=item Important Caveats -=item What should I make into a module? +Input and Output Layers, Regular Expressions, C still needed to +enable UTF-8/UTF-EBCDIC in scripts, BOM-marked scripts and UTF-16 scripts +autodetected, C needed to upgrade non-Latin-1 byte strings -=item Step-by-step: Preparing the ground +=item Byte and Character Semantics -Look around, Check it's new, Discuss the need, Choose a name, Check again +=item Effects of Character Semantics -=item Step-by-step: Making the module +=item Scripts -Start with F, Use L and L, Use -L, Use L - wisely!, Use L, Write tests, Write the README +=item Blocks -=item Step-by-step: Distributing your module +=item User-Defined Character Properties -Get a CPAN user ID, C, Upload the -tarball, Announce to the modules list, Announce to clpa, Fix bugs! +=item Character Encodings for Input and Output -=back +=item Unicode Regular Expression Support Level -=item AUTHOR +=item Unicode Encodings -=item SEE ALSO +=item Security Implications of Unicode + +=item Unicode in Perl on EBCDIC + +=item Locales + +=item When Unicode Does Not Happen + +=item Forcing Unicode in Perl (Or Unforcing Unicode in Perl) + +=item Using Unicode in XS =back -=head2 perlfaq1 - General Questions About Perl ($Revision: 1.12 $, $Date: -2003/07/09 15:47:28 $) +=item BUGS =over 4 -=item DESCRIPTION +=item Interaction with Locales -=over 4 +=item Interaction with Extensions -=item What is Perl? +=item Speed -=item Who supports Perl? Who develops it? Why is it free? +=item Porting code from perl-5.6.X -=item Which version of Perl should I use? +=back -=item What are perl4 and perl5? +=item SEE ALSO -=item What is Ponie? +=back + +=head2 perlebcdic - Considerations for running Perl on EBCDIC platforms + +=over 4 + +=item DESCRIPTION + +=item COMMON CHARACTER CODE SETS + +=over 4 + +=item ASCII -=item What is perl6? +=item ISO 8859 -=item How stable is Perl? +=item Latin 1 (ISO 8859-1) -=item Is Perl difficult to learn? +=item EBCDIC -=item How does Perl compare with other languages like Java, Python, REXX, -Scheme, or Tcl? +=item 13 variant characters -=item Can I do [task] in Perl? +=item 0037 -=item When shouldn't I program in Perl? +=item 1047 -=item What's the difference between "perl" and "Perl"? +=item POSIX-BC -=item Is it a Perl program or a Perl script? +=item Unicode code points versus EBCDIC code points -=item What is a JAPH? +=item Remaining Perl Unicode problems in EBCDIC -=item Where can I get a list of Larry Wall witticisms? +=item Unicode and UTF -=item How can I convince my sysadmin/supervisor/employees to use version -5/5.6.1/Perl instead of some other language? +=item Using Encode =back -=item AUTHOR AND COPYRIGHT +=item SINGLE OCTET TABLES -=back +recipe 0, recipe 1, recipe 2, recipe 3, recipe 4, recipe 5, recipe 6 + +=item IDENTIFYING CHARACTER CODE SETS -=head2 perlfaq2 - Obtaining and Learning about Perl ($Revision: 1.20 $, -$Date: 2003/01/26 17:50:56 $) +=item CONVERSIONS =over 4 -=item DESCRIPTION +=item tr/// -=over 4 +=item iconv -=item What machines support Perl? Where do I get it? +=item C RTL -=item How can I get a binary version of Perl? +=back -=item I don't have a C compiler on my system. How can I compile perl? +=item OPERATOR DIFFERENCES -=item I copied the Perl binary from one machine to another, but scripts -don't work. +=item FUNCTION DIFFERENCES -=item I grabbed the sources and tried to compile but gdbm/dynamic -loading/malloc/linking/... failed. How do I make it work? +chr(), ord(), pack(), print(), printf(), sort(), sprintf(), unpack() -=item What modules and extensions are available for Perl? What is CPAN? -What does CPAN/src/... mean? +=item REGULAR EXPRESSION DIFFERENCES -=item Is there an ISO or ANSI certified version of Perl? +=item SOCKETS -=item Where can I get information on Perl? +=item SORTING -=item What are the Perl newsgroups on Usenet? Where do I post questions? +=over 4 -=item Where should I post source code? +=item Ignore ASCII vs. EBCDIC sort differences. -=item Perl Books +=item MONO CASE then sort data. -References, Tutorials, Task-Oriented, Special Topics +=item Convert, sort data, then re convert. -=item Perl in Magazines +=item Perform sorting on one type of machine only. -=item Perl on the Net: FTP and WWW Access +=back -=item What mailing lists are there for Perl? +=item TRANSFORMATION FORMATS -=item Archives of comp.lang.perl.misc +=over 4 -=item Where can I buy a commercial version of Perl? +=item URL decoding and encoding -=item Where do I send bug reports? +=item uu encoding and decoding -=item What is perl.com? Perl Mongers? pm.org? perl.org? cpan.org? +=item Quoted-Printable encoding and decoding + +=item Caesarian ciphers =back -=item AUTHOR AND COPYRIGHT +=item Hashing order and checksums -=back +=item I18N AND L10N + +=item MULTI OCTET CHARACTER SETS -=head2 perlfaq3 - Programming Tools ($Revision: 1.33 $, $Date: 2003/01/31 -17:34:56 $) +=item OS ISSUES =over 4 -=item DESCRIPTION +=item OS/400 -=over 4 +PASE, IFS access -=item How do I do (anything)? +=item OS/390, z/OS -=item How can I use Perl interactively? +chcp, dataset access, OS/390, z/OS iconv, locales -=item Is there a Perl shell? +=item VM/ESA? -=item How do I find which modules are installed on my system? +=item POSIX-BC? -=item How do I debug my Perl programs? +=back -=item How do I profile my Perl programs? +=item BUGS -=item How do I cross-reference my Perl programs? +=item SEE ALSO -=item Is there a pretty-printer (formatter) for Perl? +=item REFERENCES -=item Is there a ctags for Perl? +=item HISTORY -=item Is there an IDE or Windows Perl Editor? +=item AUTHOR -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 +=back -=item Where can I get Perl macros for vi? +=head2 perlsec - Perl security -=item Where can I get perl-mode for emacs? +=over 4 -=item How can I use curses with Perl? +=item DESCRIPTION -=item How can I use X or Tk with Perl? +=over 4 -=item How can I generate simple menus without using CGI or Tk? +=item Laundering and Detecting Tainted Data -=item How can I make my Perl program run faster? +=item Switches On the "#!" Line -=item How can I make my Perl program take less memory? +=item Taint mode and @INC -Don't slurp!, Use map and grep selectively, Avoid unnecessary quotes and -stringification, Pass by reference, Tie large variables to disk +=item Cleaning Up Your Path -=item Is it safe to return a reference to local or lexical data? +=item Security Bugs -=item How can I free an array or hash so my program shrinks? +=item Protecting Your Programs -=item How can I make my CGI script more efficient? +=item Unicode -=item How can I hide the source for my Perl program? +=item Algorithmic Complexity Attacks -=item How can I compile my Perl program into byte code or C? +=back -=item How can I compile Perl into Java? +=item SEE ALSO -=item How can I get C<#!perl> to work on [MS-DOS,NT,...]? +=back -=item Can I write useful Perl programs on the command line? +=head2 perlmod - Perl modules (packages and symbol tables) -=item Why don't Perl one-liners work on my DOS/Mac/VMS system? +=over 4 -=item Where can I learn about CGI or Web programming in Perl? +=item DESCRIPTION -=item Where can I learn about object-oriented Perl programming? +=over 4 -=item Where can I learn about linking C with Perl? [h2xs, xsubpp] +=item Packages -=item I've read perlembed, perlguts, etc., but I can't embed perl in -my C program; what am I doing wrong? +=item Symbol Tables -=item When I tried to run my script, I got this message. What does it mean? +=item BEGIN, CHECK, INIT and END -=item What's MakeMaker? +=item Perl Classes -=back +=item Perl Modules -=item AUTHOR AND COPYRIGHT +=item Making your module threadsafe =back -=head2 perlfaq4 - Data Manipulation ($Revision: 1.44 $, $Date: 2003/07/28 -17:35:21 $) - -=over 4 +=item SEE ALSO -=item DESCRIPTION +=back -=item Data: Numbers +=head2 perlmodlib - constructing new Perl modules and finding existing ones =over 4 -=item Why am I getting long decimals (eg, 19.9499999999999) instead of the -numbers I should be getting (eg, 19.95)? +=item THE PERL MODULE LIBRARY -=item Why isn't my octal data interpreted correctly? +=over 4 -=item Does Perl have a round() function? What about ceil() and floor()? -Trig functions? +=item Pragmatic Modules -=item How do I convert between numeric representations? +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 -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 Standard Modules -=item Why doesn't & work the way I want it to? +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, DBM_Filter, DB_File, Data::Dumper, +Devel::DProf, Devel::PPPort, Devel::Peek, Devel::SelfStubber, Digest, +Digest::MD5, Digest::base, 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::CalcEmu, 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 How do I multiply matrices? +=item Extension Modules -=item How do I perform an operation on a series of integers? +=back -=item How can I output Roman numerals? +=item CPAN -=item Why aren't my random numbers random? +=over 4 -=item How do I get a random number between X and Y? +=item Africa -=back +South Africa -=item Data: Dates +=item Asia -=over 4 +China, Indonesia, Israel, Japan, Malaysia, Russian Federation, Saudi +Arabia, Singapore, South Korea, Taiwan, Thailand -=item How do I find the day or week of the year? +=item Central America -=item How can I compare two dates and find the difference? +Costa Rica -=item How can I take a string and turn it into epoch seconds? +=item Europe -=item How can I find the Julian Day? +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 do I find yesterday's date? +=item North America -=item Does Perl have a Year 2000 problem? Is Perl Y2K compliant? +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 -=back +=item Oceania -=item Data: Strings +Australia, New Zealand, United States -=over 4 +=item South America -=item How do I validate input? +Argentina, Brazil, Chile -=item How do I unescape a string? +=item RSYNC Mirrors -=item How do I remove consecutive pairs of characters? +=back -=item How do I expand function calls in a string? +=item Modules: Creation, Use, and Abuse -=item How do I find matching/nesting anything? +=over 4 -=item How do I reverse a string? +=item Guidelines for Module Creation -=item How do I expand tabs in a string? +=item Guidelines for Converting Perl 4 Library Scripts into Modules -=item How do I reformat a paragraph? +=item Guidelines for Reusing Application Code -=item How can I access or change N characters of a string? +=back -=item How do I change the Nth occurrence of something? +=item NOTE -=item How can I count the number of occurrences of a substring within a -string? +=back -=item How do I capitalize all the words on one line? +=head2 perlmodstyle - Perl module style guide -=item How can I split a [character] delimited string except when inside -[character]? +=over 4 -=item How do I strip blank space from the beginning/end of a string? +=item INTRODUCTION -=item How do I pad a string with blanks or pad a number with zeroes? +=item QUICK CHECKLIST -=item How do I extract selected columns from a string? +=over 4 -=item How do I find the soundex value of a string? +=item Before you start -=item How can I expand variables in text strings? +=item The API -=item What's wrong with always quoting "$vars"? +=item Stability -=item Why don't my EEHERE documents work? +=item Documentation -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 Release considerations =back -=item Data: Arrays +=item BEFORE YOU START WRITING A MODULE =over 4 -=item What is the difference between a list and an array? +=item Has it been done before? -=item What is the difference between $array[1] and @array[1]? +=item Do one thing and do it well -=item How can I remove duplicate elements from a list or array? +=item What's in a name? -a), b), c), d), e) +=back -=item How can I tell whether a certain element is contained in a list or -array? +=item DESIGNING AND WRITING YOUR MODULE -=item How do I compute the difference of two arrays? How do I compute the -intersection of two arrays? +=over 4 -=item How do I test whether two arrays or hashes are equal? +=item To OO or not to OO? -=item How do I find the first array element for which a condition is true? +=item Designing your API -=item How do I handle linked lists? +Write simple routines to do simple things, Separate functionality from +output, Provide sensible shortcuts and defaults, Naming conventions, +Parameter passing -=item How do I handle circular lists? +=item Strictness and warnings -=item How do I shuffle an array randomly? +=item Backwards compatibility -=item How do I process/modify each element of an array? +=item Error handling and messages -=item How do I select a random element from an array? +=back -=item How do I permute N elements of a list? +=item DOCUMENTING YOUR MODULE -=item How do I sort an array by (anything)? +=over 4 -=item How do I manipulate arrays of bits? +=item POD -=item Why does defined() return true on empty arrays and hashes? +=item README, INSTALL, release notes, changelogs + +perl Makefile.PL, make, make test, make install, perl Build.PL, perl Build, +perl Build test, perl Build install =back -=item Data: Hashes (Associative Arrays) +=item RELEASE CONSIDERATIONS =over 4 -=item How do I process an entire hash? +=item Version numbering -=item What happens if I add or remove keys from a hash while iterating over -it? +=item Pre-requisites -=item How do I look up a hash element by value? +=item Testing -=item How can I know how many entries are in a hash? +=item Packaging -=item How do I sort a hash (optionally by value instead of key)? +=item Licensing -=item How can I always keep my hash sorted? +=back -=item What's the difference between "delete" and "undef" with hashes? +=item COMMON PITFALLS -=item Why don't my tied hashes make the defined/exists distinction? +=over 4 -=item How do I reset an each() operation part-way through? +=item Reinventing the wheel -=item How can I get the unique keys from two hashes? +=item Trying to do too much -=item How can I store a multidimensional array in a DBM file? +=item Inappropriate documentation -=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 SEE ALSO -=item How can I make the Perl equivalent of a C structure/C++ class/hash or -array of hashes or arrays? +L, L, L, L, Packaging Tools, +Testing tools, http://pause.perl.org/, Any good book on software +engineering -=item How can I use a reference as a hash key? +=item AUTHOR =back -=item Data: Misc +=head2 perlmodinstall - Installing CPAN Modules =over 4 -=item How do I handle binary data correctly? +=item DESCRIPTION -=item How do I determine whether a scalar is a number/whole/integer/float? +=over 4 -=item How do I keep persistent data across program calls? +=item PREAMBLE -=item How do I print out or copy a recursive data structure? +B the file, B the file into a directory, B the +module (sometimes unnecessary), B the module -=item How do I define methods for every class/object? +=back -=item How do I verify a credit card checksum? +=item PORTABILITY -=item How do I pack arrays of doubles or floats for XS code? +=item HEY -=back +=item AUTHOR -=item AUTHOR AND COPYRIGHT +=item COPYRIGHT =back -=head2 perlfaq5 - Files and Formats ($Revision: 1.28 $, $Date: 2003/01/26 -17:45:46 $) +=head2 perlnewmod - preparing a new module for distribution =over 4 @@ -3364,162 +3894,150 @@ array of hashes or arrays? =over 4 -=item How do I flush/unbuffer an output filehandle? Why must I do this? - -=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 How do I count the number of lines in a file? - -=item How can I use Perl's C<-i> option from within a program? - -=item How do I make a temporary file name? +=item Warning -=item How can I manipulate fixed-record-length files? +=item What should I make into a module? -=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 Step-by-step: Preparing the ground -=item How can I use a filehandle indirectly? +Look around, Check it's new, Discuss the need, Choose a name, Check again -=item How can I set up a footer format to be used with write()? +=item Step-by-step: Making the module -=item How can I write() into a string? +Start with F or F, Use L and +L, Use L, Use L - wisely!, +Use L, Write tests, Write the README -=item How can I output my numbers with commas added? +=item Step-by-step: Distributing your module -=item How can I translate tildes (~) in a filename? +Get a CPAN user ID, C, Upload the +tarball, Announce to the modules list, Announce to clpa, Fix bugs! -=item How come when I open a file read-write it wipes it out? +=back -=item Why do I sometimes get an "Argument list too long" when I use -E*E? +=item AUTHOR -=item Is there a leak/bug in glob()? +=item SEE ALSO -=item How can I open a file with a leading ">" or trailing blanks? +=back -=item How can I reliably rename a file? +=head2 perlutil - utilities packaged with the Perl distribution -=item How can I lock a file? +=over 4 -=item Why can't I just open(FH, "Efile.lock")? +=item DESCRIPTION -=item I still don't get locking. I just want to increment the number in -the file. How can I do this? +=over 4 -=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 DOCUMENTATION -=item How do I randomly update a binary file? +L, L and L, +L and L, L, +L, L, L, +L -=item How do I get a file's timestamp in perl? +=item CONVERTORS -=item How do I set a file's timestamp in perl? +L, L, L -=item How do I print to more than one file at once? +=item Administration -=item How can I read in an entire file all at once? +L -=item How can I read in a file by paragraphs? +=item Development -=item How can I read a single character from a file? From the keyboard? +L, L, L and L, +L, L, L -=item How can I tell whether there's a character waiting on a filehandle? +=item SEE ALSO -=item How do I do a C in perl? +=back -=item How do I dup() a filehandle in Perl? +=back -=item How do I close a file descriptor by number? +=head2 perlcompile - Introduction to the Perl Compiler-Translator -=item Why can't I use "C:\temp\foo" in DOS paths? Why doesn't -`C:\temp\foo.exe` work? +=over 4 -=item Why doesn't glob("*.*") get all the files? +=item DESCRIPTION -=item Why does Perl let me delete read-only files? Why does C<-i> clobber -protected files? Isn't this a bug in Perl? +=over 4 -=item How do I select a random line from a file? +=item Layout -=item Why do I get weird spaces when I print an array of lines? +B::Bytecode, B::C, B::CC, B::Lint, B::Deparse, B::Xref =back -=item AUTHOR AND COPYRIGHT +=item Using The Back Ends -=back +=over 4 -=head2 perlfaq6 - Regular Expressions ($Revision: 1.20 $, $Date: 2003/01/03 -20:05:28 $) +=item The Cross Referencing Back End -=over 4 +i, &, s, r -=item DESCRIPTION +=item The Decompiling Back End -=over 4 +=item The Lint Back End -=item How can I hope to use regular expressions without creating illegible -and unmaintainable code? +=item The Simple C Back End -Comments Outside the Regex, Comments Inside the Regex, Different Delimiters +=item The Bytecode Back End -=item I'm having trouble matching over more than one line. What's wrong? +=item The Optimized C Back End -=item How can I pull out lines between two patterns that are themselves on -different lines? +=back -=item I put a regular expression into $/ but it didn't work. What's wrong? +=item Module List for the Compiler Suite -=item How do I substitute case insensitively on the LHS while preserving -case on the RHS? +B, O, 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 -=item How can I make C<\w> match national character sets? +=item KNOWN PROBLEMS -=item How can I match a locale-smart version of C? +=item AUTHOR -=item How can I quote a variable to use in a regex? +=back -=item What is C really for? +=head2 perlfilter - Source Filters -=item How do I use a regular expression to strip C style comments from a -file? +=over 4 -=item Can I use Perl regular expressions to match balanced text? +=item DESCRIPTION -=item What does it mean that regexes are greedy? How can I get around it? +=item CONCEPTS -=item How do I process each word on each line? +=item USING FILTERS -=item How can I print out a word-frequency or line-frequency summary? +=item WRITING A SOURCE FILTER -=item How can I do approximate matching? +=item WRITING A SOURCE FILTER IN C -=item How do I efficiently match many regular expressions at once? +B -=item Why don't word-boundary searches with C<\b> work for me? +=item CREATING A SOURCE FILTER AS A SEPARATE EXECUTABLE -=item Why does using $&, $`, or $' slow my program down? +=item WRITING A SOURCE FILTER IN PERL -=item What good is C<\G> in a regular expression? +=item USING CONTEXT: THE DEBUG FILTER -=item Are Perl regexes DFAs or NFAs? Are they POSIX compliant? +=item CONCLUSION -=item What's wrong with using grep or map in a void context? +=item THINGS TO LOOK OUT FOR -=item How can I match strings with multibyte characters? +Some Filters Clobber the C Handle -=item How do I match a pattern that is supplied by the user? +=item REQUIREMENTS -=back +=item AUTHOR -=item AUTHOR AND COPYRIGHT +=item Copyrights =back -=head2 perlfaq7 - General Perl Language Issues ($Revision: 1.15 $, $Date: -2003/07/24 02:17:21 $) +=head2 perlembed - how to embed perl in your C program =over 4 @@ -3527,209 +4045,198 @@ file? =over 4 -=item Can I get a BNF/yacc/RE for the Perl language? +=item PREAMBLE -=item What are all these $@%&* punctuation signs, and how do I know when to -use them? +B, B, B, B, B -=item Do I always/never have to quote my strings or use semicolons and -commas? +=item ROADMAP -=item How do I skip some return values? +=item Compiling your C program -=item How do I temporarily block warnings? +=item Adding a Perl interpreter to your C program -=item What's an extension? +=item Calling a Perl subroutine from your C program -=item Why do Perl operators have different precedence than C operators? +=item Evaluating a Perl statement from your C program -=item How do I declare/create a structure? +=item Performing Perl pattern matches and substitutions from your C program -=item How do I create a module? +=item Fiddling with the Perl stack from your C program -=item How do I create a class? +=item Maintaining a persistent interpreter -=item How can I tell if a variable is tainted? +=item Execution of END blocks -=item What's a closure? +=item Maintaining multiple interpreter instances -=item What is variable suicide and how can I prevent it? +=item Using Perl modules, which themselves use C libraries, from your C +program -=item How can I pass/return a {Function, FileHandle, Array, Hash, Method, -Regex}? +=back -Passing Variables and Functions, Passing Filehandles, Passing Regexes, -Passing Methods +=item Embedding Perl under Win32 -=item How do I create a static variable? +=item Hiding Perl_ -=item What's the difference between dynamic and lexical (static) scoping? -Between local() and my()? +=item MORAL -=item How can I access a dynamic variable while a similarly named lexical -is in scope? +=item AUTHOR -=item What's the difference between deep and shallow binding? +=item COPYRIGHT -=item Why doesn't "my($foo) = EFILEE;" work right? +=back -=item How do I redefine a builtin function, operator, or method? +=head2 perldebguts - Guts of Perl debugging -=item What's the difference between calling a function as &foo and foo()? +=over 4 -=item How do I create a switch or case statement? +=item DESCRIPTION -=item How can I catch accesses to undefined variables, functions, or -methods? +=item Debugger Internals -=item Why can't a method included in this same file be found? +=over 4 -=item How can I find out my current package? +=item Writing Your Own Debugger -=item How can I comment out a large block of perl code? +=back -=item How do I clear a package? +=item Frame Listing Output Examples -=item How can I use a variable as a variable name? +=item Debugging regular expressions -=item What does "bad interpreter" mean? +=over 4 -=back +=item Compile-time output -=item AUTHOR AND COPYRIGHT +C I C I, C I C +I, C, C, C +I, C, C, C, C, C, C, +C -=back +=item Types of nodes -=head2 perlfaq8 - System Interaction ($Revision: 1.17 $, $Date: 2003/01/26 -17:44:04 $) +=item Run-time output -=over 4 +=back -=item DESCRIPTION +=item Debugging Perl memory usage =over 4 -=item How do I find out which operating system I'm running under? +=item Using C<$ENV{PERL_DEBUG_MSTATS}> -=item How come exec() doesn't return? +C, Free/Used, C, C, C, C, C -=item How do I do fancy stuff with the keyboard/screen/mouse? +=item Example of using B<-DL> switch -Keyboard, Screen, Mouse +C<717>, C<002>, C<054>, C<602>, C<702>, C<704> -=item How do I print something out in color? +=item B<-DL> details -=item How do I read just one key without waiting for a return key? +C, C, C -=item How do I check whether input is ready on the keyboard? +=item Limitations of B<-DL> statistics -=item How do I clear the screen? +=back -=item How do I get the screen size? +=item SEE ALSO -=item How do I ask the user for a password? +=back -=item How do I read and write the serial port? +=head2 perlxstut, perlXStut - Tutorial for writing XSUBs -lockfiles, open mode, end of line, flushing output, non-blocking input +=over 4 -=item How do I decode encrypted password files? +=item DESCRIPTION -=item How do I start a process in the background? +=item SPECIAL NOTES -STDIN, STDOUT, and STDERR are shared, Signals, Zombies +=over 4 -=item How do I trap control characters/signals? +=item make -=item How do I modify the shadow password file on a Unix system? +=item Version caveat -=item How do I set the time and date? +=item Dynamic Loading versus Static Loading -=item How can I sleep() or alarm() for under a second? +=back -=item How can I measure time under a second? +=item TUTORIAL -=item How can I do an atexit() or setjmp()/longjmp()? (Exception handling) +=over 4 -=item Why doesn't my sockets program work under System V (Solaris)? What -does the error message "Protocol not supported" mean? +=item EXAMPLE 1 -=item How can I call my system's unique C functions from Perl? +=item EXAMPLE 2 -=item Where do I get the include files to do ioctl() or syscall()? +=item What has gone on? -=item Why do setuid perl scripts complain about kernel problems? +=item Writing good test scripts -=item How can I open a pipe both to and from a command? +=item EXAMPLE 3 -=item Why can't I get the output of a command with system()? +=item What's new here? -=item How can I capture STDERR from an external command? +=item Input and Output Parameters -=item Why doesn't open() return an error when a pipe open fails? +=item The XSUBPP Program -=item What's wrong with using backticks in a void context? +=item The TYPEMAP file -=item How can I call backticks without shell processing? +=item Warning about Output Arguments -=item Why can't my script read from STDIN after I gave it EOF (^D on Unix, -^Z on MS-DOS)? +=item EXAMPLE 4 -=item How can I convert my shell script to perl? +=item What has happened here? -=item Can I use perl to run a telnet or ftp session? +=item Anatomy of .xs file -=item How can I write expect in Perl? +=item Getting the fat out of XSUBs -=item Is there a way to hide perl's command line from programs such as -"ps"? +=item More about XSUB arguments -=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 The Argument Stack -Unix +=item Extending your Extension -=item How do I close a process's filehandle without waiting for it to -complete? +=item Documenting your Extension -=item How do I fork a daemon process? +=item Installing your Extension -=item How do I find out if I'm running interactively or not? +=item EXAMPLE 5 -=item How do I timeout a slow event? +=item New Things in this Example -=item How do I set CPU limits? +=item EXAMPLE 6 -=item How do I avoid zombies on a Unix system? +=item New Things in this Example -=item How do I use an SQL database? +=item EXAMPLE 7 (Coming Soon) -=item How do I make a system() exit on control-C? +=item EXAMPLE 8 (Coming Soon) -=item How do I open a file without blocking? +=item EXAMPLE 9 Passing open files to XSes -=item How do I install a module from CPAN? +=item Troubleshooting these Examples -=item What's the difference between require and use? +=back -=item How do I keep my own module/library directory? +=item See also -=item How do I add the directory my program lives in to the module/library -search path? +=item Author -=item How do I add a directory to my include path at runtime? +=over 4 -=item What is socket.ph and where do I get it? +=item Last Changed =back -=item AUTHOR AND COPYRIGHT - =back -=head2 perlfaq9 - Networking ($Revision: 1.15 $, $Date: 2003/01/31 17:36:57 -$) +=head2 perlxs - XS language reference manual =over 4 @@ -3737,114 +4244,111 @@ $) =over 4 -=item What is the correct form of response from a CGI script? +=item Introduction -=item My CGI script runs from the command line but not the browser. (500 -Server Error) +=item On The Road -=item How can I get better error messages from a CGI program? +=item The Anatomy of an XSUB -=item How do I remove HTML from a string? +=item The Argument Stack -=item How do I extract URLs? +=item The RETVAL Variable -=item How do I download a file from the user's machine? How do I open a -file on another machine? +=item Returning SVs, AVs and HVs through RETVAL -=item How do I make a pop-up menu in HTML? +=item The MODULE Keyword -=item How do I fetch an HTML file? +=item The PACKAGE Keyword -=item How do I automate an HTML form submission? +=item The PREFIX Keyword -=item How do I decode or create those %-encodings on the web? +=item The OUTPUT: Keyword -=item How do I redirect to another page? +=item The NO_OUTPUT Keyword -=item How do I put a password on my web pages? +=item The CODE: Keyword -=item How do I edit my .htpasswd and .htgroup files with Perl? +=item The INIT: Keyword -=item How do I make sure users can't enter values into a form that cause my -CGI script to do bad things? +=item The NO_INIT Keyword -=item How do I parse a mail header? +=item Initializing Function Parameters -=item How do I decode a CGI form? +=item Default Parameter Values -=item How do I check a valid mail address? +=item The PREINIT: Keyword -=item How do I decode a MIME/BASE64 string? +=item The SCOPE: Keyword -=item How do I return the user's mail address? +=item The INPUT: Keyword -=item How do I send mail? +=item The IN/OUTLIST/IN_OUTLIST/OUT/IN_OUT Keywords -=item How do I use MIME to make an attachment to a mail message? +=item The C Keyword -=item How do I read mail? +=item Variable-length Parameter Lists -=item How do I find out my hostname/domainname/IP address? +=item The C_ARGS: Keyword -=item How do I fetch a news article or the active newsgroups? +=item The PPCODE: Keyword -=item How do I fetch/put an FTP file? +=item Returning Undef And Empty Lists -=item How can I do RPC in Perl? +=item The REQUIRE: Keyword -=back +=item The CLEANUP: Keyword -=item AUTHOR AND COPYRIGHT +=item The POSTCALL: Keyword -=back +=item The BOOT: Keyword -=head2 perlcompile - Introduction to the Perl Compiler-Translator +=item The VERSIONCHECK: Keyword -=over 4 +=item The PROTOTYPES: Keyword -=item DESCRIPTION +=item The PROTOTYPE: Keyword -=over 4 +=item The ALIAS: Keyword -=item Layout +=item The OVERLOAD: Keyword -B::Bytecode, B::C, B::CC, B::Lint, B::Deparse, B::Xref +=item The FALLBACK: Keyword -=back +=item The INTERFACE: Keyword -=item Using The Back Ends +=item The INTERFACE_MACRO: Keyword -=over 4 +=item The INCLUDE: Keyword -=item The Cross Referencing Back End +=item The CASE: Keyword -i, &, s, r +=item The & Unary Operator -=item The Decompiling Back End +=item Inserting POD, Comments and C Preprocessor Directives -=item The Lint Back End +=item Using XS With C++ -=item The Simple C Back End +=item Interface Strategy -=item The Bytecode Back End +=item Perl Objects And C Structures -=item The Optimized C Back End +=item The Typemap -=back +=item Safely Storing Static Data in XS -=item Module List for the Compiler Suite +MY_CXT_KEY, typedef my_cxt_t, START_MY_CXT, MY_CXT_INIT, dMY_CXT, MY_CXT -B, O, 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 +=back -=item KNOWN PROBLEMS +=item EXAMPLES + +=item XS VERSION =item AUTHOR =back -=head2 perlembed - how to embed perl in your C program +=head2 perlclib - Internal replacements for standard C library functions =over 4 @@ -3852,1599 +4356,1674 @@ B::Stackobj, B::Stash, B::Terse, B::Xref =over 4 -=item PREAMBLE +=item Conventions -B, B, B, B, B +C, C

, C, C -=item ROADMAP +=item File Operations -=item Compiling your C program +=item File Input and Output -=item Adding a Perl interpreter to your C program +=item File Positioning -=item Calling a Perl subroutine from your C program +=item Memory Management and String Handling -=item Evaluating a Perl statement from your C program +=item Character Class Tests -=item Performing Perl pattern matches and substitutions from your C program +=item F functions -=item Fiddling with the Perl stack from your C program +=item Miscellaneous functions -=item Maintaining a persistent interpreter +=back -=item Execution of END blocks +=item SEE ALSO -=item Maintaining multiple interpreter instances +=back -=item Using Perl modules, which themselves use C libraries, from your C -program +=head2 perlguts - Introduction to the Perl API -=back +=over 4 -=item Embedding Perl under Win32 +=item DESCRIPTION -=item Hiding Perl_ +=item Variables -=item MORAL +=over 4 -=item AUTHOR +=item Datatypes -=item COPYRIGHT +=item What is an "IV"? -=back +=item Working with SVs -=head2 perldebguts - Guts of Perl debugging +=item Offsets -=over 4 +=item What's Really Stored in an SV? -=item DESCRIPTION +=item Working with AVs -=item Debugger Internals +=item Working with HVs -=over 4 +=item Hash API Extensions -=item Writing Your Own Debugger +=item AVs, HVs and undefined values -=back +=item References -=item Frame Listing Output Examples +=item Blessed References and Class Objects -=item Debugging regular expressions +=item Creating New Variables -=over 4 +GV_ADDMULTI, GV_ADDWARN -=item Compile-time output +=item Reference Counts and Mortality -C I C I, C I C -I, C, C, C -I, C, C, C, C, C, C, -C +=item Stashes and Globs -=item Types of nodes +=item Double-Typed SVs -=item Run-time output +=item Magic Variables -=back +=item Assigning Magic -=item Debugging Perl memory usage +=item Magic Virtual Tables -=over 4 +=item Finding Magic -=item Using C<$ENV{PERL_DEBUG_MSTATS}> +=item Understanding the Magic of Tied Hashes and Arrays -C, Free/Used, C, C, C, C, C +=item Localizing changes -=item Example of using B<-DL> switch +C, C, C, C, +C, C, C, C, C, C, C, +C, +C, +C, C, C, C, C, +C, C, +C, C, C -C<717>, C<002>, C<054>, C<602>, C<702>, C<704> +=back -=item B<-DL> details +=item Subroutines -C, C, C +=over 4 -=item Limitations of B<-DL> statistics +=item XSUBs and the Argument Stack -=back +=item Calling Perl Routines from within C Programs -=item SEE ALSO +=item Memory Allocation + +=item PerlIO + +=item Putting a C value on Perl stack + +=item Scratchpads + +=item Scratchpads and recursion =back -=head2 perlxstut, perlXStut - Tutorial for writing XSUBs +=item Compiled code =over 4 -=item DESCRIPTION +=item Code tree -=item SPECIAL NOTES +=item Examining the tree -=over 4 +=item Compile pass 1: check routines -=item make +=item Compile pass 1a: constant folding -=item Version caveat +=item Compile pass 2: context propagation -=item Dynamic Loading versus Static Loading +=item Compile pass 3: peephole optimization + +=item Pluggable runops =back -=item TUTORIAL +=item Examining internal data structures with the C functions + +=item How multiple interpreters and concurrency are supported + +=over 4 + +=item Background and PERL_IMPLICIT_CONTEXT + +=item So what happened to dTHR? + +=item How do I use all this in extensions? -=over 4 +=item Should I do anything special if I call perl from multiple threads? -=item EXAMPLE 1 +=item Future Plans and PERL_IMPLICIT_SYS -=item EXAMPLE 2 +=back -=item What has gone on? +=item Internal Functions -=item Writing good test scripts +A, p, d, s, n, r, f, M, o, x, m, X, E, b -=item EXAMPLE 3 +=over 4 -=item What's new here? +=item Formatted Printing of IVs, UVs, and NVs -=item Input and Output Parameters +=item Pointer-To-Integer and Integer-To-Pointer -=item The XSUBPP Program +=item Source Documentation -=item The TYPEMAP file +=item Backwards compatibility -=item Warning about Output Arguments +=back -=item EXAMPLE 4 +=item Unicode Support -=item What has happened here? +=over 4 -=item Anatomy of .xs file +=item What B Unicode, anyway? -=item Getting the fat out of XSUBs +=item How can I recognise a UTF-8 string? -=item More about XSUB arguments +=item How does UTF-8 represent Unicode characters? -=item The Argument Stack +=item How does Perl store UTF-8 strings? -=item Extending your Extension +=item How do I convert a string to UTF-8? -=item Documenting your Extension +=item Is there anything else I need to know? -=item Installing your Extension +=back -=item EXAMPLE 5 +=item Custom Operators -=item New Things in this Example +=item AUTHORS -=item EXAMPLE 6 +=item SEE ALSO -=item New Things in this Example +=back -=item EXAMPLE 7 (Coming Soon) +=head2 perlcall - Perl calling conventions from C -=item EXAMPLE 8 (Coming Soon) +=over 4 -=item EXAMPLE 9 Passing open files to XSes +=item DESCRIPTION -=item Troubleshooting these Examples +An Error Handler, An Event Driven Program -=back +=item THE CALL_ FUNCTIONS -=item See also +call_sv, call_pv, call_method, call_argv -=item Author +=item FLAG VALUES =over 4 -=item Last Changed - -=back +=item G_VOID -=back +=item G_SCALAR -=head2 perlxs - XS language reference manual +=item G_ARRAY -=over 4 +=item G_DISCARD -=item DESCRIPTION +=item G_NOARGS -=over 4 +=item G_EVAL -=item Introduction +=item G_KEEPERR -=item On The Road +=item Determining the Context -=item The Anatomy of an XSUB +=back -=item The Argument Stack +=item KNOWN PROBLEMS -=item The RETVAL Variable +=item EXAMPLES -=item The MODULE Keyword +=over 4 -=item The PACKAGE Keyword +=item No Parameters, Nothing returned -=item The PREFIX Keyword +=item Passing Parameters -=item The OUTPUT: Keyword +=item Returning a Scalar -=item The NO_OUTPUT Keyword +=item Returning a list of values -=item The CODE: Keyword +=item Returning a list in a scalar context -=item The INIT: Keyword +=item Returning Data from Perl via the parameter list -=item The NO_INIT Keyword +=item Using G_EVAL -=item Initializing Function Parameters +=item Using G_KEEPERR -=item Default Parameter Values +=item Using call_sv -=item The PREINIT: Keyword +=item Using call_argv -=item The SCOPE: Keyword +=item Using call_method -=item The INPUT: Keyword +=item Using GIMME_V -=item The IN/OUTLIST/IN_OUTLIST/OUT/IN_OUT Keywords +=item Using Perl to dispose of temporaries -=item The C Keyword +=item Strategies for storing Callback Context Information -=item Variable-length Parameter Lists +1. Ignore the problem - Allow only 1 callback, 2. Create a sequence of +callbacks - hard wired limit, 3. Use a parameter to map to the Perl +callback -=item The C_ARGS: Keyword +=item Alternate Stack Manipulation -=item The PPCODE: Keyword +=item Creating and calling an anonymous subroutine in C -=item Returning Undef And Empty Lists +=back -=item The REQUIRE: Keyword +=item SEE ALSO -=item The CLEANUP: Keyword +=item AUTHOR -=item The POSTCALL: Keyword +=item DATE -=item The BOOT: Keyword +=back -=item The VERSIONCHECK: Keyword +=head2 perlapi - autogenerated documentation for the perl public API -=item The PROTOTYPES: Keyword +=over 4 -=item The PROTOTYPE: Keyword +=item DESCRIPTION -=item The ALIAS: Keyword +=item "Gimme" Values -=item The OVERLOAD: Keyword +GIMME, GIMME_V, G_ARRAY, G_DISCARD, G_EVAL, G_NOARGS, G_SCALAR, G_VOID -=item The FALLBACK: Keyword +=item Array Manipulation Functions -=item The INTERFACE: Keyword +AvFILL, av_clear, av_delete, av_exists, av_extend, av_fetch, av_fill, +av_len, av_make, av_pop, av_push, av_shift, av_store, av_undef, av_unshift, +get_av, newAV, sortsv -=item The INTERFACE_MACRO: Keyword +=item Callback Functions -=item The INCLUDE: Keyword +call_argv, call_method, call_pv, call_sv, ENTER, eval_pv, eval_sv, +FREETMPS, LEAVE, SAVETMPS -=item The CASE: Keyword +=item Character classes -=item The & Unary Operator +isALNUM, isALPHA, isDIGIT, isLOWER, isSPACE, isUPPER, toLOWER, toUPPER -=item Inserting POD, Comments and C Preprocessor Directives +=item Cloning an interpreter -=item Using XS With C++ +perl_clone -=item Interface Strategy +=item CV Manipulation Functions -=item Perl Objects And C Structures +CvSTASH, get_cv -=item The Typemap +=item Embedding Functions -=item Safely Storing Static Data in XS +cv_undef, load_module, nothreadhook, perl_alloc, perl_construct, +perl_destruct, perl_free, perl_parse, perl_run, require_pv -MY_CXT_KEY, typedef my_cxt_t, START_MY_CXT, MY_CXT_INIT, dMY_CXT, MY_CXT +=item Functions in file pp_pack.c -=back +packlist, pack_cat, unpackstring, unpack_str -=item EXAMPLES +=item Global Variables -=item XS VERSION +PL_modglobal, PL_na, PL_sv_no, PL_sv_undef, PL_sv_yes -=item AUTHOR +=item GV Functions -=back +GvSV, gv_fetchmeth, gv_fetchmethod, gv_fetchmethod_autoload, +gv_fetchmeth_autoload, gv_stashpv, gv_stashpvn, gv_stashsv -=head2 perlclib - Internal replacements for standard C library functions +=item Handy Values -=over 4 +Nullav, Nullch, Nullcv, Nullhv, Nullsv -=item DESCRIPTION +=item Hash Manipulation Functions -=over 4 +get_hv, HEf_SVKEY, HeHASH, HeKEY, HeKLEN, HePV, HeSVKEY, HeSVKEY_force, +HeSVKEY_set, HeVAL, HvNAME, hv_assert, hv_clear, hv_clear_placeholders, +hv_delete, hv_delete_ent, hv_exists, hv_exists_ent, hv_fetch, hv_fetch_ent, +hv_iterinit, hv_iterkey, hv_iterkeysv, hv_iternext, hv_iternextsv, +hv_iternext_flags, hv_iterval, hv_magic, hv_scalar, hv_store, hv_store_ent, +hv_undef, newHV -=item Conventions +=item Magical Functions -C, C

, C, C +mg_clear, mg_copy, mg_find, mg_free, mg_get, mg_length, mg_magical, mg_set, +SvGETMAGIC, SvLOCK, SvSETMAGIC, SvSetMagicSV, SvSetMagicSV_nosteal, +SvSetSV, SvSetSV_nosteal, SvSHARE, SvUNLOCK -=item File Operations +=item Memory Management -=item File Input and Output +Copy, CopyD, Move, MoveD, New, Newc, Newz, Poison, Renew, Renewc, Safefree, +savepv, savepvn, savesharedpv, savesvpv, StructCopy, Zero, ZeroD -=item File Positioning +=item Miscellaneous Functions -=item Memory Management and String Handling +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, vnormal, vnumify, +vstringify -=item Character Class Tests +=item Numeric functions -=item F functions +grok_bin, grok_hex, grok_number, grok_numeric_radix, grok_oct, scan_bin, +scan_hex, scan_oct -=item Miscellaneous functions +=item Optree Manipulation Functions -=back +cv_const_sv, newCONSTSUB, newXS -=item SEE ALSO +=item Pad Data Structures -=back +pad_sv -=head2 perlguts - Introduction to the Perl API +=item Stack Manipulation Macros -=over 4 +dMARK, dORIGMARK, dSP, EXTEND, MARK, mPUSHi, mPUSHn, mPUSHp, mPUSHu, +mXPUSHi, mXPUSHn, mXPUSHp, mXPUSHu, ORIGMARK, POPi, POPl, POPn, POPp, +POPpbytex, POPpx, POPs, PUSHi, PUSHMARK, PUSHmortal, PUSHn, PUSHp, PUSHs, +PUSHu, PUTBACK, SP, SPAGAIN, XPUSHi, XPUSHmortal, XPUSHn, XPUSHp, XPUSHs, +XPUSHu, XSRETURN, XSRETURN_EMPTY, XSRETURN_IV, XSRETURN_NO, XSRETURN_NV, +XSRETURN_PV, XSRETURN_UNDEF, XSRETURN_UV, XSRETURN_YES, XST_mIV, XST_mNO, +XST_mNV, XST_mPV, XST_mUNDEF, XST_mYES -=item DESCRIPTION +=item SV Flags -=item Variables +svtype, SVt_IV, SVt_NV, SVt_PV, SVt_PVAV, SVt_PVCV, SVt_PVHV, SVt_PVMG -=over 4 +=item SV Manipulation Functions -=item Datatypes +get_sv, looks_like_number, newRV_inc, newRV_noinc, newSV, NEWSV, newSViv, +newSVnv, newSVpv, newSVpvf, newSVpvn, newSVpvn_share, newSVrv, newSVsv, +newSVuv, 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, SvIV_nomg, 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, +SvPV_nolen, SvPV_nomg, SvREFCNT, SvREFCNT_dec, SvREFCNT_inc, SvROK, +SvROK_off, SvROK_on, SvRV, SvSTASH, SvTAINT, SvTAINTED, SvTAINTED_off, +SvTAINTED_on, SvTRUE, SvTYPE, SvUOK, SvUPGRADE, SvUTF8, SvUTF8_off, +SvUTF8_on, SvUV, SvUVx, SvUVX, SvUV_nomg, SvVOK, sv_2bool, sv_2cv, sv_2io, +sv_2iv_flags, sv_2mortal, sv_2nv, sv_2pvbyte, sv_2pvbyte_nolen, sv_2pvutf8, +sv_2pvutf8_nolen, sv_2pv_flags, sv_2pv_nolen, sv_2uv_flags, sv_backoff, +sv_bless, sv_catpv, sv_catpvf, sv_catpvf_mg, sv_catpvn, sv_catpvn_flags, +sv_catpvn_mg, sv_catpvn_nomg, sv_catpv_mg, sv_catsv, sv_catsv_flags, +sv_catsv_mg, sv_catsv_nomg, 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_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_setsv_nomg, 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_vcatpvf, sv_vcatpvfn, sv_vcatpvf_mg, sv_vsetpvf, sv_vsetpvfn, +sv_vsetpvf_mg -=item What is an "IV"? +=item Unicode Support -=item Working with SVs +bytes_from_utf8, bytes_to_utf8, ibcmp_utf8, is_utf8_char, is_utf8_string, +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 Offsets +=item Variables created by C and C internal functions -=item What's Really Stored in an SV? +ax, CLASS, dAX, dITEMS, dUNDERBAR, dXSARGS, dXSI32, items, ix, newXSproto, +RETVAL, ST, THIS, UNDERBAR, XS, XS_VERSION, XS_VERSION_BOOTCHECK -=item Working with AVs +=item Warning and Dieing -=item Working with HVs +croak, warn -=item Hash API Extensions +=item AUTHORS -=item AVs, HVs and undefined values +=item SEE ALSO -=item References +=back -=item Blessed References and Class Objects +=head2 perlintern - autogenerated documentation of purely B + Perl functions -=item Creating New Variables +=over 4 -GV_ADDMULTI, GV_ADDWARN +=item DESCRIPTION -=item Reference Counts and Mortality +=item CV reference counts and CvOUTSIDE -=item Stashes and Globs +CvWEAKOUTSIDE -=item Double-Typed SVs +=item Functions in file pad.h -=item Magic Variables +CX_CURPAD_SAVE, CX_CURPAD_SV, PAD_BASE_SV, PAD_CLONE_VARS, +PAD_COMPNAME_FLAGS, PAD_COMPNAME_GEN, PAD_COMPNAME_OURSTASH, +PAD_COMPNAME_PV, PAD_COMPNAME_TYPE, PAD_DUP, PAD_RESTORE_LOCAL, +PAD_SAVE_LOCAL, PAD_SAVE_SETNULLPAD, PAD_SETSV, PAD_SET_CUR, +PAD_SET_CUR_NOSAVE, PAD_SV, PAD_SVl, SAVECLEARSV, SAVECOMPPAD, SAVEPADSV -=item Assigning Magic +=item Functions in file pp_ctl.c -=item Magic Virtual Tables +find_runcv -=item Finding Magic +=item Global Variables -=item Understanding the Magic of Tied Hashes and Arrays +PL_DBsingle, PL_DBsub, PL_DBtrace, PL_dowarn, PL_last_in_gv, PL_ofs_sv, +PL_rs -=item Localizing changes +=item GV Functions -C, C, C, C, -C, C, C, C, C, C, C, -C, -C, -C, C, C, C, C, -C, C, -C, C, C +is_gv_magical -=back +=item IO Functions -=item Subroutines +start_glob -=over 4 +=item Pad Data Structures -=item XSUBs and the Argument Stack +CvPADLIST, cv_clone, cv_dump, do_dump_pad, intro_my, pad_add_anon, +pad_add_name, pad_alloc, pad_block_start, pad_check_dup, pad_findlex, +pad_findmy, pad_fixup_inner_anons, pad_free, pad_leavemy, pad_new, +pad_push, pad_reset, pad_setsv, pad_swipe, pad_tidy, pad_undef -=item Calling Perl Routines from within C Programs +=item Stack Manipulation Macros -=item Memory Allocation +djSP, LVRET -=item PerlIO +=item SV Manipulation Functions -=item Putting a C value on Perl stack +find_uninit_var, report_uninit, sv_add_arena, sv_clean_all, sv_clean_objs, +sv_free_arenas -=item Scratchpads +=item AUTHORS -=item Scratchpads and recursion +=item SEE ALSO =back -=item Compiled code +=head2 perliol - C API for Perl's implementation of IO in Layers. =over 4 -=item Code tree +=item SYNOPSIS -=item Examining the tree +=item DESCRIPTION -=item Compile pass 1: check routines +=over 4 -=item Compile pass 1a: constant folding +=item History and Background -=item Compile pass 2: context propagation +=item Basic Structure -=item Compile pass 3: peephole optimization +=item Layers vs Disciplines -=item Pluggable runops +=item Data Structures -=back +=item Functions and Attributes -=item Examining internal data structures with the C functions +=item Per-instance Data -=item How multiple interpreters and concurrency are supported +=item Layers in action. -=over 4 +=item Per-instance flag bits -=item Background and PERL_IMPLICIT_CONTEXT +PERLIO_F_EOF, PERLIO_F_CANWRITE, PERLIO_F_CANREAD, PERLIO_F_ERROR, +PERLIO_F_TRUNCATE, PERLIO_F_APPEND, PERLIO_F_CRLF, PERLIO_F_UTF8, +PERLIO_F_UNBUF, PERLIO_F_WRBUF, PERLIO_F_RDBUF, PERLIO_F_LINEBUF, +PERLIO_F_TEMP, PERLIO_F_OPEN, PERLIO_F_FASTGETS -=item So what happened to dTHR? +=item Methods in Detail -=item How do I use all this in extensions? +fsize, name, size, kind, PERLIO_K_BUFFERED, PERLIO_K_RAW, PERLIO_K_CANCRLF, +PERLIO_K_FASTGETS, PERLIO_K_MULTIARG, Pushed, Popped, Open, Binmode, +Getarg, Fileno, Dup, Read, Write, Seek, Tell, Close, Flush, Fill, Eof, +Error, Clearerr, Setlinebuf, Get_base, Get_bufsiz, Get_ptr, Get_cnt, +Set_ptrcnt -=item Should I do anything special if I call perl from multiple threads? +=item Utilities -=item Future Plans and PERL_IMPLICIT_SYS +=item Implementing PerlIO Layers -=back +C implementations, Perl implementations -=item Internal Functions +=item Core Layers -A, p, d, s, n, r, f, M, o, j, x +"unix", "perlio", "stdio", "crlf", "mmap", "pending", "raw", "utf8" -=over 4 +=item Extension Layers -=item Formatted Printing of IVs, UVs, and NVs +":encoding", ":scalar", ":via" -=item Pointer-To-Integer and Integer-To-Pointer +=back -=item Source Documentation +=item TODO =back -=item Unicode Support +=head2 perlapio - perl's IO abstraction interface. =over 4 -=item What B Unicode, anyway? +=item SYNOPSIS -=item How can I recognise a UTF8 string? +=item DESCRIPTION -=item How does UTF8 represent Unicode characters? +1. USE_STDIO, 2. USE_SFIO, 3. USE_PERLIO, B, +B, B, B, +B, B, +B, B, +B, B, +B, B, B, +B, B, B, +B, B, B, +B, B, B, +B, B, B, +B, B, B -=item How does Perl store UTF8 strings? +=over 4 -=item How do I convert a string to UTF8? +=item Co-existence with stdio -=item Is there anything else I need to know? +B, B, +B, B -=back +=item "Fast gets" Functions -=item Custom Operators +B, B, B, +B, B, B, +B, B, B, +B -=item AUTHORS +=item Other Functions -=item SEE ALSO +PerlIO_apply_layers(f,mode,layers), PerlIO_binmode(f,ptype,imode,layers), +'E' read, 'E' write, '+' read/write, PerlIO_debug(fmt,...) =back -=head2 perlcall - Perl calling conventions from C +=back + +=head2 perlhack - How to hack at the Perl internals =over 4 =item DESCRIPTION -An Error Handler, An Event Driven Program +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 THE CALL_ FUNCTIONS +=over 4 -call_sv, call_pv, call_method, call_argv +=item Keeping in sync -=item FLAG VALUES +rsync'ing the source tree, Using rsync over the LAN, Using pushing over the +NFS, rsync'ing the patches -=over 4 +=item Why rsync the source tree -=item G_VOID +It's easier to rsync the source tree, It's more reliable -=item G_SCALAR +=item Why rsync the patches -=item G_ARRAY +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 G_DISCARD +=item Working with the source -=item G_NOARGS +=item Perlbug administration -=item G_EVAL +=item Submitting patches -=item G_KEEPERR +L, L and L, L, +F, The perl5-porters FAQ -=item Determining the Context +=item Finding Your Way Around -=back +Core modules, Tests, Documentation, Configure, Interpreter -=item KNOWN PROBLEMS +=item Elements of the interpreter -=item EXAMPLES +Startup, Parsing, Optimization, Running -=over 4 +=item Internal Variable Types -=item No Parameters, Nothing returned +=item Op Trees -=item Passing Parameters +=item Stacks -=item Returning a Scalar +Argument stack, Mark stack, Save stack -=item Returning a list of values +=item Millions of Macros -=item Returning a list in a scalar context +=item The .i Targets -=item Returning Data from Perl via the parameter list +=item Poking at Perl -=item Using G_EVAL +=item Using a source-level debugger -=item Using G_KEEPERR +run [args], break function_name, break source.c:xxx, step, next, continue, +finish, 'enter', print -=item Using call_sv +=item gdb macro support -=item Using call_argv +=item Dumping Perl Data Structures -=item Using call_method +=item Patching -=item Using GIMME_V +=item Patching a core module -=item Using Perl to dispose of temporaries +=item Adding a new function to the core -=item Strategies for storing Callback Context Information +=item Writing a test -1. Ignore the problem - Allow only 1 callback, 2. Create a sequence of -callbacks - hard wired limit, 3. Use a parameter to map to the Perl -callback +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 Alternate Stack Manipulation +=item Special Make Test Targets -=item Creating and calling an anonymous subroutine in C +coretest, test.deparse, test.taintwarn, 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, minitest.utf16 test.utf16, test_harness + +=item Running tests by hand + +PERL_CORE=1, PERL_DESTRUCT_LEVEL=2, PERL, PERL_SKIP_TTY_TEST =back -=item SEE ALSO +=item EXTERNAL TOOLS FOR DEBUGGING PERL -=item AUTHOR +=over 4 -=item DATE +=item Rational Software's Purify -=back +=item Purify on Unix -=head2 perlutil - utilities packaged with the Perl distribution +-Accflags=-DPURIFY, -Doptimize='-g', -Uusemymalloc, -Dusemultiplicity -=over 4 +=item Purify on NT -=item DESCRIPTION +DEFINES, USE_MULTI = define, #PERL_MALLOC = define, CFG = Debug -=over 4 +=item valgrind -=item DOCUMENTATION +=item Compaq's/Digital's/HP's Third Degree -L, L and L, -L and L, L, -L, L, L, -L +=item PERL_DESTRUCT_LEVEL -=item CONVERTORS +=item Profiling -L, L, L +=item Gprof Profiling -=item Administration +-a, -b, -e routine, -f routine, -s, -z -L +=item GCC gcov Profiling -=item Development +=item Pixie Profiling -L, L, L and L, -L, L, L +-h, -l, -p[rocedures], -h[eavy], -i[nvocations], -l[ines], -testcoverage, +-z[ero] + +=item Miscellaneous tricks + +=item CONCLUSION -=item SEE ALSO +I =back +=item AUTHOR + =back -=head2 perlfilter - Source Filters +=head2 perlbook - Perl book information =over 4 =item DESCRIPTION -=item CONCEPTS - -=item USING FILTERS - -=item WRITING A SOURCE FILTER +=back -=item WRITING A SOURCE FILTER IN C +=head2 perltodo - Perl TO-DO List -B +=over 4 -=item CREATING A SOURCE FILTER AS A SEPARATE EXECUTABLE +=item DESCRIPTION -=item WRITING A SOURCE FILTER IN PERL +=item assertions -=item USING CONTEXT: THE DEBUG FILTER +=item iCOW -=item CONCLUSION +=item (?{...}) closures in regexps -=item THINGS TO LOOK OUT FOR +=item A re-entrant regexp engine -Some Filters Clobber the C Handle +=item pragmata -=item REQUIREMENTS +=over 4 -=item AUTHOR +=item lexical pragmas -=item Copyrights +=item use less 'memory' =back -=head2 perldbmfilter - Perl DBM Filters +=item prototypes and functions =over 4 -=item SYNOPSIS +=item _ prototype character -=item DESCRIPTION +=item inlining autoloaded constants -B, B, B, -B +=item Finish off lvalue functions -=over 4 +=back -=item The Filter +=item Unicode and UTF8 -=item An Example -- the NULL termination problem. +=over 4 -=item Another Example -- Key is a C int. +=item Implicit Latin 1 => Unicode translation -=back +=item UTF8 caching code -=item SEE ALSO +=item Unicode in Filenames -=item AUTHOR +=item Unicode in %ENV =back -=head2 perlapi - autogenerated documentation for the perl public API +=item Regexps =over 4 -=item DESCRIPTION +=item regexp optimiser optional -=item "Gimme" Values +=item common suffices/prefices in regexps (trie optimization) -GIMME, GIMME_V, G_ARRAY, G_DISCARD, G_EVAL, G_NOARGS, G_SCALAR, G_VOID +=back -=item Array Manipulation Functions +=item POD -AvFILL, av_clear, av_delete, av_exists, av_extend, av_fetch, av_fill, -av_len, av_make, av_pop, av_push, av_shift, av_store, av_undef, av_unshift, -get_av, newAV, Nullav, sortsv +=over 4 -=item Callback Functions +=item POD -> HTML conversion still sucks -call_argv, call_method, call_pv, call_sv, ENTER, eval_pv, eval_sv, -FREETMPS, LEAVE, SAVETMPS +=back -=item Character classes +=item Misc medium sized projects -isALNUM, isALPHA, isDIGIT, isLOWER, isSPACE, isUPPER, toLOWER, toUPPER +=over 4 -=item Cloning an interpreter +=item UNITCHECK -perl_clone +=item optional optimizer -=item CV Manipulation Functions +=item You WANT *how* many -CvSTASH, get_cv, Nullcv +=item lexical aliases -=item Embedding Functions +=item no 6 -cv_undef, load_module, nothreadhook, perl_alloc, perl_construct, -perl_destruct, perl_free, perl_parse, perl_run, require_pv +=item IPv6 -=item Functions in file pp_pack.c +=item entersub XS vs Perl -packlist, pack_cat, unpackstring, unpack_str +=item @INC source filter to Filter::Simple -=item Global Variables +=item bincompat functions -PL_modglobal, PL_na, PL_sv_no, PL_sv_undef, PL_sv_yes +=item Use fchown/fchmod internally -=item GV Functions +=item Constant folding -GvSV, gv_fetchmeth, gv_fetchmethod, gv_fetchmethod_autoload, -gv_fetchmeth_autoload, gv_stashpv, gv_stashsv +=back -=item Handy Values +=item Tests -HEf_SVKEY, Nullch, Nullsv +=over 4 -=item Hash Manipulation Functions +=item Make Schwern poorer -get_hv, HeHASH, HeKEY, HeKLEN, HePV, HeSVKEY, HeSVKEY_force, HeSVKEY_set, -HeVAL, HvNAME, hv_clear, hv_delete, hv_delete_ent, hv_exists, -hv_exists_ent, hv_fetch, hv_fetch_ent, hv_iterinit, hv_iterkey, -hv_iterkeysv, hv_iternext, hv_iternextsv, hv_iternext_flags, hv_iterval, -hv_magic, hv_store, hv_store_ent, hv_undef, newHV, Nullhv +=item test B -=item Magical Functions +=item common test code for timed bailout -mg_clear, mg_copy, mg_find, mg_free, mg_get, mg_length, mg_magical, mg_set, -SvGETMAGIC, SvLOCK, SvSETMAGIC, SvSetMagicSV, SvSetMagicSV_nosteal, -SvSetSV, SvSetSV_nosteal, SvSHARE +=back -=item Memory Management +=item Installation -Copy, Move, New, Newc, NEWSV, Newz, Poison, Renew, Renewc, Safefree, -savepv, savepvn, savesharedpv, StructCopy, Zero +=over 4 -=item Miscellaneous Functions +=item compressed man pages -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 Make Config.pm cope with differences between build and installed perl -=item Numeric functions +=item Relocatable perl -grok_bin, grok_hex, grok_number, grok_numeric_radix, grok_oct, scan_bin, -scan_hex, scan_oct +=item make HTML install work -=item Optree Manipulation Functions +=item put patchlevel in -v -cv_const_sv, newCONSTSUB, newXS +=back -=item Pad Data Structures +=item Incremental things -pad_sv +=over 4 -=item Stack Manipulation Macros +=item autovivification -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 +=item fix tainting bugs -=item SV Flags +=item Make tainting consistent -svtype, SVt_IV, SVt_NV, SVt_PV, SVt_PVAV, SVt_PVCV, SVt_PVHV, SVt_PVMG +=item Dual life everything -=item SV Manipulation Functions +=back -get_sv, looks_like_number, newRV_inc, newRV_noinc, newSV, newSViv, newSVnv, -newSVpv, newSVpvf, newSVpvn, newSVpvn_share, newSVrv, newSVsv, newSVuv, -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, -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, -SvUV, SvUVX, SvUVx, SvVOK, sv_2bool, sv_2cv, sv_2io, sv_2iv, sv_2mortal, -sv_2nv, sv_2pvbyte, sv_2pvbyte_nolen, sv_2pvutf8, sv_2pvutf8_nolen, -sv_2pv_flags, sv_2pv_nolen, sv_2uv, sv_backoff, sv_bless, sv_catpv, -sv_catpvf, sv_catpvf_mg, sv_catpvn, sv_catpvn_flags, sv_catpvn_mg, -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_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 Vague things -=item Unicode Support +=over 4 -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, -uvuni_to_utf8_flags +=item threads -=item Variables created by C and C internal functions +=item POSIX memory footprint -ax, CLASS, dAX, dITEMS, dXSARGS, dXSI32, items, ix, newXSproto, RETVAL, ST, -THIS, XS, XSRETURN_EMPTY, XS_VERSION, XS_VERSION_BOOTCHECK +=item Optimize away @_ -=item Warning and Dieing +=item switch ops -croak, warn +=item Attach/detach debugger from running program -=item AUTHORS +=item A decent benchmark -=item SEE ALSO +=item readpipe(LIST) + +=item Self ties =back -=head2 perlintern - autogenerated documentation of purely B - Perl functions +=back + +=head2 perldoc - Look up Perl documentation in Pod format. =over 4 +=item SYNOPSIS + =item DESCRIPTION -=item CV reference counts and CvOUTSIDE +=item OPTIONS -CvWEAKOUTSIDE +B<-h>, B<-v>, B<-t>, B<-u>, B<-m> I, B<-l>, B<-F>, B<-f> +I, B<-q> I, B<-T>, B<-d> +I, B<-o> I, B<-M> I, +B<-w> I or B<-w> I