X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pod%2Fperltoc.pod;h=989c1efe019307d0487d2ab2990547bed10df392;hb=5d3b0638f4c2cf44af3831abe68fc08048b89bc2;hp=cbc17857a4c6ebd867a4b13adeb3fcfb65639487;hpb=28757baaaeaa3801dd997fad8b1f5f62c64a228e;p=p5sagit%2Fp5-mst-13.2.git diff --git a/pod/perltoc.pod b/pod/perltoc.pod index cbc1785..989c1ef 100644 --- a/pod/perltoc.pod +++ b/pod/perltoc.pod @@ -26,8 +26,6 @@ expression enhancements, Innumerable Unbundled Modules, Compilability =item ENVIRONMENT -HOME, LOGDIR, PATH, PERL5LIB, PERL5DB, PERL_DESTRUCT_LEVEL, PERLLIB - =item AUTHOR =item FILES @@ -40,1767 +38,3094 @@ HOME, LOGDIR, PATH, PERL5LIB, PERL5DB, PERL_DESTRUCT_LEVEL, PERLLIB =item NOTES -=head2 perlnews - what's new for perl5.004 +=head2 perlfaq - frequently asked questions about Perl ($Date: 1997/04/24 +22:46:06 $) =item DESCRIPTION -=item Supported Environments - -=item Core Changes +perlfaq: Structural overview of the FAQ, L: General Questions +About Perl, L: Obtaining and Learning about Perl, L: +Programming Tools, L: Data Manipulation, L: Files and +Formats, L: Regexps, L: General Perl Language Issues, +L: System Interaction, L: Networking =over -=item Compilation Option: Binary Compatibility With 5.003 +=item Where to get this document -=item New Opcode Module and Revised Safe Module +=item How to contribute to this document -=item Internal Change: FileHandle Deprecated +=item What will happen if you mail your Perl programming problems to the +authors -=item Internal Change: PerlIO internal IO abstraction interface - -=item New and Changed Built-in Variables - -$^E, $^H, $^M +=back -=item New and Changed Built-in Functions +=item Credits -delete on slices, flock, keys as an lvalue, my() in Control Structures, -unpack() and pack(), use VERSION, use Module VERSION LIST, -prototype(FUNCTION), $_ as Default +=item Author and Copyright Information -=item New Built-in Methods +=over -isa(CLASS), can(METHOD), VERSION( [NEED] ), class(), is_instance() +=item Noncommercial Reproduction -=item TIEHANDLE Now Supported +=item Commercial Reproduction -TIEHANDLE classname, LIST, PRINT this, LIST, READLINE this, DESTROY this +=item Disclaimer =back -=item Pragmata +=item Changes -use blib, use locale, use ops +24/April/97, 23/April/97, 25/March/97, 18/March/97, 17/March/97 Version, +Initial Release: 11/March/97 -=item Modules +=head2 perlfaq1 - General Questions About Perl ($Revision: 1.12 $, $Date: +1997/04/24 22:43:34 $) + +=item DESCRIPTION =over -=item Module Information Summary +=item What is Perl? -=item IO +=item Who supports Perl? Who develops it? Why is it free? -=item Math::Complex +=item Which version of Perl should I use? -=item Overridden Built-ins +=item What are perl4 and perl5? -=back +=item How stable is Perl? -=item Efficiency Enhancements +=item Is Perl difficult to learn? -=item Documentation Changes +=item How does Perl compare with other languages like Java, Python, REXX, +Scheme, or Tcl? -L, L, L, L, L, -L +=item Can I do [task] in Perl? -=item New Diagnostics +=item When shouldn't I program in Perl? -"my" variable %s masks earlier declaration in same scope, Allocation too -large: %lx, Allocation too large, Attempt to free non-existent shared -string, Attempt to use reference as lvalue in substr, Unsupported function -fork, Ill-formed logical name |%s| in prime_env_iter, Integer overflow in -hex number, Integer overflow in octal number, Null picture in formline, -Offset outside string, Out of memory!, Out of memory during request for %s, -Possible attempt to put comments in qw() list, Possible attempt to separate -words with commas, untie attempted while %d inner references still exist, -Got an error from DosAllocMem:, Malformed PERLLIB_PREFIX, PERL_SH_DIR too -long, Process terminated by SIG%s +=item What's the difference between "perl" and "Perl"? -=item BUGS +=item Is it a Perl program or a Perl script? -=item SEE ALSO +=item What is a JAPH? -=item HISTORY +=item Where can I get a list of Larry Wall witticisms? -=head2 perldata - Perl data types +=item How can I convince my sysadmin/supervisor/employees to use version +(5/5.004/Perl instead of some other language)? + +=back + +=item AUTHOR AND COPYRIGHT + +=head2 perlfaq2 - Obtaining and Learning about Perl ($Revision: 1.16 $, +$Date: 1997/04/23 18:04:09 $) =item DESCRIPTION =over -=item Variable names +=item What machines support Perl? Where do I get it? -=item Context +=item How can I get a binary version of Perl? -=item Scalar values +=item I don't have a C compiler on my system. How can I compile perl? -=item Scalar value constructors +=item I copied the Perl binary from one machine to another, but scripts +don't work. -=item List value constructors +=item I grabbed the sources and tried to compile but gdbm/dynamic +loading/malloc/linking/... failed. How do I make it work? -=item Typeglobs and Filehandles +=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 perlsyn - Perl syntax +=item Where can I get information on Perl? -=item DESCRIPTION +=item What are the Perl newsgroups on USENET? Where do I post questions? -=over +=item Where should I post source code? -=item Declarations +=item Perl Books -=item Simple statements +=item Perl in Magazines -=item Compound statements +=item Perl on the Net: FTP and WWW Access -=item Loop Control +=item What mailing lists are there for perl? -=item For Loops +MacPerl, Perl5-Porters, NTPerl, Perl-Packrats -=item Foreach Loops +=item Archives of comp.lang.perl.misc -=item Basic BLOCKs and Switch Statements +=item Perl Training -=item Goto +=item Where can I buy a commercial version of Perl? -=item PODs: Embedded Documentation +=item Where do I send bug reports? + +=item What is perl.com? perl.org? The Perl Institute? + +=item How do I learn about object-oriented Perl programming? =back -=head2 perlop - Perl operators and precedence +=item AUTHOR AND COPYRIGHT -=item SYNOPSIS +=head2 perlfaq3 - Programming Tools ($Revision: 1.22 $, $Date: 1997/04/24 +22:43:42 $) =item DESCRIPTION =over -=item Terms and List Operators (Leftward) - -=item The Arrow Operator +=item How do I do (anything)? -=item Auto-increment and Auto-decrement +=item How can I use Perl interactively? -=item Exponentiation +=item Is there a Perl shell? -=item Symbolic Unary Operators +=item How do I debug my Perl programs? -=item Binding Operators +=item How do I profile my Perl programs? -=item Multiplicative Operators +=item How do I cross-reference my Perl programs? -=item Additive Operators +=item Is there a pretty-printer (formatter) for Perl? -=item Shift Operators +=item Is there a ctags for Perl? -=item Named Unary Operators +=item Where can I get Perl macros for vi? -=item Relational Operators +=item Where can I get perl-mode for emacs? -=item Equality Operators +=item How can I use curses with Perl? -=item Bitwise And +=item How can I use X or Tk with Perl? -=item Bitwise Or and Exclusive Or +=item How can I generate simple menus without using CGI or Tk? -=item C-style Logical And +=item Can I dynamically load C routines into Perl? -=item C-style Logical Or +=item What is undump? -=item Range Operator +=item How can I make my Perl program run faster? -=item Conditional Operator +=item How can I make my Perl program take less memory? -=item Assignment Operators +=item Is it unsafe to return a pointer to local data? -=item Comma Operator +=item How can I free an array or hash so my program shrinks? -=item List Operators (Rightward) +=item How can I make my CGI script more efficient? -=item Logical Not +=item How can I hide the source for my Perl program? -=item Logical And +=item How can I compile my Perl program into byte code or C? -=item Logical or and Exclusive Or +=item How can I get '#!perl' to work on [MS-DOS,NT,...]? -=item C Operators Missing From Perl +=item Can I write useful perl programs on the command line? -unary &, unary *, (TYPE) +=item Why don't perl one-liners work on my DOS/Mac/VMS system? -=item Quote and Quote-like Operators +=item Where can I learn about CGI or Web programming in Perl? -=item Regexp Quote-Like Operators +=item Where can I learn about object-oriented Perl programming? -?PATTERN?, m/PATTERN/gimosx, /PATTERN/gimosx, q/STRING/, C<'STRING'>, -qq/STRING/, "STRING", qx/STRING/, `STRING`, qw/STRING/, -s/PATTERN/REPLACEMENT/egimosx, tr/SEARCHLIST/REPLACEMENTLIST/cds, -y/SEARCHLIST/REPLACEMENTLIST/cds +=item Where can I learn about linking C with Perl? [h2xs, xsubpp] -=item I/O Operators +=item I've read perlembed, perlguts, etc., but I can't embed perl in +my C program, what am I doing wrong? -=item Constant Folding +=item When I tried to run my script, I got this message. What does it +mean? -=item Integer Arithmetic +=item What's MakeMaker? =back -=head2 perlre - Perl regular expressions +=item AUTHOR AND COPYRIGHT + +=head2 perlfaq4 - Data Manipulation ($Revision: 1.19 $, $Date: 1997/04/24 +22:43:57 $) =item DESCRIPTION -i, m, s, x +=item Data: Numbers =over -=item Regular Expressions +=item Why am I getting long decimals (eg, 19.9499999999999) instead of the +numbers I should be getting (eg, 19.95)? -(?#text), (?:regexp), (?=regexp), (?!regexp), (?imsx) +=item Why isn't my octal data interpreted correctly? -=item Backtracking +=item Does perl have a round function? What about ceil() and floor()? +Trig functions? -=item Version 8 Regular Expressions +=item How do I convert bits into ints? -=item WARNING on \1 vs $1 +=item How do I multiply matrices? -=back +=item How do I perform an operation on a series of integers? -=head2 perlrun - how to execute the Perl interpreter +=item How can I output Roman numerals? -=item SYNOPSIS +=item Why aren't my random numbers random? -=item DESCRIPTION +=back -=over +=item Data: Dates -=item Switches +=over -B<-0>[I], B<-a>, 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<-u>, B<-U>, B<-v>, B<-V>, B<-V:>I, B<-w>, B<-x> I +=item How do I find the week-of-the-year/day-of-the-year? -=back +=item How can I compare two date strings? -=head2 perlfunc - Perl builtin functions +=item How can I take a string and turn it into epoch seconds? -=item DESCRIPTION +=item How can I find the Julian Day? - I +=item Does Perl have a year 2000 problem? -=over +=back -=item Perl Functions by Category +=item Data: Strings -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 +=over -=item Alphabetical Listing of Perl Functions +=item How do I validate input? --I FILEHANDLE, -I EXPR, -I, abs VALUE, abs, accept -NEWSOCKET,GENERICSOCKET, alarm SECONDS, alarm, atan2 Y,X, bind SOCKET,NAME, -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, closedir DIRHANDLE, connect SOCKET,NAME, continue BLOCK, -cos EXPR, crypt PLAINTEXT,SALT, dbmclose ASSOC_ARRAY, dbmopen -ASSOC,DBNAME,MODE, defined EXPR, defined, delete EXPR, die LIST, do BLOCK, -do SUBROUTINE(LIST), do EXPR, dump LABEL, each ASSOC_ARRAY, eof FILEHANDLE, -eof (), eof, eval EXPR, eval BLOCK, exec 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, 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 ASSOC_ARRAY, kill LIST, -last LABEL, last, lc EXPR, lc, lcfirst EXPR, lcfirst, length EXPR, length, -link OLDFILE,NEWFILE, listen SOCKET,QUEUESIZE, local EXPR, localtime EXPR, -log EXPR, log, lstat FILEHANDLE, lstat EXPR, lstat, m//, map BLOCK LIST, -map EXPR,LIST, mkdir FILENAME,MODE, msgctl ID,CMD,ARG, msgget KEY,FLAGS, -msgsnd ID,MSG,FLAGS, msgrcv ID,VAR,SIZE,TYPE,FLAGS, my EXPR, next LABEL, -next, no Module LIST, oct EXPR, oct, open FILEHANDLE,EXPR, open FILEHANDLE, -opendir DIRHANDLE,EXPR, ord EXPR, ord, pack TEMPLATE,LIST, package -NAMESPACE, 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/, qx/STRING/, qw/STRING/, quotemeta EXPR, quotemeta, rand EXPR, -rand, read FILEHANDLE,SCALAR,LENGTH,OFFSET, read FILEHANDLE,SCALAR,LENGTH, -readdir DIRHANDLE, readlink EXPR, readlink, recv SOCKET,SCALAR,LEN,FLAGS, -redo LABEL, redo, ref EXPR, ref, rename OLDNAME,NEWNAME, require EXPR, -require, reset EXPR, reset, return LIST, 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, split /PATTERN/,EXPR,LIMIT, split /PATTERN/,EXPR, -split /PATTERN/, split, sprintf FORMAT, LIST, sqrt EXPR, sqrt, srand EXPR, -stat EXPR, stat, study SCALAR, study, sub BLOCK, sub NAME, sub NAME BLOCK, -substr EXPR,OFFSET,LEN, 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, system LIST, syswrite -FILEHANDLE,SCALAR,LENGTH, 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, untie VARIABLE, unshift ARRAY,LIST, use Module LIST, use -Module, use Module VERSION LIST, use VERSION, utime LIST, values -ASSOC_ARRAY, vec EXPR,OFFSET,BITS, wait, waitpid PID,FLAGS, wantarray, warn -LIST, write FILEHANDLE, write EXPR, write, y/// +=item How do I unescape a string? -=back +=item How do I remove consecutive pairs of characters? -=head2 perlvar - Perl predefined variables +=item How do I expand function calls in a string? -=item DESCRIPTION +=item How do I find matching/nesting anything? -=over +=item How do I reverse a string? -=item Predefined Names +=item How do I expand tabs in a string? -$ARG, $_, $EIE, $MATCH, $&, $PREMATCH, $`, $POSTMATCH, $', -$LAST_PAREN_MATCH, $+, $MULTILINE_MATCHING, $*, input_line_number HANDLE -EXPR, $INPUT_LINE_NUMBER, $NR, $, input_record_separator HANDLE EXPR, -$INPUT_RECORD_SEPARATOR, $RS, $/, autoflush HANDLE EXPR, $OUTPUT_AUTOFLUSH, -$|, output_field_separator HANDLE EXPR, $OUTPUT_FIELD_SEPARATOR, $OFS, $,, -output_record_separator HANDLE EXPR, $OUTPUT_RECORD_SEPARATOR, $ORS, $\, -$LIST_SEPARATOR, $", $SUBSCRIPT_SEPARATOR, $SUBSEP, $;, $OFMT, $#, -format_page_number HANDLE EXPR, $FORMAT_PAGE_NUMBER, $%, -format_lines_per_page HANDLE EXPR, $FORMAT_LINES_PER_PAGE, $=, -format_lines_left HANDLE EXPR, $FORMAT_LINES_LEFT, $-, format_name HANDLE -EXPR, $FORMAT_NAME, $~, format_top_name HANDLE EXPR, $FORMAT_TOP_NAME, $^, -format_line_break_characters HANDLE EXPR, $FORMAT_LINE_BREAK_CHARACTERS, -$:, format_formfeed HANDLE EXPR, $FORMAT_FORMFEED, $^L, $ACCUMULATOR, $^A, -$CHILD_ERROR, $?, $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, $[, $PERL_VERSION, $], -$DEBUGGING, $^D, $SYSTEM_FD_MAX, $^F, $^H, $INPLACE_EDIT, $^I, $OSNAME, -$^O, $PERLDB, $^P, $BASETIME, $^T, $WARNING, $^W, $EXECUTABLE_NAME, $^X, -$ARGV, @ARGV, @INC, %INC, $ENV{expr}, $SIG{expr} +=item How do I reformat a paragraph? -=back +=item How can I access/change the first N letters of a string? -=head2 perlsub - Perl subroutines +=item How do I change the Nth occurrence of something? -=item SYNOPSIS +=item How can I count the number of occurrences of a substring within a +string? -=item DESCRIPTION +=item How do I capitalize all the words on one line? -=over +=item How can I split a [character] delimited string except when inside +[character]? (Comma-separated files) -=item Private Variables via my() +=item How do I strip blank space from the beginning/end of a string? -=item Temporary Values via local() +=item How do I extract selected columns from a string? -=item Passing Symbol Table Entries (typeglobs) +=item How do I find the soundex value of a string? -=item Pass by Reference +=item How can I expand variables in text strings? -=item Prototypes +=item What's wrong with always quoting "$vars"? -=item Overriding Builtin Functions +=item Why don't my < (C, C, C, C and C):, -B (with C<\l>, C<\L>, C<\u> or <\U>), -B (C):, B (C):, -B (sprintf()):, B (printf() and write()):, B (lc(), -lcfirst(), uc(), ucfirst()):, B -(localeconv(), strcoll(),strftime(), strxfrm()):, B (isalnum(), isalpha(), isdigit(),isgraph(), islower(), isprint(), -ispunct(), isspace(), isupper(), -isxdigit()): +=item How come when I open the file read-write it wipes it out? -=item ENVIRONMENT +=item Why do I sometimes get an "Argument list too long" when I use <*>? -PERL_BADLANG, LC_ALL, LC_CTYPE, LC_COLLATE, LC_MONETARY, LC_NUMERIC, -LC_TIME, LANG +=item Is there a leak/bug in glob()? -=item NOTES +=item How can I open a file with a leading "E" or trailing blanks? -=over +=item How can I reliably rename a file? -=item Backward compatibility +=item How can I lock a file? -=item I18N:Collate obsolete +=item What can't I just open(FH, ">file.lock")? -=item Sort speed and memory use impacts +=item I still don't get locking. I just want to increment the number in +the file. How can I do this? -=item write() and LC_NUMERIC +=item How do I randomly update a binary file? -=item Freely available locale definitions +=item How do I get a file's timestamp in perl? -=item I18n and l10n +=item How do I set a file's timestamp in perl? -=item An imperfect standard +=item How do I print to more than one file at once? -=back +=item How can I read in a file by paragraphs? -=item BUGS +=item How can I read a single character from a file? From the keyboard? -=over +=item How can I tell if there's a character waiting on a filehandle? -=item Broken systems +=item How do I open a file without blocking? -=back +=item How do I create a file only if it doesn't exist? -=item SEE ALSO +=item How do I do a C in perl? -=item HISTORY +=item How do I dup() a filehandle in Perl? -=head2 perlref - Perl references and nested data structures +=item How do I close a file descriptor by number? -=item DESCRIPTION +=item Why can't I use "C:\temp\foo" in DOS paths? What doesn't +`C:\temp\foo.exe` work? -=over +=item Why doesn't glob("*.*") get all the files? -=item Symbolic references +=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 Not-so-symbolic references +=item How do I select a random line from a file? =back -=item WARNING - -=item SEE ALSO +=item AUTHOR AND COPYRIGHT -=head2 perldsc - Perl Data Structures Cookbook +=head2 perlfaq6 - Regexps ($Revision: 1.17 $, $Date: 1997/04/24 22:44:10 $) =item DESCRIPTION -arrays of arrays, hashes of arrays, arrays of hashes, hashes of hashes, -more elaborate constructs +=over -=item REFERENCES +=item How can I hope to use regular expressions without creating illegible +and unmaintainable code? -=item COMMON MISTAKES +Comments Outside the Regexp, Comments Inside the Regexp, Different +Delimiters -=item CAVEAT ON PRECEDENCE +=item I'm having trouble matching over more than one line. What's wrong? -=item WHY YOU SHOULD ALWAYS C +=item How can I pull out lines between two patterns that are themselves on +different lines? -=item DEBUGGING +=item I put a regular expression into $/ but it didn't work. What's wrong? -=item CODE EXAMPLES +=item How do I substitute case insensitively on the LHS, but preserving +case on the RHS? -=item LISTS OF LISTS +=item How can I make C<\w> match accented characters? -=over +=item How can I match a locale-smart version of C? -=item Declaration of a LIST OF LISTS +=item How can I quote a variable to use in a regexp? -=item Generation of a LIST OF LISTS +=item What is C really for? -=item Access and Printing of a LIST OF LISTS +=item How do I use a regular expression to strip C style comments from a +file? -=back +=item Can I use Perl regular expressions to match balanced text? -=item HASHES OF LISTS +=item What does it mean that regexps are greedy? How can I get around it? -=over +=item How do I process each word on each line? -=item Declaration of a HASH OF LISTS +=item How can I print out a word-frequency or line-frequency summary? -=item Generation of a HASH OF LISTS +=item How can I do approximate matching? -=item Access and Printing of a HASH OF LISTS +=item How do I efficiently match many regular expressions at once? -=back +=item Why don't word-boundary searches with C<\b> work for me? -=item LISTS OF HASHES +=item Why does using $&, $`, or $' slow my program down? -=over +=item What good is C<\G> in a regular expression? -=item Declaration of a LIST OF HASHES +=item Are Perl regexps DFAs or NFAs? Are they POSIX compliant? -=item Generation of a LIST OF HASHES +=item What's wrong with using grep or map in a void context? -=item Access and Printing of a LIST OF HASHES +=item How can I match strings with multibyte characters? =back -=item HASHES OF HASHES +=item AUTHOR AND COPYRIGHT -=over +=head2 perlfaq7 - Perl Language Issues ($Revision: 1.18 $, $Date: +1997/04/24 22:44:14 $) -=item Declaration of a HASH OF HASHES +=item DESCRIPTION -=item Generation of a HASH OF HASHES +=over -=item Access and Printing of a HASH OF HASHES +=item Can I get a BNF/yacc/RE for the Perl language? -=back +=item What are all these $@%* punctuation signs, and how do I know when to +use them? -=item MORE ELABORATE RECORDS +=item Do I always/never have to quote my strings or use semicolons and +commas? -=over +=item How do I skip some return values? -=item Declaration of MORE ELABORATE RECORDS +=item How do I temporarily block warnings? -=item Declaration of a HASH OF COMPLEX RECORDS +=item What's an extension? -=item Generation of a HASH OF COMPLEX RECORDS +=item Why do Perl operators have different precedence than C operators? -=back +=item How do I declare/create a structure? -=item Database Ties +=item How do I create a module? -=item SEE ALSO +=item How do I create a class? -=item AUTHOR +=item How can I tell if a variable is tainted? -=head2 perllol, perlLoL - Manipulating Lists of Lists in Perl +=item What's a closure? -=item DESCRIPTION +=item What is variable suicide and how can I prevent it? -=item Declaration and Access of Lists of Lists +=item How can I pass/return a {Function, FileHandle, Array, Hash, Method, +Regexp}? -=item Growing Your Own +Passing Variables and Functions, Passing Filehandles, Passing Regexps, +Passing Methods -=item Access and Printing +=item How do I create a static variable? -=item Slices +=item What's the difference between dynamic and lexical (static) scoping? +Between local() and my()? -=item SEE ALSO +=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? -=head2 perltoot - Tom's object-oriented tutorial for perl +=item Why doesn't "local($foo) = ;" work right? -=item DESCRIPTION +=item How do I redefine a builtin function, operator, or method? -=item Creating a Class +=item What's the difference between calling a function as &foo and foo()? -=over +=item How do I create a switch or case statement? -=item Object Representation +=item How can I catch accesses to undefined variables/functions/methods? -=item Class Interface +=item Why can't a method included in this same file be found? -=item Constructors and Instance Methods +=item How can I find out my current package? -=item Planning for the Future: Better Constructors +=item How can I comment out a large block of perl code? -=item Destructors +=back -=item Other Object Methods +=item AUTHOR AND COPYRIGHT -=back +=head2 perlfaq8 - System Interaction ($Revision: 1.21 $, $Date: 1997/04/24 +22:44:19 $) -=item Class Data +=item DESCRIPTION =over -=item Accessing Class Data +=item How do I find out which operating system I'm running under? -=item Debugging Methods +=item How come exec() doesn't return? -=item Class Destructors +=item How do I do fancy stuff with the keyboard/screen/mouse? -=item Documenting the Interface +Keyboard, Screen, Mouse -=back +=item How do I ask the user for a password? -=item Aggregation +=item How do I read and write the serial port? -=item Inheritance +lockfiles, open mode, end of line, flushing output, non-blocking input -=over +=item How do I decode encrypted password files? -=item Overridden Methods +=item How do I start a process in the background? -=item Multiple Inheritance +STDIN, STDOUT and STDERR are shared, Signals, Zombies -=item UNIVERSAL: The Root of All Objects +=item How do I trap control characters/signals? -=back +=item How do I modify the shadow password file on a Unix system? -=item Alternate Object Representations +=item How do I set the time and date? -=over +=item How can I sleep() or alarm() for under a second? -=item Arrays as Objects +=item How can I measure time under a second? -=item Closures as Objects +=item How can I do an atexit() or setjmp()/longjmp()? (Exception handling) -=back +=item Why doesn't my sockets program work under System V (Solaris)? What +does the error message "Protocol not supported" mean? -=item AUTOLOAD: Proxy Methods +=item How can I call my system's unique C functions from Perl? -=over +=item Where do I get the include files to do ioctl() or syscall()? -=item Autoloaded Data Methods +=item Why do setuid perl scripts complain about kernel problems? -=item Inherited Autoloaded Data Methods +=item How can I open a pipe both to and from a command? -=back +=item Why can't I get the output of a command with system()? -=item Metaclassical Tools +=item How can I capture STDERR from an external command? -=over +=item Why doesn't open() return an error when a pipe open fails? -=item Class::Template +=item What's wrong with using backticks in a void context? -=item Data Members as Variables +=item How can I call backticks without shell processing? -=item NOTES +=item Why can't my script read from STDIN after I gave it EOF (^D on Unix, +^Z on MS-DOS)? -=item Object Terminology +=item How can I convert my shell script to perl? -=back +=item Can I use perl to run a telnet or ftp session? -=item SEE ALSO +=item How can I write expect in Perl? -=item COPYRIGHT +=item Is there a way to hide perl's command line from programs such as +"ps"? -=over +=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 Acknowledgments +Unix, VMS -=back +=item How do I close a process's filehandle without waiting for it to +complete? -=head2 perlobj - Perl objects +=item How do I fork a daemon process? -=item DESCRIPTION +=item How do I make my program run with sh and csh? -=over +=item How do I find out if I'm running interactively or not? -=item An Object is Simply a Reference +=item How do I timeout a slow event? -=item A Class is Simply a Package +=item How do I set CPU limits? -=item A Method is Simply a Subroutine +=item How do I avoid zombies on a Unix system? -=item Method Invocation +=item How do I use an SQL database? -=item Default UNIVERSAL methods +=item How do I make a system() exit on control-C? -isa(CLASS), can(METHOD), VERSION( [NEED] ), class(), is_instance() +=item How do I open a file without blocking? -=item Destructors +=item How do I install a CPAN module? -=item WARNING +=item How do I keep my own module/library directory? -=item Summary +=item How do I add the directory my program lives in to the module/library +search path? -=item Two-Phased Garbage Collection +=item How do I add a directory to my include path at runtime? =back -=item SEE ALSO +=item How do I get one key from the terminal at a time, under POSIX? -=head2 perltie - how to hide an object class in a simple variable +=item AUTHOR AND COPYRIGHT -=item SYNOPSIS +=head2 perlfaq9 - Networking ($Revision: 1.17 $, $Date: 1997/04/24 22:44:29 +$) =item DESCRIPTION =over -=item Tying Scalars - -TIESCALAR classname, LIST, FETCH this, STORE this, value, DESTROY this - -=item Tying Arrays +=item My CGI script runs from the command line but not the browser. Can +you help me fix it? -TIEARRAY classname, LIST, FETCH this, index, STORE this, index, value, -DESTROY this +=item How do I remove HTML from a string? -=item Tying Hashes +=item How do I extract URLs? -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, DESTROY this +=item How do I download a file from the user's machine? How do I open a +file on another machine? -=item Tying FileHandles +=item How do I make a pop-up menu in HTML? -TIEHANDLE classname, LIST, PRINT this, LIST, READLINE this, DESTROY this +=item How do I fetch an HTML file? -=back +=item how do I decode or create those %-encodings on the web? -=item SEE ALSO +=item How do I redirect to another page? -=item BUGS +=item How do I put a password on my web pages? -=item AUTHOR +=item How do I edit my .htpasswd and .htgroup files with Perl? -=head2 perlbot - Bag'o Object Tricks (the BOT) +=item How do I make sure users can't enter values into a form that cause my +CGI script to do bad things? -=item DESCRIPTION +=item How do I parse an email header? -=item OO SCALING TIPS +=item How do I decode a CGI form? -=item INSTANCE VARIABLES +=item How do I check a valid email address? -=item SCALAR INSTANCE VARIABLES +=item How do I decode a MIME/BASE64 string? -=item INSTANCE VARIABLE INHERITANCE +=item How do I return the user's email address? -=item OBJECT RELATIONSHIPS +=item How do I send/read mail? -=item OVERRIDING SUPERCLASS METHODS +=item How do I find out my hostname/domainname/IP address? -=item USING RELATIONSHIP WITH SDBM +=item How do I fetch a news article or the active newsgroups? -=item THINKING OF CODE REUSE +=item How do I fetch/put an FTP file? -=item CLASS CONTEXT AND THE OBJECT +=item How can I do RPC in Perl? -=item INHERITING A CONSTRUCTOR +=back -=item DELEGATION +=item AUTHOR AND COPYRIGHT -=head2 perlipc - Perl interprocess communication (signals, fifos, pipes, -safe subprocesses, sockets, and semaphores) +=head2 perldelta - what's new for perl5.004 =item DESCRIPTION -=item Signals - -=item Named Pipes +=item Supported Environments -=item Using open() for IPC +=item Core Changes =over -=item Safe Pipe Opens +=item List assignment to %ENV works -=item Bidirectional Communication +=item "Can't locate Foo.pm in @INC" error now lists @INC -=back +=item Compilation option: Binary compatibility with 5.003 -=item Sockets: Client/Server Communication +=item $PERL5OPT environment variable -=over +=item Limitations on B<-M>, B<-m>, and B<-T> options -=item Internet TCP Clients and Servers +=item More precise warnings -=item Unix-Domain TCP Clients and Servers +=item Deprecated: Inherited C for non-methods -=item UDP: Message Passing +=item Previously deprecated %OVERLOAD is no longer usable -=back +=item Subroutine arguments created only when they're modified -=item SysV IPC +=item Group vector changeable with C<$)> -=item WARNING +=item Fixed parsing of $$, &$, etc. -=item NOTES +=item No resetting of $. on implicit close -=item BUGS +=item C may return undef -=item AUTHOR +=item Changes to tainting checks -=item SEE ALSO +No glob() or <*>, No spawning if tainted $CDPATH, $ENV, $BASH_ENV, No +spawning if tainted $TERM doesn't look like a terminal name -=head2 perldebug - Perl debugging +=item New Opcode module and revised Safe module -=item DESCRIPTION +=item Embedding improvements -=item The Perl Debugger +=item Internal change: FileHandle class based on IO::* classes -=over +=item Internal change: PerlIO abstraction interface -=item Debugger Commands +=item New and changed syntax -h [command], p expr, x expr, V [pkg [vars]], X [vars], T, s [expr], n, -ECRE, c [line|sub], l, l min+incr, l min-max, l line, l subname, -, -w [line], f filename, /pattern/, ?pattern?, L, S [[!]pattern], t, t expr, b -[line] [condition], b subname [condition], b postpone subname [condition], -b load filename, d [line], D, a [line] command, A, O [opt[=val]] [opt"val"] -[opt?].., recallCommand, ShellBang, pager, tkRunning, signalLevel, -warnLevel, dieLevel, AutoTrace, LineInfo, C, C, -C, arrayDepth, hashDepth, compactDump, veryCompact, globPrint, -DumpDBFiles, DumpPackages, quote, HighBit, undefPrint, C, noTTY, -C, C, C, E [ command ], EE command, -E command, EE command, { [ command ], {{ command, ! number, ! --number, ! pattern, !! cmd, H -number, q or ^D, R, |dbcmd, ||dbcmd, = -[alias value], command, p expr +$coderef->(PARAMS) -=item Debugger Customization +=item New and changed builtin constants -=item Readline Support +__PACKAGE__ -=item Editor Support for Debugging +=item New and changed builtin variables -=item The Perl Profiler +$^E, $^H, $^M -=item Debugger support in perl +=item New and changed builtin functions -=item Debugger Internals +delete on slices, flock, printf and sprintf, keys as an lvalue, my() in +Control Structures, pack() and unpack(), sysseek(), use VERSION, use Module +VERSION LIST, prototype(FUNCTION), srand, $_ as Default, C does not +reset search position on failure, C ignores whitespace before ?*+{}, +nested C closures work now, formats work right on changing lexicals -=item Other resources +=item New builtin methods -=back +isa(CLASS), can(METHOD), VERSION( [NEED] ) -=item BUGS +=item TIEHANDLE now supported -=head2 perldiag - various Perl diagnostics +TIEHANDLE classname, LIST, PRINT this, LIST, PRINTF this, LIST, READ this +LIST, READLINE this, GETC this, DESTROY this -=item DESCRIPTION +=item Malloc enhancements -=head2 perlsec - Perl security +-DDEBUGGING_MSTATS, -DEMERGENCY_SBRK, -DPACK_MALLOC, -DTWO_POT_OPTIMIZE -=item DESCRIPTION +=item Miscellaneous efficiency enhancements -=over +=back -=item Laundering and Detecting Tainted Data +=item Support for More Operating Systems -=item Cleaning Up Your Path +=over -=item Security Bugs +=item Win32 + +=item Plan 9 + +=item QNX + +=item AmigaOS =back -=head2 perltrap - Perl traps for the unwary +=item Pragmata -=item DESCRIPTION +use autouse MODULE => qw(sub1 sub2 sub3), use blib, use blib 'dir', use +constant NAME => VALUE, use locale, use ops, use vmsish + +=item Modules =over -=item Awk Traps +=item Required Updates -=item C Traps +=item Installation directories -=item Sed Traps +=item Module information summary -=item Shell Traps +=item Fcntl -=item Perl Traps +=item IO -=item Perl4 to Perl5 Traps +=item Math::Complex -Discontinuance, Deprecation, and BugFix traps, Parsing Traps, Numerical -Traps, General data type traps, Context Traps - scalar, list contexts, -Precedence Traps, General Regular Expression Traps using s///, etc, -Subroutine, Signal, Sorting Traps, OS Traps, DBM Traps, Unclassified Traps +=item Math::Trig -=item Discontinuance, Deprecation, and BugFix traps +=item DB_File -Discontinuance, Deprecation, BugFix, Discontinuance, Discontinuance, -Discontinuance, BugFix, Discontinuance, Discontinuance, BugFix, -Discontinuance, Deprecation, Discontinuance +=item Net::Ping -=item Parsing Traps +=item Object-oriented overrides for builtin operators -Parsing, Parsing, Parsing +=back -=item Numerical Traps +=item Utility Changes -Numerical, Numerical, Numerical +=over -=item General data type traps +=item pod2html -(Arrays), (Arrays), (Hashes), (Globs), (Scalar String), (Constants), -(Scalars), (Variable Suicide) +Sends converted HTML to standard output -=item Context Traps - scalar, list contexts +=item xsubpp -(list context), (scalar context), (scalar context), (list, builtin) +C XSUBs now default to returning nothing -=item Precedence Traps +=back -Precedence, Precedence, Precedence, Precedence, Precedence, Precedence, -Precedence +=item C Language API Changes -=item General Regular Expression Traps using s///, etc. +C and C, C, Extended API for +manipulating hashes -Regular Expression, Regular Expression, Regular Expression, Regular -Expression, Regular Expression, Regular Expression, Regular Expression +=item Documentation Changes -=item Subroutine, Signal, Sorting Traps +L, L, L, L, L, +L, L, L -(Signals), (Sort Subroutine), warn() won't let you specify a filehandle +=item New Diagnostics -=item OS Traps +"my" variable %s masks earlier declaration in same scope, %s argument is +not a HASH element or slice, Allocation too large: %lx, Allocation too +large, Applying %s to %s will act on scalar(%s), Attempt to free +nonexistent shared string, Attempt to use reference as lvalue in substr, +Can't redefine active sort subroutine %s, Can't use bareword ("%s") as %s +ref while "strict refs" in use, Cannot resolve method `%s' overloading `%s' +in package `%s', Constant subroutine %s redefined, Constant subroutine %s +undefined, Copy method did not return a reference, Died, Exiting +pseudo-block via %s, Identifier too long, Illegal character %s (carriage +return), Illegal switch in PERL5OPT: %s, Integer overflow in hex number, +Integer overflow in octal number, internal error: glob failed, Invalid +conversion in %s: "%s", Invalid type in pack: '%s', Invalid type in unpack: +'%s', Name "%s::%s" used only once: possible typo, Null picture in +formline, Offset outside string, Out of memory!, Out of memory during +request for %s, panic: frexp, Possible attempt to put comments in qw() +list, Possible attempt to separate words with commas, Scalar value @%s{%s} +better written as $%s{%s}, Stub found while resolving method `%s' +overloading `%s' in package `%s', Too late for "B<-T>" option, untie +attempted while %d inner references still exist, Unrecognized character %s, +Unsupported function fork, Use of "$$" to mean "${$}" is +deprecated, Value of %s can be "0"; test with defined(), Variable "%s" may +be unavailable, Variable "%s" will not stay shared, Warning: something's +wrong, Ill-formed logical name |%s| in prime_env_iter, Got an error from +DosAllocMem, Malformed PERLLIB_PREFIX, PERL_SH_DIR too long, Process +terminated by SIG%s -(SysV), (SysV) +=item BUGS -=item Interpolation Traps +=item SEE ALSO -Interpolation, Interpolation, Interpolation, Interpolation, Interpolation, -Interpolation, Interpolation, Interpolation, Interpolation +=item HISTORY -=item DBM Traps +=head2 perldata - Perl data types -DBM, DBM +=item DESCRIPTION -=item Unclassified Traps +=over -Unclassified +=item Variable names + +=item Context + +=item Scalar values + +=item Scalar value constructors + +=item List value constructors + +=item Typeglobs and Filehandles =back -=head2 perlstyle - Perl style guide +=head2 perlsyn - Perl syntax =item DESCRIPTION -=head2 perlpod - plain old documentation +=over -=item DESCRIPTION +=item Declarations -=item Embedding Pods in Perl Modules +=item Simple statements -=item Common Pod Pitfalls +=item Compound statements -=item SEE ALSO +=item Loop Control -=item AUTHOR +=item For Loops -=head2 perlbook - Perl book information +=item Foreach Loops -=item DESCRIPTION +=item Basic BLOCKs and Switch Statements -=head2 perlembed - how to embed perl in your C program +=item Goto + +=item PODs: Embedded Documentation + +=item Plain Old Comments (Not!) + +=back + +=head2 perlop - Perl operators and precedence + +=item SYNOPSIS =item DESCRIPTION =over -=item PREAMBLE +=item Terms and List Operators (Leftward) -B, B, B, B, B +=item The Arrow Operator -=item ROADMAP +=item Auto-increment and Auto-decrement -=item Compiling your C program +=item Exponentiation -=item Adding a Perl interpreter to your C program +=item Symbolic Unary Operators -=item Calling a Perl subroutine from your C program +=item Binding Operators -=item Evaluating a Perl statement from your C program +=item Multiplicative Operators -=item Performing Perl pattern matches and substitutions from your C program +=item Additive Operators -=item Fiddling with the Perl stack from your C program +=item Shift Operators -=item Maintaining a persistent interpreter +=item Named Unary Operators -=item Maintaining multiple interpreter instances +=item Relational Operators -=item Using Perl modules, which themselves use C libraries, from your C -program +=item Equality Operators + +=item Bitwise And + +=item Bitwise Or and Exclusive Or + +=item C-style Logical And + +=item C-style Logical Or + +=item Range Operator + +=item Conditional Operator + +=item Assignment Operators + +=item Comma Operator + +=item List Operators (Rightward) + +=item Logical Not + +=item Logical And + +=item Logical or and Exclusive Or + +=item C Operators Missing From Perl + +unary &, unary *, (TYPE) + +=item Quote and Quote-like Operators + +=item Regexp Quote-Like Operators + +?PATTERN?, m/PATTERN/gimosx, /PATTERN/gimosx, q/STRING/, C<'STRING'>, +qq/STRING/, "STRING", qx/STRING/, `STRING`, qw/STRING/, +s/PATTERN/REPLACEMENT/egimosx, tr/SEARCHLIST/REPLACEMENTLIST/cds, +y/SEARCHLIST/REPLACEMENTLIST/cds + +=item I/O Operators + +=item Constant Folding + +=item Integer Arithmetic + +=item Floating-point Arithmetic =back -=item MORAL +=head2 perlre - Perl regular expressions -=item AUTHOR +=item DESCRIPTION -=head2 perlapio - perl's IO abstraction interface. +i, m, s, x + +=over + +=item Regular Expressions + +(?#text), (?:regexp), (?=regexp), (?!regexp), (?imsx) + +=item Backtracking + +=item Version 8 Regular Expressions + +=item WARNING on \1 vs $1 + +=item SEE ALSO + +=back + +=head2 perlrun - how to execute the Perl interpreter =item SYNOPSIS =item DESCRIPTION -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 - =over -=item Co-existence with stdio +=item #! and quoting on non-Unix systems -B, B, -B, B, B, -B, B, B, -B, B, -B, B, B, -B, B +OS/2, MS-DOS, Win95/NT, Macintosh + +=item Switches + +B<-0>[I], B<-a>, 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<-u>, B<-U>, B<-v>, B<-V>, B<-V:>I, B<-w>, B<-x> I =back -=head2 perlxs - XS language reference manual +=item ENVIRONMENT + +HOME, LOGDIR, PATH, PERL5LIB, PERL5OPT, PERLLIB, PERL5DB, PERL5SHELL +(specific to WIN32 port), PERL_DEBUG_MSTATS, PERL_DESTRUCT_LEVEL + +=head2 perlfunc - Perl builtin functions =item DESCRIPTION + I + =over -=item Introduction +=item Perl Functions by Category -=item On The Road +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 The Anatomy of an XSUB +=item Alphabetical Listing of Perl Functions -=item The Argument Stack +-I FILEHANDLE, -I EXPR, -I, abs VALUE, abs, accept +NEWSOCKET,GENERICSOCKET, alarm SECONDS, alarm, atan2 Y,X, bind SOCKET,NAME, +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, closedir DIRHANDLE, connect SOCKET,NAME, continue BLOCK, +cos EXPR, crypt PLAINTEXT,SALT, dbmclose HASH, dbmopen HASH,DBNAME,MODE, +defined EXPR, defined, delete EXPR, die LIST, do BLOCK, do +SUBROUTINE(LIST), do EXPR, dump LABEL, each HASH, eof FILEHANDLE, eof (), +eof, eval EXPR, eval BLOCK, exec 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 LIST, last LABEL, last, lc EXPR, lc, lcfirst +EXPR, lcfirst, length EXPR, length, link OLDFILE,NEWFILE, listen +SOCKET,QUEUESIZE, local EXPR, localtime EXPR, log EXPR, log, lstat +FILEHANDLE, lstat EXPR, lstat, m//, map BLOCK LIST, map EXPR,LIST, mkdir +FILENAME,MODE, msgctl ID,CMD,ARG, msgget KEY,FLAGS, msgsnd ID,MSG,FLAGS, +msgrcv ID,VAR,SIZE,TYPE,FLAGS, my EXPR, next LABEL, next, no Module LIST, +oct EXPR, oct, open FILEHANDLE,EXPR, open FILEHANDLE, opendir +DIRHANDLE,EXPR, ord EXPR, ord, pack TEMPLATE,LIST, package NAMESPACE, 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/, +qx/STRING/, qw/STRING/, quotemeta EXPR, quotemeta, rand EXPR, rand, read +FILEHANDLE,SCALAR,LENGTH,OFFSET, read FILEHANDLE,SCALAR,LENGTH, readdir +DIRHANDLE, readlink EXPR, readlink, recv SOCKET,SCALAR,LEN,FLAGS, redo +LABEL, redo, ref EXPR, ref, rename OLDNAME,NEWNAME, 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, split /PATTERN/,EXPR,LIMIT, split /PATTERN/,EXPR, +split /PATTERN/, split, sprintf FORMAT, LIST, sqrt EXPR, sqrt, srand EXPR, +srand, stat FILEHANDLE, stat EXPR, stat, study SCALAR, study, sub BLOCK, +sub NAME, sub NAME BLOCK, substr EXPR,OFFSET,LEN, 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, syswrite +FILEHANDLE,SCALAR,LENGTH,OFFSET, syswrite FILEHANDLE,SCALAR,LENGTH, 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, untie VARIABLE, +unshift ARRAY,LIST, use Module LIST, use Module, use Module VERSION LIST, +use VERSION, utime LIST, values HASH, vec EXPR,OFFSET,BITS, wait, waitpid +PID,FLAGS, wantarray, warn LIST, write FILEHANDLE, write EXPR, write, y/// + +=back + +=head2 perlvar - Perl predefined variables + +=item DESCRIPTION + +=over + +=item Predefined Names + +$ARG, $_, $EIE, $MATCH, $&, $PREMATCH, $`, $POSTMATCH, $', +$LAST_PAREN_MATCH, $+, $MULTILINE_MATCHING, $*, input_line_number HANDLE +EXPR, $INPUT_LINE_NUMBER, $NR, $, input_record_separator HANDLE EXPR, +$INPUT_RECORD_SEPARATOR, $RS, $/, autoflush HANDLE EXPR, $OUTPUT_AUTOFLUSH, +$|, output_field_separator HANDLE EXPR, $OUTPUT_FIELD_SEPARATOR, $OFS, $,, +output_record_separator HANDLE EXPR, $OUTPUT_RECORD_SEPARATOR, $ORS, $\, +$LIST_SEPARATOR, $", $SUBSCRIPT_SEPARATOR, $SUBSEP, $;, $OFMT, $#, +format_page_number HANDLE EXPR, $FORMAT_PAGE_NUMBER, $%, +format_lines_per_page HANDLE EXPR, $FORMAT_LINES_PER_PAGE, $=, +format_lines_left HANDLE EXPR, $FORMAT_LINES_LEFT, $-, format_name HANDLE +EXPR, $FORMAT_NAME, $~, format_top_name HANDLE EXPR, $FORMAT_TOP_NAME, $^, +format_line_break_characters HANDLE EXPR, $FORMAT_LINE_BREAK_CHARACTERS, +$:, format_formfeed HANDLE EXPR, $FORMAT_FORMFEED, $^L, $ACCUMULATOR, $^A, +$CHILD_ERROR, $?, $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, $[, $PERL_VERSION, $], +$DEBUGGING, $^D, $SYSTEM_FD_MAX, $^F, $^H, $INPLACE_EDIT, $^I, $OSNAME, +$^O, $PERLDB, $^P, $BASETIME, $^T, $WARNING, $^W, $EXECUTABLE_NAME, $^X, +$ARGV, @ARGV, @INC, %INC, $ENV{expr}, $SIG{expr}, $^M + +=back + +=head2 perlsub - Perl subroutines + +=item SYNOPSIS + +=item DESCRIPTION + +=over + +=item Private Variables via my() + +=item Temporary Values via local() + +=item Passing Symbol Table Entries (typeglobs) + +=item Pass by Reference + +=item Prototypes + +=item Constant Functions + +=item Overriding Builtin Functions + +=item Autoloading + +=back + +=item SEE ALSO + +=head2 perlmod - Perl modules (packages and symbol tables) + +=item DESCRIPTION + +=over + +=item Packages + +=item Symbol Tables + +=item Package Constructors and Destructors + +=item Perl Classes + +=item Perl Modules + +=back + +=item SEE ALSO + +=head2 perlmodlib - constructing new Perl modules and finding existing ones + +=item DESCRIPTION + +=item THE PERL MODULE LIBRARY + +=over + +=item Pragmatic Modules + +use autouse MODULE => qw(sub1 sub2 sub3), blib, diagnostics, integer, less, +lib, locale, ops, overload, sigtrap, strict, subs, vmsish, vars + +=item Standard Modules + +AnyDBM_File, AutoLoader, AutoSplit, Benchmark, CPAN, CPAN::FirstTime, +CPAN::Nox, Carp, Class::Struct, Config, Cwd, DB_File, Devel::SelfStubber, +DirHandle, DynaLoader, English, Env, Exporter, ExtUtils::Embed, +ExtUtils::Install, ExtUtils::Liblist, ExtUtils::MM_OS2, ExtUtils::MM_Unix, +ExtUtils::MM_VMS, ExtUtils::MakeMaker, ExtUtils::Manifest, +ExtUtils::Mkbootstrap, ExtUtils::Mksymlists, ExtUtils::testlib, Fcntl, +File::Basename, File::CheckTree, File::Compare, File::Copy, File::Find, +File::Path, File::stat, FileCache, FileHandle, FindBin, GDBM_File, +Getopt::Long, Getopt::Std, I18N::Collate, IO, IO::File, IO::Handle, +IO::Pipe, IO::Seekable, IO::Select, IO::Socket, IPC::Open2, IPC::Open3, +Math::BigFloat, Math::BigInt, Math::Complex, Math::Trig, NDBM_File, +Net::Ping, Net::hostent, Net::netent, Net::protoent, Net::servent, Opcode, +Pod::Text, POSIX, SDBM_File, Safe, Search::Dict, SelectSaver, SelfLoader, +Shell, Socket, Symbol, Sys::Hostname, Sys::Syslog, Term::Cap, +Term::Complete, Term::ReadLine, Test::Harness, Text::Abbrev, +Text::ParseWords, Text::Soundex, Text::Tabs, Text::Wrap, Tie::Hash, +Tie::RefHash, Tie::Scalar, Tie::SubstrHash, Time::Local, Time::gmtime, +Time::localtime, Time::tm, UNIVERSAL, User::grent, User::pwent + +=item Extension Modules + +=back + +=item CPAN + +Language Extensions and Documentation Tools, Development Support, Operating +System Interfaces, Networking, Device Control (modems) and InterProcess +Communication, Data Types and Data Type Utilities, Database Interfaces, +User Interfaces, Interfaces to / Emulations of Other Programming Languages, +File Names, File Systems and File Locking (see also File Handles), String +Processing, Language Text Processing, Parsing, and Searching, Option, +Argument, Parameter, and Configuration File Processing, +Internationalization and Locale, Authentication, Security, and Encryption, +World Wide Web, HTML, HTTP, CGI, MIME, Server and Daemon Utilities, +Archiving and Compression, Images, Pixmap and Bitmap Manipulation, Drawing, +and Graphing, Mail and Usenet News, Control Flow Utilities (callbacks and +exceptions etc), File Handle and Input/Output Stream Utilities, +Miscellaneous Modules, Africa, Asia, Australasia, Europe, North America, +South America + +=item Modules: Creation, Use, and Abuse + +=over + +=item Guidelines for Module Creation + +Do similar modules already exist in some form?, Try to design the new +module to be easy to extend and reuse, Some simple style guidelines, Select +what to export, Select a name for the module, Have you got it right?, +README and other Additional Files, A description of the +module/package/extension etc, A copyright notice - see below, Prerequisites +- what else you may need to have, How to build it - possible changes to +Makefile.PL etc, How to install it, Recent changes in this release, +especially incompatibilities, Changes / enhancements you plan to make in +the future, Adding a Copyright Notice, Give the module a +version/issue/release number, How to release and distribute a module, Take +care when changing a released module + +=item Guidelines for Converting Perl 4 Library Scripts into Modules + +There is no requirement to convert anything, Consider the implications, +Make the most of the opportunity, The pl2pm utility will get you started, +Adds the standard Module prologue lines, Converts package specifiers from ' +to ::, Converts die(...) to croak(...), Several other minor changes + +=item Guidelines for Reusing Application Code + +Complete applications rarely belong in the Perl Module Library, Many +applications contain some perl code which could be reused, Break-out the +reusable code into one or more separate module files, Take the opportunity +to reconsider and redesign the interfaces, In some cases the 'application' +can then be reduced to a small + +=back + +=item NOTE + +=head2 perlform - Perl formats + +=item DESCRIPTION + +=over + +=item Format Variables + +=back + +=item NOTES + +=over + +=item Footers + +=item Accessing Formatting Internals + +=back + +=item WARNINGS + +=head2 perllocale - Perl locale handling (internationalization and +localization) + +=item DESCRIPTION + +=item PREPARING TO USE LOCALES + +=item USING LOCALES + +=over + +=item The use locale pragma + +=item The setlocale function + +=item The localeconv function + +=back + +=item LOCALE CATEGORIES + +=over + +=item Category LC_COLLATE: Collation + +=item Category LC_CTYPE: Character Types + +=item Category LC_NUMERIC: Numeric Formatting + +=item Category LC_MONETARY: Formatting of monetary amounts + +=item LC_TIME + +=item Other categories + +=back + +=item SECURITY + +B (C, C, C, C and C):, +B (with C<\l>, C<\L>, C<\u> or <\U>), +B (C):, B (C):, +B (sprintf()):, B (printf() and write()):, B (lc(), +lcfirst(), uc(), ucfirst()):, B +(localeconv(), strcoll(),strftime(), strxfrm()):, B (isalnum(), isalpha(), isdigit(),isgraph(), islower(), isprint(), +ispunct(), isspace(), isupper(), +isxdigit()): + +=item ENVIRONMENT + +PERL_BADLANG, LC_ALL, LC_CTYPE, LC_COLLATE, LC_MONETARY, LC_NUMERIC, +LC_TIME, LANG + +=item NOTES + +=over + +=item Backward compatibility + +=item I18N:Collate obsolete + +=item Sort speed and memory use impacts + +=item write() and LC_NUMERIC + +=item Freely available locale definitions + +=item I18n and l10n + +=item An imperfect standard + +=back + +=item BUGS + +=over + +=item Broken systems + +=back + +=item SEE ALSO + +=item HISTORY + +=head2 perlref - Perl references and nested data structures + +=item DESCRIPTION + +=over + +=item Symbolic references + +=item Not-so-symbolic references + +=back + +=item WARNING + +=item SEE ALSO + +=head2 perldsc - Perl Data Structures Cookbook + +=item DESCRIPTION + +arrays of arrays, hashes of arrays, arrays of hashes, hashes of hashes, +more elaborate constructs + +=item REFERENCES + +=item COMMON MISTAKES + +=item CAVEAT ON PRECEDENCE + +=item WHY YOU SHOULD ALWAYS C + +=item DEBUGGING + +=item CODE EXAMPLES + +=item LISTS OF LISTS + +=over + +=item Declaration of a LIST OF LISTS + +=item Generation of a LIST OF LISTS + +=item Access and Printing of a LIST OF LISTS + +=back + +=item HASHES OF LISTS + +=over + +=item Declaration of a HASH OF LISTS + +=item Generation of a HASH OF LISTS + +=item Access and Printing of a HASH OF LISTS + +=back + +=item LISTS OF HASHES + +=over + +=item Declaration of a LIST OF HASHES + +=item Generation of a LIST OF HASHES + +=item Access and Printing of a LIST OF HASHES + +=back + +=item HASHES OF HASHES + +=over + +=item Declaration of a HASH OF HASHES + +=item Generation of a HASH OF HASHES + +=item Access and Printing of a HASH OF HASHES + +=back + +=item MORE ELABORATE RECORDS + +=over + +=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 + +=head2 perllol, perlLoL - Manipulating Lists of Lists in Perl + +=item DESCRIPTION + +=item Declaration and Access of Lists of Lists + +=item Growing Your Own + +=item Access and Printing + +=item Slices + +=item SEE ALSO + +=item AUTHOR + +=head2 perltoot - Tom's object-oriented tutorial for perl + +=item DESCRIPTION + +=item Creating a Class + +=over + +=item Object Representation + +=item Class Interface + +=item Constructors and Instance Methods + +=item Planning for the Future: Better Constructors + +=item Destructors + +=item Other Object Methods + +=back + +=item Class Data + +=over + +=item Accessing Class Data + +=item Debugging Methods + +=item Class Destructors + +=item Documenting the Interface + +=back + +=item Aggregation + +=item Inheritance + +=over + +=item Overridden Methods + +=item Multiple Inheritance + +=item UNIVERSAL: The Root of All Objects + +=back + +=item Alternate Object Representations + +=over + +=item Arrays as Objects + +=item Closures as Objects + +=back + +=item AUTOLOAD: Proxy Methods + +=over + +=item Autoloaded Data Methods + +=item Inherited Autoloaded Data Methods + +=back + +=item Metaclassical Tools + +=over + +=item Class::Struct + +=item Data Members as Variables + +=item NOTES + +=item Object Terminology + +=back + +=item SEE ALSO + +=item COPYRIGHT + +=over + +=item Acknowledgments + +=back + +=head2 perlobj - Perl objects + +=item DESCRIPTION + +=over + +=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 Default UNIVERSAL methods + +isa(CLASS), can(METHOD), VERSION( [NEED] ) + +=item Destructors + +=item WARNING + +=item Summary + +=item Two-Phased Garbage Collection + +=back + +=item SEE ALSO + +=head2 perltie - how to hide an object class in a simple variable + +=item SYNOPSIS + +=item DESCRIPTION + +=over + +=item Tying Scalars + +TIESCALAR classname, LIST, FETCH this, STORE this, value, DESTROY this + +=item Tying Arrays + +TIEARRAY classname, LIST, FETCH this, index, STORE this, index, value, +DESTROY this + +=item Tying Hashes + +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, DESTROY this + +=item Tying FileHandles + +TIEHANDLE classname, LIST, PRINT this, LIST, PRINTF this, LIST, READ this +LIST, READLINE this, GETC this, DESTROY this + +=item The C Gotcha + +=back + +=item SEE ALSO + +=item BUGS + +=item AUTHOR + +=head2 perlbot - Bag'o Object Tricks (the BOT) + +=item DESCRIPTION + +=item OO SCALING TIPS + +=item INSTANCE VARIABLES + +=item SCALAR INSTANCE VARIABLES + +=item INSTANCE VARIABLE INHERITANCE + +=item OBJECT RELATIONSHIPS + +=item OVERRIDING SUPERCLASS METHODS + +=item USING RELATIONSHIP WITH SDBM + +=item THINKING OF CODE REUSE + +=item CLASS CONTEXT AND THE OBJECT + +=item INHERITING A CONSTRUCTOR + +=item DELEGATION + +=head2 perlipc - Perl interprocess communication (signals, fifos, pipes, +safe subprocesses, sockets, and semaphores) + +=item DESCRIPTION + +=item Signals + +=item Named Pipes + +=item Using open() for IPC + +=over + +=item Filehandles + +=item Background Processes + +=item Complete Dissociation of Child from Parent + +=item Safe Pipe Opens + +=item Bidirectional Communication with Another Process + +=back + +=item Sockets: Client/Server Communication + +=over + +=item Internet TCP Clients and Servers + +=item Unix-Domain TCP Clients and Servers + +=back + +=item TCP Clients with IO::Socket + +=over + +=item A Simple Client + +C, C, C + +=item A Webget Client + +=item Interactive Client with IO::Socket + +=back + +=item TCP Servers with IO::Socket + +Proto, LocalPort, Listen, Reuse + +=item UDP: Message Passing + +=item SysV IPC + +=item NOTES + +=item BUGS + +=item AUTHOR + +=item SEE ALSO + +=head2 perldebug - Perl debugging + +=item DESCRIPTION + +=item The Perl Debugger + +=over + +=item Debugger Commands + +h [command], p expr, x expr, V [pkg [vars]], X [vars], T, s [expr], n +[expr], ECRE, c [line|sub], l, l min+incr, l min-max, l line, l +subname, -, w [line], f filename, /pattern/, ?pattern?, L, S [[!]pattern], +t, t expr, b [line] [condition], b subname [condition], b postpone subname +[condition], b load filename, b compile subname, d [line], D, a [line] +command, A, O [opt[=val]] [opt"val"] [opt?].., C, +C, C, C, C, C, +C, C, C, C, C, +C, C, C, C, C, +C, C, C, C, +C, C, C, C, C, C, +C, C, C, E [ command ], EE command, +E command, EE command, { [ command ], {{ command, ! number, ! +-number, ! pattern, !! cmd, H -number, q or ^D, R, |dbcmd, ||dbcmd, = +[alias value], command, m expr, m package + +=item Debugger input/output + +Prompt, Multiline commands, Stack backtrace, Listing, Frame listing + +=item Debugging compile-time statements + +=item Debugger Customization + +=item Readline Support + +=item Editor Support for Debugging + +=item The Perl Profiler + +=item Debugger support in perl + +=item Debugger Internals + +=item Other resources + +=back + +=item BUGS + +=head2 perldiag - various Perl diagnostics + +=item DESCRIPTION + +=head2 perlsec - Perl security + +=item DESCRIPTION + +=over + +=item Laundering and Detecting Tainted Data + +=item Switches On the "#!" Line + +=item Cleaning Up Your Path + +=item Security Bugs + +=item Protecting Your Programs + +=back + +=head2 perltrap - Perl traps for the unwary + +=item DESCRIPTION + +=over + +=item Awk Traps + +=item C Traps + +=item Sed Traps + +=item Shell Traps + +=item Perl Traps + +=item Perl4 to Perl5 Traps + +Discontinuance, Deprecation, and BugFix traps, Parsing Traps, Numerical +Traps, General data type traps, Context Traps - scalar, list contexts, +Precedence Traps, General Regular Expression Traps using s///, etc, +Subroutine, Signal, Sorting Traps, OS Traps, DBM Traps, Unclassified Traps + +=item Discontinuance, Deprecation, and BugFix traps + +Discontinuance, Deprecation, BugFix, Discontinuance, Discontinuance, +Discontinuance, BugFix, Discontinuance, Discontinuance, BugFix, +Discontinuance, Discontinuance, Deprecation, Discontinuance + +=item Parsing Traps + +Parsing, Parsing, Parsing + +=item Numerical Traps + +Numerical, Numerical, Numerical + +=item General data type traps + +(Arrays), (Arrays), (Hashes), (Globs), (Scalar String), (Constants), +(Scalars), (Variable Suicide) + +=item Context Traps - scalar, list contexts + +(list context), (scalar context), (scalar context), (list, builtin) + +=item Precedence Traps + +Precedence, Precedence, Precedence, Precedence, Precedence, Precedence, +Precedence + +=item General Regular Expression Traps using s///, etc. + +Regular Expression, Regular Expression, Regular Expression, Regular +Expression, Regular Expression, Regular Expression, Regular Expression, +Regular Expression, Regular Expression + +=item Subroutine, Signal, Sorting Traps + +(Signals), (Sort Subroutine), warn() won't let you specify a filehandle + +=item OS Traps + +(SysV), (SysV) + +=item Interpolation Traps + +Interpolation, Interpolation, Interpolation, Interpolation, Interpolation, +Interpolation, Interpolation, Interpolation, Interpolation + +=item DBM Traps + +DBM, DBM + +=item Unclassified Traps + +Unclassified + +=back + +=head2 perlstyle - Perl style guide + +=item DESCRIPTION + +=head2 perlpod - plain old documentation + +=item DESCRIPTION + +=item Embedding Pods in Perl Modules + +=item Common Pod Pitfalls + +=item SEE ALSO + +=item AUTHOR + +=head2 perlbook - Perl book information + +=item DESCRIPTION + +=head2 perlembed - how to embed perl in your C program + +=item DESCRIPTION + +=over + +=item PREAMBLE + +B, B, B, B, B + +=item ROADMAP + +=item Compiling your C program + +=item Adding a Perl interpreter to your C program + +=item Calling a Perl subroutine from your C program + +=item Evaluating a Perl statement from your C program + +=item Performing Perl pattern matches and substitutions from your C program + +=item Fiddling with the Perl stack from your C program + +=item Maintaining a persistent interpreter + +=item Maintaining multiple interpreter instances + +=item Using Perl modules, which themselves use C libraries, from your C +program + +=back + +=item Embedding Perl under Win32 + +=item MORAL + +=item AUTHOR + +=item COPYRIGHT + +=head2 perlapio - perl's IO abstraction interface. + +=item SYNOPSIS + +=item DESCRIPTION + +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 + +=over + +=item Co-existence with stdio + +B, B, +B, B, B, +B, B, B, +B, B, +B, B, B, +B, B + +=back + +=head2 perlxs - XS language reference manual + +=item DESCRIPTION + +=over + +=item Introduction + +=item On The Road + +=item The Anatomy of an XSUB + +=item The Argument Stack + +=item The RETVAL Variable + +=item The MODULE Keyword + +=item The PACKAGE Keyword + +=item The PREFIX Keyword + +=item The OUTPUT: Keyword + +=item The CODE: Keyword + +=item The INIT: Keyword + +=item The NO_INIT Keyword + +=item Initializing Function Parameters + +=item Default Parameter Values + +=item The PREINIT: Keyword + +=item The SCOPE: Keyword + +=item The INPUT: Keyword + +=item Variable-length Parameter Lists + +=item The PPCODE: Keyword + +=item Returning Undef And Empty Lists + +=item The REQUIRE: Keyword + +=item The CLEANUP: Keyword + +=item The BOOT: Keyword + +=item The VERSIONCHECK: Keyword + +=item The PROTOTYPES: Keyword + +=item The PROTOTYPE: Keyword + +=item The ALIAS: Keyword + +=item The INCLUDE: Keyword + +=item The CASE: Keyword + +=item The & Unary Operator + +=item Inserting Comments and C Preprocessor Directives + +=item Using XS With C++ + +=item Interface Strategy + +=item Perl Objects And C Structures + +=item The Typemap + +=back + +=item EXAMPLES + +=item XS VERSION + +=item AUTHOR + +=head2 perlxstut, perlXStut - Tutorial for XSUBs + +=item DESCRIPTION + +=over + +=item VERSION CAVEAT + +=item DYNAMIC VERSUS STATIC + +=item EXAMPLE 1 + +=item EXAMPLE 2 + +=item WHAT HAS GONE ON? + +=item WRITING GOOD TEST SCRIPTS + +=item EXAMPLE 3 + +=item WHAT'S NEW HERE? + +=item INPUT AND OUTPUT PARAMETERS + +=item THE XSUBPP COMPILER + +=item THE TYPEMAP FILE + +=item WARNING + +=item EXAMPLE 4 + +=item WHAT HAS HAPPENED HERE? + +=item SPECIFYING ARGUMENTS TO XSUBPP + +=item THE ARGUMENT STACK + +=item EXTENDING YOUR EXTENSION + +=item DOCUMENTING YOUR EXTENSION + +=item INSTALLING YOUR EXTENSION + +=item SEE ALSO + +=item Author + +=item Last Changed + +=back + +=head2 perlguts - Perl's Internal Functions + +=item DESCRIPTION + +=item Variables + +=over + +=item Datatypes + +=item What is an "IV"? + +=item Working with SVs + +=item What's Really Stored in an SV? + +=item Working with AVs + +=item Working with HVs + +=item Hash API Extensions + +=item References + +=item Blessed References and Class Objects + +=item Creating New Variables + +=item Reference Counts and Mortality + +=item Stashes and Globs + +=item Double-Typed SVs + +=item Magic Variables + +=item Assigning Magic + +=item Magic Virtual Tables + +=item Finding Magic + +=item Understanding the Magic of Tied Hashes and Arrays + +=back + +=item Subroutines + +=over + +=item XSUBs and the Argument Stack + +=item Calling Perl Routines from within C Programs + +=item Memory Allocation + +=item PerlIO + +=item Putting a C value on Perl stack + +=item Scratchpads + +=item Scratchpads and recursion + +=back + +=item Compiled code + +=over + +=item Code tree + +=item Examining the tree + +=item Compile pass 1: check routines + +=item Compile pass 1a: constant folding + +=item Compile pass 2: context propagation + +=item Compile pass 3: peephole optimization + +=back + +=item API LISTING + +AvFILL, av_clear, av_extend, av_fetch, av_len, av_make, av_pop, av_push, +av_shift, av_store, av_undef, av_unshift, CLASS, Copy, croak, CvSTASH, +DBsingle, DBsub, DBtrace, dMARK, dORIGMARK, dowarn, dSP, dXSARGS, dXSI32, +dXSI32, ENTER, EXTEND, FREETMPS, G_ARRAY, G_DISCARD, G_EVAL, GIMME, +GIMME_V, G_NOARGS, G_SCALAR, G_VOID, gv_fetchmeth, gv_fetchmethod, +gv_fetchmethod_autoload, gv_stashpv, gv_stashsv, GvSV, HEf_SVKEY, HeHASH, +HeKEY, HeKLEN, HePV, HeSVKEY, HeSVKEY_force, HeSVKEY_set, HeVAL, hv_clear, +hv_delayfree_ent, hv_delete, hv_delete_ent, hv_exists, hv_exists_ent, +hv_fetch, hv_fetch_ent, hv_free_ent, hv_iterinit, hv_iterkey, hv_iterkeysv, +hv_iternext, hv_iternextsv, hv_iterval, hv_magic, HvNAME, hv_store, +hv_store_ent, hv_undef, isALNUM, isALPHA, isDIGIT, isLOWER, isSPACE, +isUPPER, items, ix, LEAVE, MARK, mg_clear, mg_copy, mg_find, mg_free, +mg_get, mg_len, mg_magical, mg_set, Move, na, New, Newc, Newz, newAV, +newHV, newRV_inc, newRV_noinc, newSV, newSViv, newSVnv, newSVpv, newSVrv, +newSVsv, newXS, newXSproto, Nullav, Nullch, Nullcv, Nullhv, Nullsv, +ORIGMARK, perl_alloc, perl_call_argv, perl_call_method, perl_call_pv, +perl_call_sv, perl_construct, perl_destruct, perl_eval_sv, perl_eval_pv, +perl_free, perl_get_av, perl_get_cv, perl_get_hv, perl_get_sv, perl_parse, +perl_require_pv, perl_run, POPi, POPl, POPp, POPn, POPs, PUSHMARK, PUSHi, +PUSHn, PUSHp, PUSHs, PUTBACK, Renew, Renewc, RETVAL, safefree, safemalloc, +saferealloc, savepv, savepvn, SAVETMPS, SP, SPAGAIN, ST, strEQ, strGE, +strGT, strLE, strLT, strNE, strnEQ, strnNE, sv_2mortal, sv_bless, sv_catpv, +sv_catpvn, sv_catpvf, sv_catsv, sv_cmp, sv_cmp, SvCUR, SvCUR_set, sv_dec, +sv_dec, SvEND, sv_eq, SvGROW, sv_grow, sv_inc, SvIOK, SvIOK_off, SvIOK_on, +SvIOK_only, SvIOK_only, SvIOKp, sv_isa, SvIV, sv_isobject, SvIVX, SvLEN, +sv_len, sv_len, sv_magic, sv_mortalcopy, SvOK, sv_newmortal, sv_no, SvNIOK, +SvNIOK_off, SvNIOKp, SvNOK, SvNOK_off, SvNOK_on, SvNOK_only, SvNOK_only, +SvNOKp, SvNV, SvNVX, SvPOK, SvPOK_off, SvPOK_on, SvPOK_only, SvPOK_only, +SvPOKp, SvPV, SvPVX, SvREFCNT, SvREFCNT_dec, SvREFCNT_inc, SvROK, +SvROK_off, SvROK_on, SvRV, sv_setiv, sv_setnv, sv_setpv, sv_setpvn, +sv_setpvf, sv_setref_iv, sv_setref_nv, sv_setref_pv, sv_setref_pvn, +sv_setsv, SvSTASH, SVt_IV, SVt_PV, SVt_PVAV, SVt_PVCV, SVt_PVHV, SVt_PVMG, +SVt_NV, SvTRUE, SvTYPE, svtype, SvUPGRADE, sv_upgrade, sv_undef, sv_unref, +sv_usepvn, sv_yes, THIS, toLOWER, toUPPER, warn, XPUSHi, XPUSHn, XPUSHp, +XPUSHs, XS, XSRETURN, XSRETURN_EMPTY, XSRETURN_IV, XSRETURN_NO, +XSRETURN_NV, XSRETURN_PV, XSRETURN_UNDEF, XSRETURN_YES, XST_mIV, XST_mNV, +XST_mNO, XST_mPV, XST_mUNDEF, XST_mYES, XS_VERSION, XS_VERSION_BOOTCHECK, +Zero + +=item EDITOR + +=item DATE + +=head2 perlcall - Perl calling conventions from C + +=item DESCRIPTION + +An Error Handler, An Event Driven Program + +=item THE PERL_CALL FUNCTIONS + +B, B, B, B + +=item FLAG VALUES + +=over + +=item G_VOID + +=item G_SCALAR + +=item G_ARRAY + +=item G_DISCARD + +=item G_NOARGS + +=item G_EVAL + +=item G_KEEPERR + +=item Determining the Context + +=back + +=item KNOWN PROBLEMS + +=item EXAMPLES + +=over + +=item No Parameters, Nothing returned + +=item Passing Parameters + +=item Returning a Scalar + +=item Returning a list of values + +=item Returning a list in a scalar context + +=item Returning Data from Perl via the parameter list + +=item Using G_EVAL + +=item Using G_KEEPERR + +=item Using perl_call_sv + +=item Using perl_call_argv + +=item Using perl_call_method + +=item Using GIMME_V + +=item Using Perl to dispose of temporaries + +=item Strategies for storing Callback Context Information + +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 Alternate Stack Manipulation + +=item Creating and calling an anonymous subroutine in C + +=back + +=item SEE ALSO + +=item AUTHOR + +=item DATE + +=head1 PRAGMA DOCUMENTATION + +=head2 autouse - postpone load of modules until a function is used + +=item SYNOPSIS + +=item DESCRIPTION + +=item WARNING + +=item BUGS + +=item AUTHOR + +=item SEE ALSO + +=head2 blib - Use MakeMaker's uninstalled version of a package + +=item SYNOPSIS + +=item DESCRIPTION + +=item BUGS + +=item AUTHOR + +=head2 constant - Perl pragma to declare constants + +=item SYNOPSIS + +=item DESCRIPTION + +=item NOTES + +=item TECHNICAL NOTE + +=item BUGS + +=item AUTHOR + +=item COPYRIGHT + +=head2 diagnostics - Perl compiler pragma to force verbose warning +diagnostics -=item The RETVAL Variable +=item SYNOPSIS -=item The MODULE Keyword +=item DESCRIPTION -=item The PACKAGE Keyword +=over -=item The PREFIX Keyword +=item The C Pragma -=item The OUTPUT: Keyword +=item The I Program -=item The CODE: Keyword +=back -=item The INIT: Keyword +=item EXAMPLES -=item The NO_INIT Keyword +=item INTERNALS -=item Initializing Function Parameters +=item BUGS -=item Default Parameter Values +=item AUTHOR -=item The PREINIT: Keyword +=head2 integer - Perl pragma to compute arithmetic in integer instead of +double -=item The SCOPE: Keyword +=item SYNOPSIS -=item The INPUT: Keyword +=item DESCRIPTION -=item Variable-length Parameter Lists +=head2 less - perl pragma to request less of something from the compiler -=item The PPCODE: Keyword +=item SYNOPSIS -=item Returning Undef And Empty Lists +=item DESCRIPTION -=item The REQUIRE: Keyword +=head2 lib - manipulate @INC at compile time -=item The CLEANUP: Keyword +=item SYNOPSIS -=item The BOOT: Keyword +=item DESCRIPTION -=item The VERSIONCHECK: Keyword +=over -=item The PROTOTYPES: Keyword +=item ADDING DIRECTORIES TO @INC -=item The PROTOTYPE: Keyword +=item DELETING DIRECTORIES FROM @INC -=item The ALIAS: Keyword +=item RESTORING ORIGINAL @INC -=item The INCLUDE: Keyword +=back -=item The CASE: Keyword +=item SEE ALSO -=item The & Unary Operator +=item AUTHOR -=item Inserting Comments and C Preprocessor Directives +=head2 locale - Perl pragma to use and avoid POSIX locales for built-in +operations -=item Using XS With C++ +=item SYNOPSIS -=item Interface Strategy +=item DESCRIPTION -=item Perl Objects And C Structures +=head2 ops - Perl pragma to restrict unsafe operations when compiling -=item The Typemap +=item SYNOPSIS -=back +=item DESCRIPTION -=item EXAMPLES +=item SEE ALSO -=item XS VERSION +=head2 overload - Package for overloading perl operations -=item AUTHOR +=item SYNOPSIS -=head2 perlxstut, perlXStut - Tutorial for XSUBs +=item CAVEAT SCRIPTOR =item DESCRIPTION =over -=item VERSION CAVEAT - -=item DYNAMIC VERSUS STATIC - -=item EXAMPLE 1 - -=item EXAMPLE 2 +=item Declaration of overloaded functions -=item WHAT HAS GONE ON? +=item Calling Conventions for Binary Operations -=item WRITING GOOD TEST SCRIPTS +FALSE, TRUE, C -=item EXAMPLE 3 +=item Calling Conventions for Unary Operations -=item WHAT'S NEW HERE? +=item Overloadable Operations -=item INPUT AND OUTPUT PARAMETERS +I, I, I, +I, I, I, I -=item THE XSUBPP COMPILER +=item Inheritance and overloading -=item THE TYPEMAP FILE +Strings as values of C directive, Overloading of an operation +is inherited by derived classes -=item WARNING +=back -=item EXAMPLE 4 +=item SPECIAL SYMBOLS FOR C -=item WHAT HAS HAPPENED HERE? +=over -=item SPECIFYING ARGUMENTS TO XSUBPP +=item Last Resort -=item THE ARGUMENT STACK +=item Fallback -=item EXTENDING YOUR EXTENSION +C, TRUE, defined, but FALSE -=item DOCUMENTING YOUR EXTENSION +=item Copy Constructor -=item INSTALLING YOUR EXTENSION +B -=item SEE ALSO +=back -=item Author +=item MAGIC AUTOGENERATION -=item Last Changed +I, I, +I, C, I, I, +I, I, I -=back +=item WARNING -=head2 perlguts - Perl's Internal Functions +=item Run-time Overloading -=item DESCRIPTION +=item Public functions -=over +overload::StrVal(arg), overload::Overloaded(arg), overload::Method(obj,op) -=item Datatypes +=item IMPLEMENTATION -=item What is an "IV"? +=item AUTHOR -=item Working with SV's +=item DIAGNOSTICS -=item What's Really Stored in an SV? +=item BUGS -=item Working with AV's +=head2 sigtrap - Perl pragma to enable simple signal handling -=item Working with HV's +=item SYNOPSIS -=item References +=item DESCRIPTION -=item Blessed References and Class Objects +=item OPTIONS -=item Creating New Variables +=over -=item Reference Counts and Mortality +=item SIGNAL HANDLERS -=item Stashes and Globs +B, B, B I -=item Magic +=item SIGNAL LISTS -=item Assigning Magic +B, B, B -=item Magic Virtual Tables +=item OTHER -=item Finding Magic +B, B, I, I -=item Double-Typed SV's +=back -=item XSUB's and the Argument Stack +=item EXAMPLES -=item Calling Perl Routines from within C Programs +=head2 strict - Perl pragma to restrict unsafe constructs -=item Memory Allocation +=item SYNOPSIS -=item PerlIO +=item DESCRIPTION -=item Scratchpads +C, C, C -=item Putting a C value on Perl stack +=head2 subs - Perl pragma to predeclare sub names -=item Scratchpads +=item SYNOPSIS -=item Scratchpads and recursions +=item DESCRIPTION -=item API LISTING +=head2 vars - Perl pragma to predeclare global variable names -AvFILL, av_clear, av_extend, av_fetch, av_len, av_make, av_pop, av_push, -av_shift, av_store, av_undef, av_unshift, CLASS, Copy, croak, CvSTASH, -DBsingle, DBsub, DBtrace, dMARK, dORIGMARK, dowarn, dSP, dXSARGS, dXSI32, -dXSI32, ENTER, EXTEND, FREETMPS, G_ARRAY, G_DISCARD, G_EVAL, GIMME, -G_NOARGS, G_SCALAR, gv_fetchmeth, gv_fetchmethod, gv_stashpv, gv_stashsv, -GvSV, he_free, hv_clear, hv_delete, hv_exists, hv_fetch, hv_iterinit, -hv_iterkey, hv_iternext, hv_iternextsv, hv_iterval, hv_magic, HvNAME, -hv_store, hv_undef, isALNUM, isALPHA, isDIGIT, isLOWER, isSPACE, isUPPER, -items, ix, LEAVE, MARK, mg_clear, mg_copy, mg_find, mg_free, mg_get, -mg_len, mg_magical, mg_set, Move, na, New, Newc, Newz, newAV, newHV, -newRV_inc, newRV_noinc, newSV, newSViv, newSVnv, newSVpv, newSVrv, newSVsv, -newXS, newXSproto, Nullav, Nullch, Nullcv, Nullhv, Nullsv, ORIGMARK, -perl_alloc, perl_call_argv, perl_call_method, perl_call_pv, perl_call_sv, -perl_construct, perl_destruct, perl_eval_sv, perl_free, perl_get_av, -perl_get_cv, perl_get_hv, perl_get_sv, perl_parse, perl_require_pv, -perl_run, POPi, POPl, POPp, POPn, POPs, PUSHMARK, PUSHi, PUSHn, PUSHp, -PUSHs, PUTBACK, Renew, Renewc, RETVAL, safefree, safemalloc, saferealloc, -savepv, savepvn, SAVETMPS, SP, SPAGAIN, ST, strEQ, strGE, strGT, strLE, -strLT, strNE, strnEQ, strnNE, sv_2mortal, sv_bless, sv_catpv, sv_catpvn, -sv_catsv, sv_cmp, sv_cmp, SvCUR, SvCUR_set, sv_dec, sv_dec, SvEND, sv_eq, -SvGROW, sv_grow, sv_inc, SvIOK, SvIOK_off, SvIOK_on, SvIOK_only, -SvIOK_only, SvIOKp, sv_isa, SvIV, sv_isobject, SvIVX, SvLEN, sv_len, -sv_len, sv_magic, sv_mortalcopy, SvOK, sv_newmortal, sv_no, SvNIOK, -SvNIOK_off, SvNIOKp, SvNOK, SvNOK_off, SvNOK_on, SvNOK_only, SvNOK_only, -SvNOKp, SvNV, SvNVX, SvPOK, SvPOK_off, SvPOK_on, SvPOK_only, SvPOK_only, -SvPOKp, SvPV, SvPVX, SvREFCNT, SvREFCNT_dec, SvREFCNT_inc, SvROK, -SvROK_off, SvROK_on, SvRV, sv_setiv, sv_setnv, sv_setpv, sv_setpvn, -sv_setref_iv, sv_setref_nv, sv_setref_pv, sv_setref_pvn, sv_setsv, SvSTASH, -SVt_IV, SVt_PV, SVt_PVAV, SVt_PVCV, SVt_PVHV, SVt_PVMG, SVt_NV, SvTRUE, -SvTYPE, svtype, SvUPGRADE, sv_upgrade, sv_undef, sv_unref, sv_usepvn, -sv_yes, THIS, toLOWER, toUPPER, warn, XPUSHi, XPUSHn, XPUSHp, XPUSHs, XS, -XSRETURN, XSRETURN_EMPTY, XSRETURN_IV, XSRETURN_NO, XSRETURN_NV, -XSRETURN_PV, XSRETURN_UNDEF, XSRETURN_YES, XST_mIV, XST_mNV, XST_mNO, -XST_mPV, XST_mUNDEF, XST_mYES, XS_VERSION, XS_VERSION_BOOTCHECK, Zero +=item SYNOPSIS -=back +=item DESCRIPTION -=item EDITOR +=head1 MODULE DOCUMENTATION -=item DATE +=head2 AnyDBM_File - provide framework for multiple DBMs -=head2 perlcall - Perl calling conventions from C +=item SYNOPSIS =item DESCRIPTION -An Error Handler, An Event Driven Program +=over -=item THE PERL_CALL FUNCTIONS +=item DBM Comparisons -B, B, B, B +[0], [1], [2], [3] -=item FLAG VALUES +=back -=over +=item SEE ALSO -=item G_SCALAR +=head2 AutoLoader - load subroutines only on demand -=item G_ARRAY +=item SYNOPSIS -=item G_DISCARD +=item DESCRIPTION -=item G_NOARGS +=over -=item G_EVAL +=item Subroutine Stubs -=item G_KEEPERR +=item Using B's AUTOLOAD Subroutine -=item Determining the Context +=item Overriding B's AUTOLOAD Subroutine -=back +=item Package Lexicals -=item KNOWN PROBLEMS +=item B vs. B -=item EXAMPLES +=back -=over +=item CAVEATS -=item No Parameters, Nothing returned +=item SEE ALSO -=item Passing Parameters +=head2 AutoSplit - split a package for autoloading -=item Returning a Scalar +=item SYNOPSIS -=item Returning a list of values +=item DESCRIPTION -=item Returning a list in a scalar context +=item CAVEATS -=item Returning Data from Perl via the parameter list +=item DIAGNOSTICS -=item Using G_EVAL +=head2 Benchmark - benchmark running times of code -=item Using G_KEEPERR +=item SYNOPSIS -=item Using perl_call_sv +=item DESCRIPTION -=item Using perl_call_argv +=over -=item Using perl_call_method +=item Methods -=item Using GIMME +new, debug -=item Using Perl to dispose of temporaries +=item Standard Exports -=item Strategies for storing Callback Context Information +timeit(COUNT, CODE), timethis ( COUNT, CODE, [ TITLE, [ STYLE ]] ), +timethese ( COUNT, CODEHASHREF, [ STYLE ] ), timediff ( T1, T2 ), timestr ( +TIMEDIFF, [ STYLE, [ FORMAT ]] ) -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 Optional Exports -=item Alternate Stack Manipulation +clearcache ( COUNT ), clearallcache ( ), disablecache ( ), enablecache ( ) =back -=item SEE ALSO +=item NOTES -=item AUTHOR +=item INHERITANCE -=item DATE +=item CAVEATS -=head1 PRAGMA DOCUMENTATION +=item AUTHORS -=head2 blib - Use MakeMaker's uninstalled version of a package +=item MODIFICATION HISTORY + +=head2 Bundle::CPAN - A bundle to play with all the other modules on CPAN =item SYNOPSIS -=item DESCRIPTION +=item CONTENTS -=item BUGS +=item DESCRIPTION =item AUTHOR -=head2 diagnostics - Perl compiler pragma to force verbose warning -diagnostics +=head2 CGI - Simple Common Gateway Interface Class =item SYNOPSIS +=item ABSTRACT + +=item INSTALLATION + =item DESCRIPTION =over -=item The C Pragma - -=item The I Program +=item CREATING A NEW QUERY OBJECT: -=back +=item CREATING A NEW QUERY OBJECT FROM AN INPUT FILE -=item EXAMPLES +=item FETCHING A LIST OF KEYWORDS FROM THE QUERY: -=item INTERNALS +=item FETCHING THE NAMES OF ALL THE PARAMETERS PASSED TO YOUR SCRIPT: -=item BUGS +=item FETCHING THE VALUE OR VALUES OF A SINGLE NAMED PARAMETER: -=item AUTHOR +=item SETTING THE VALUE(S) OF A NAMED PARAMETER: -=head2 integer - Perl pragma to compute arithmetic in integer instead of -double +=item APPENDING ADDITIONAL VALUES TO A NAMED PARAMETER: -=item SYNOPSIS +=item IMPORTING ALL PARAMETERS INTO A NAMESPACE: -=item DESCRIPTION +=item DELETING A PARAMETER COMPLETELY: -=head2 less - perl pragma to request less of something from the compiler +=item DELETING ALL PARAMETERS: -=item SYNOPSIS +=item SAVING THE STATE OF THE FORM TO A FILE: -=item DESCRIPTION +=item CREATING A SELF-REFERENCING URL THAT PRESERVES STATE INFORMATION: -=head2 lib - manipulate @INC at compile time +=item COMPATIBILITY WITH CGI-LIB.PL -=item SYNOPSIS +=item CALLING CGI FUNCTIONS THAT TAKE MULTIPLE ARGUMENTS -=item DESCRIPTION +=item CREATING THE HTTP HEADER: -=over +=item GENERATING A REDIRECTION INSTRUCTION -=item ADDING DIRECTORIES TO @INC +=item CREATING THE HTML HEADER: -=item DELETING DIRECTORIES FROM @INC +B, 4, 5, 6.. -=item RESTORING ORIGINAL @INC +=item ENDING THE HTML DOCUMENT: =back -=item SEE ALSO - -=item AUTHOR +=item CREATING FORMS -=head2 locale - Perl pragma to use and avoid POSIX locales for built-in -operations +=over -=item SYNOPSIS +=item CREATING AN ISINDEX TAG -=item DESCRIPTION +=item STARTING AND ENDING A FORM -=head2 ops - Perl pragma to restrict unsafe operations when compiling +B, B -=item SYNOPSIS +=item CREATING A TEXT FIELD -=item DESCRIPTION +B -=item SEE ALSO +=item CREATING A BIG TEXT FIELD -=head2 overload - Package for overloading perl operations +=item CREATING A PASSWORD FIELD -=item SYNOPSIS +=item CREATING A FILE UPLOAD FIELD -=item CAVEAT SCRIPTOR +B -=item DESCRIPTION +=item CREATING A POPUP MENU -=over +=item CREATING A SCROLLING LIST -=item Declaration of overloaded functions +B -=item Calling Conventions for Binary Operations +=item CREATING A GROUP OF RELATED CHECKBOXES -FALSE, TRUE, C +B -=item Calling Conventions for Unary Operations +=item CREATING A STANDALONE CHECKBOX -=item Overloadable Operations +B -I, I, I, -I, I, I, I +=item CREATING A RADIO BUTTON GROUP -=back +B -=item SPECIAL SYMBOLS FOR C +=item CREATING A SUBMIT BUTTON -=over +B -=item Last Resort +=item CREATING A RESET BUTTON -=item Fallback +=item CREATING A DEFAULT BUTTON -C, TRUE, defined, but FALSE +=item CREATING A HIDDEN FIELD -=item Copy Constructor +B -B +=item CREATING A CLICKABLE IMAGE BUTTON -=back +B, 3.The third option (-align, optional) is an alignment type, +and may be +TOP, BOTTOM or MIDDLE -=item MAGIC AUTOGENERATION +=item CREATING A JAVASCRIPT ACTION BUTTON -I, I, -I, C, I, I, -I, I, I +=back -=item WARNING +=item NETSCAPE COOKIES -=item Run-time Overloading +1. an expiration time, 2. a domain, 3. a path, 4. a "secure" flag, +B<-name>, B<-value>, B<-path>, B<-domain>, B<-expires>, B<-secure> -=item Public functions +=item WORKING WITH NETSCAPE FRAMES -overload::StrVal(arg), overload::Overloaded(arg), overload::Method(obj,op) +1. Create a document, 2. Specify the destination for the +document in the HTTP header, 3. Specify the destination for the document in +the
tag -=item IMPLEMENTATION +=item LIMITED SUPPORT FOR CASCADING STYLE SHEETS -=item AUTHOR +=item DEBUGGING -=item DIAGNOSTICS +=over -=item BUGS +=item DUMPING OUT ALL THE NAME/VALUE PAIRS -=head2 sigtrap - Perl pragma to enable simple signal handling +=back -=item SYNOPSIS +=item FETCHING ENVIRONMENT VARIABLES -=item DESCRIPTION +B, B, B, B, +B, B, BReturn the script +name as a partial URL, for self-refering +scripts, B, B, B, B, B, B, B, +B -=item OPTIONS +=item CREATING HTML ELEMENTS =over -=item SIGNAL HANDLERS +=item PROVIDING ARGUMENTS TO HTML SHORTCUTS -B, B, B I +=item Generating new HTML tags -=item SIGNAL LISTS +=back -B, B, B +=item IMPORTING CGI METHOD CALLS INTO YOUR NAME SPACE -=item OTHER +B, B, B, B, B, B, +B, B -B, B, I, I +=item USING NPH SCRIPTS -=back +In the B statementSimply add ":nph" to the list of symbols to be +imported into your script:, By calling the B method:, By using +B<-nph> parameters in the B and B statements: -=item EXAMPLES +=item AUTHOR INFORMATION -=head2 strict - Perl pragma to restrict unsafe constructs +=item CREDITS -=item SYNOPSIS +Matt Heffron (heffron@falstaff.css.beckman.com), James Taylor +(james.taylor@srs.gov), Scott Anguish , Mike Jewell +(mlj3u@virginia.edu), Timothy Shimmin (tes@kbs.citri.edu.au), Joergen Haegg +(jh@axis.se), Laurent Delfosse (delfosse@csgrad1.cs.wvu.edu), Richard +Resnick (applepi1@aol.com), Craig Bishop (csb@barwonwater.vic.gov.au), Tony +Curtis (tc@vcpc.univie.ac.at), Tim Bunce (Tim.Bunce@ig.co.uk), Tom +Christiansen (tchrist@convex.com), Andreas Koenig +(k@franz.ww.TU-Berlin.DE), Tim MacKenzie (Tim.MacKenzie@fulcrum.com.au), +Kevin B. Hendricks (kbhend@dogwood.tyler.wm.edu), Stephen Dahmen +(joyfire@inxpress.net), Ed Jordan (ed@fidalgo.net), David Alan Pisoni +(david@cnation.com), ...and many many more.. -=item DESCRIPTION +=item A COMPLETE EXAMPLE OF A SIMPLE FORM-BASED SCRIPT -C, C, C +=item BUGS -=head2 subs - Perl pragma to predeclare sub names +=item SEE ALSO + +=head2 CGI::Apache - Make things work with CGI.pm against Perl-Apache API =item SYNOPSIS =item DESCRIPTION -=head2 vars - Perl pragma to predeclare global variable names +=item NOTE 1 -=item SYNOPSIS +=item NOTE 2 -=item DESCRIPTION +=item SEE ALSO -=head1 MODULE DOCUMENTATION +=item AUTHOR -=head2 AnyDBM_File - provide framework for multiple DBMs +=head2 CGI::Carp, B - CGI routines for writing to the HTTPD (or +other) error log =item SYNOPSIS =item DESCRIPTION -=over +=item REDIRECTING ERROR MESSAGES -=item DBM Comparisons +=item MAKING PERL ERRORS APPEAR IN THE BROWSER WINDOW -[0], [1], [2], [3] +=item CHANGE LOG -=back +=item AUTHORS =item SEE ALSO -=head2 AutoLoader - load functions only on demand +=head2 CGI::Fast - CGI Interface for Fast CGI =item SYNOPSIS =item DESCRIPTION -=over - -=item __END__ - -=item Loading Stubs +=item OTHER PIECES OF THE PUZZLE -=item Package Lexicals - -=item AutoLoader vs. SelfLoader - -=back +=item WRITING FASTCGI PERL SCRIPTS -=item CAVEAT +=item INSTALLING FASTCGI SCRIPTS -=head2 AutoSplit - split a package for autoloading +=item USING FASTCGI SCRIPTS AS CGI SCRIPTS -=item SYNOPSIS +=item CAVEATS -=item DESCRIPTION +=item AUTHOR INFORMATION -=item CAVEATS +=item BUGS -=item DIAGNOSTICS +=item SEE ALSO -=head2 Benchmark - benchmark running times of code +=head2 CGI::Push - Simple Interface to Server Push =item SYNOPSIS =item DESCRIPTION -=over +=item USING CGI::Push -=item Methods +-last_page, -type, -delay, -cookie, -target, -expires -new, debug +=item INSTALLING CGI::Push SCRIPTS -=item Standard Exports +=item CAVEATS -timeit(COUNT, CODE), timethis, timethese, timediff, timestr +=item AUTHOR INFORMATION -=item Optional Exports +=item BUGS -=back +=item SEE ALSO -=item NOTES +=head2 CGI::Switch - Try more than one constructors and return the first +object available -=item INHERITANCE +=item SYNOPSIS -=item CAVEATS +=item DESCRIPTION -=item AUTHORS +=item SEE ALSO -=item MODIFICATION HISTORY +=item AUTHOR =head2 CPAN - query, download and build perl modules from CPAN sites @@ -1813,19 +3138,30 @@ timeit(COUNT, CODE), timethis, timethese, timediff, timestr =item Interactive Mode Searching for authors, bundles, distribution files and modules, make, test, -install, clean modules or distributions +install, clean modules or distributions, readme, look module or +distribution =item CPAN::Shell +=item autobundle + +=item recompile + +=item The 4 Classes: Authors, Bundles, Modules, Distributions + =item ProgrammerE<39>s interface +expand($type,@things), Programming Examples + =item Cache Manager =item Bundles -=item autobundle +=item Prerequisites -=item recompile +=item Debugging + +=item Floppy, Zip, and all that Jazz =back @@ -1840,13 +3176,7 @@ ElistE =item EXPORT -=item Debugging - -=over - -=item Prerequisites - -=back +=item BUGS =item AUTHOR @@ -1873,17 +3203,28 @@ module =item DESCRIPTION -=head2 Class::Template - struct/member template builder +=head2 Class::Struct - declare struct-like datatypes as Perl classes =item SYNOPSIS =item DESCRIPTION +=over + +=item The C function + +=item Element Types and Accessor Methods + +Scalar (C<'$'> or C<'*$'>), Array (C<'@'> or C<'*@'>), Hash (C<'%'> or +C<'*%'>), Class (C<'Class_Name'> or C<'*Class_Name'>) + +=back + =item EXAMPLES Example 1, Example 2 -=item NOTES +=item Author and Modification History =head2 Config - access Perl configuration information @@ -1915,7 +3256,7 @@ B, B, B =over -=item How does DB_File interface to Berkeley DB? +=item Interface to Berkeley DB =item Opening a Berkeley DB Database File @@ -1929,7 +3270,7 @@ B, B, B =over -=item A Simple Example. +=item A Simple Example =back @@ -1939,9 +3280,9 @@ B, B, B =item Changing the BTREE sort order -=item Handling duplicate keys +=item Handling Duplicate Keys -=item The get_dup method. +=item The get_dup() Method =item Matching Partial Keys @@ -1951,7 +3292,7 @@ B, B, B =over -=item The bval option +=item The 'bval' Option =item A Simple Example @@ -1977,7 +3318,9 @@ $value, $flags) ;>, B<$status = $X-Esync([$flags]) ;> =item Locking Databases -=item Sharing databases with C applications +=item Sharing Databases With C Applications + +=item The untie() Gotcha =back @@ -2023,9 +3366,11 @@ $value, $flags) ;>, B<$status = $X-Esync([$flags]) ;> =item DESCRIPTION -@dl_library_path, @dl_resolve_using, @dl_require_symbols, dl_error(), -$dl_debug, dl_findfile(), dl_expandspec(), dl_load_file(), -dl_find_symbol(), dl_undef_symbols(), dl_install_xsub(), bootstrap() +@dl_library_path, @dl_resolve_using, @dl_require_symbols, @dl_librefs, +@dl_modules, dl_error(), $dl_debug, dl_findfile(), dl_expandspec(), +dl_load_file(), dl_loadflags(), dl_find_symbol(), +dl_find_symbol_anywhere(), dl_undef_symbols(), dl_install_xsub(), +bootstrap() =item AUTHOR @@ -2064,6 +3409,23 @@ variables =back +=head2 ExtUtils::Command - utilities to replace common UNIX commands in +Makefiles etc. + +=item SYNOPSIS + +=item DESCRIPTION + +cat, eqtime src dst, rm_f files..., rm_f files..., touch files .., mv +source... destination, cp source... destination, chmod mode files.., mkpath +directory.., test_f file + +=item BUGS + +=item SEE ALSO + +=item AUTHOR + =head2 ExtUtils::Embed - Utilities for embedding Perl in C/C++ applications =item SYNOPSIS @@ -2113,6 +3475,8 @@ For static extensions, For dynamic extensions, For dynamic extensions =item VMS implementation +=item Win32 implementation + =back =item SEE ALSO @@ -2157,7 +3521,7 @@ post_initialize (o), postamble (o), prefixify, processPL (o), realclean (o), replace_manpage_separator, static (o), static_lib (o), staticmake (o), subdir_x (o), subdirs (o), test (o), test_via_harness (o), test_via_script (o), tool_autosplit (o), tools_other (o), tool_xsubpp (o), top_targets (o), -writedoc, xs_c (o), xs_o (o) +writedoc, xs_c (o), xs_o (o), perl_archive, export_list =back @@ -2197,6 +3561,18 @@ dist_dir (override), dist_test (override), install (override), perldepend =back +=head2 ExtUtils::MM_Win32 - methods to override UN*X behaviour in +ExtUtils::MakeMaker + +=item SYNOPSIS + +=item DESCRIPTION + +catfile, constants (o), static_lib (o), dynamic_bs (o), dynamic_lib (o), +canonpath, perl_script, pm_to_blib, test_via_harness (o), tool_autosplit +(override), tools_other (o), xs_o (o), top_targets (o), manifypods (o), +dist_ci (o), dist_core (o), pasthru (o) + =head2 ExtUtils::MakeMaker - create an extension Makefile =item SYNOPSIS @@ -2314,14 +3690,6 @@ NAME, DL_FUNCS, DL_VARS, FILE, FUNCLIST, DLBASE =item DESCRIPTION -=head2 Fatal - replace functions with equivalents which succeed or die - -=item SYNOPSIS - -=item DESCRIPTION - -=item AUTHOR - =head2 Fcntl - load the C Fcntl.h defines =item SYNOPSIS @@ -2378,6 +3746,22 @@ rmscopy($from,$to[,$date_flag]) =item AUTHOR +=head2 File::DosGlob - DOS like globbing and then some + +=item SYNOPSIS + +=item DESCRIPTION + +=item EXPORTS (by request only) + +=item BUGS + +=item AUTHOR + +=item HISTORY + +=item SEE ALSO + =head2 File::Find, find - traverse a file tree =item SYNOPSIS @@ -2477,12 +3861,16 @@ EnoneE, !, =s, :s, =i, :i, =f, :f =item EXAMPLES -=item CONFIGURATION VARIABLES +=item CONFIGURATION OPTIONS -$Getopt::Long::autoabbrev, $Getopt::Long::getopt_compat, -$Getopt::Long::order, $Getopt::Long::bundling, $Getopt::Long::ignorecase, -$Getopt::Long::passthrough, $Getopt::Long::VERSION, $Getopt::Long::error, -$Getopt::Long::debug +default, auto_abbrev, getopt_compat, require_order, permute, bundling +(default: reset), bundling_override (default: reset), ignore_case +(default: set), ignore_case_always (default: reset), pass_through (default: +reset), debug (default: reset) + +=item OTHER USEFUL VARIABLES + +$Getopt::Long::VERSION, $Getopt::Long::error =head2 Getopt::Std, getopt - Process single-character switches with switch clustering @@ -2512,7 +3900,7 @@ locale =item CONSTRUCTOR -new ([ ARGS ] ) +new ([ ARGS ] ), new_tmpfile =item METHODS @@ -2534,8 +3922,9 @@ new (), new_from_fd ( FD, MODE ) =item METHODS -$fh->getline, $fh->getlines, $fh->fdopen ( FD, MODE ), $fh->write ( BUF, -LEN [, OFFSET }\] ), $fh->opened, $fh->untaint +$fh->fdopen ( FD, MODE ), $fh->opened, $fh->getline, $fh->getlines, +$fh->ungetc ( ORD ), $fh->write ( BUF, LEN [, OFFSET }\] ), $fh->flush, +$fh->error, $fh->clearerr, $fh->untaint =item NOTE @@ -2645,7 +4034,7 @@ hostpath(), peerpath() =item CONSTRUCTOR -new ([ ARGS ] ) +new ([ ARGS ] ), new_tmpfile =item METHODS @@ -2668,8 +4057,9 @@ new (), new_from_fd ( FD, MODE ) =item METHODS -$fh->getline, $fh->getlines, $fh->fdopen ( FD, MODE ), $fh->write ( BUF, -LEN [, OFFSET }\] ), $fh->opened, $fh->untaint +$fh->fdopen ( FD, MODE ), $fh->opened, $fh->getline, $fh->getlines, +$fh->ungetc ( ORD ), $fh->write ( BUF, LEN [, OFFSET }\] ), $fh->flush, +$fh->error, $fh->clearerr, $fh->untaint =item NOTE @@ -2834,9 +4224,33 @@ functions =item USAGE +=item ERRORS DUE TO DIVISION BY ZERO + =item BUGS -=item AUTHOR +=item AUTHORS + +=head2 Math::Trig - trigonometric functions + +=item SYNOPSIS + +=item DESCRIPTION + +=item TRIGONOMETRIC FUNCTIONS + +=over + +=item ERRORS DUE TO DIVISION BY ZERO + +=item SIMPLE (REAL) ARGUMENTS, COMPLEX RESULTS + +=back + +=item ANGLE CONVERSIONS + +=item BUGS + +=item AUTHORS =head2 NDBM_File - Tied access to ndbm files @@ -3121,6 +4535,27 @@ Constants, Macros =item CREATION +=head2 Pod::Html, Pod::HTML - module to convert pod files to HTML + +=item SYNOPSIS + +=item DESCRIPTION + +=item ARGUMENTS + +help, htmlroot, infile, outfile, podroot, podpath, libpods, netscape, +nonetscape, index, noindex, recurse, norecurse, title, verbose + +=item EXAMPLE + +=item AUTHOR + +=item BUGS + +=item SEE ALSO + +=item COPYRIGHT + =head2 Pod::Text - convert POD data to formatted ASCII text =item SYNOPSIS @@ -3269,8 +4704,7 @@ setlogmask $mask_priority, closelog =item DESCRIPTION -EtabEAttempts word completion. -Cannot be changed, ^D, ^U, EdelE, EbsE +EtabE, ^D, ^U, EdelE, EbsE =item DIAGNOSTICS @@ -3288,10 +4722,14 @@ no real package is found, substitutes stubs instead of basic functions. =item Minimal set of supported functions C, C, C, C, C, $C, -C, C, C +C, C, Attribs, C + +=item Additional supported functions =item EXPORTS +=item ENVIRONMENT + =head2 Test::Harness - run perl standard test scripts with statistics =item SYNOPSIS @@ -3367,6 +4805,8 @@ unexpand(1) =item EXAMPLE +=item BUGS + =item AUTHOR =head2 Tie::Hash, Tie::StdHash - base class definitions for tied hashes @@ -3457,7 +4897,8 @@ function =item DESCRIPTION -isa ( TYPE ), can ( METHOD ), VERSION ( [ REQUIRE ] ), isa ( REF, TYPE ) +isa ( TYPE ), can ( METHOD ), VERSION ( [ REQUIRE ] ), isa ( VAL, TYPE ), +can ( VAL, METHOD ) =head2 User::grent - by-name interface to Perl's built-in getgr*() functions @@ -3506,6 +4947,6 @@ don't all have manual pages yet: =head1 AUTHOR -Larry Wall EFE, with the help of oodles +Larry Wall >, with the help of oodles of other folks.