=head1 NAME perltoc - perl documentation table of contents =head1 DESCRIPTION This page provides a brief table of contents for the rest of the Perl documentation set. It is meant to be scanned quickly or grepped through to locate the proper section you're looking for. =head1 BASIC DOCUMENTATION =head2 perl - Practical Extraction and Report Language =item SYNOPSIS =item DESCRIPTION modularity and reusability using innumerable modules, embeddable and extensible, roll-your-own magic variables (including multiple simultaneous DBM implementations), subroutines can now be overridden, autoloaded, and prototyped, arbitrarily nested data structures and anonymous functions, object-oriented programming, compilability into C code or Perl bytecode, support for light-weight processes (threads), support for internationalization, localization, and Unicode, lexical scoping, regular expression enhancements, enhanced debugger and interactive Perl environment, with integrated editor support, POSIX 1003.1 compliant library =item AVAILABILITY =item ENVIRONMENT =item AUTHOR =item FILES =item SEE ALSO =item DIAGNOSTICS =item BUGS =item NOTES =head2 perlfaq - frequently asked questions about Perl ($Date: 1999/05/23 20:38:02 $) =item DESCRIPTION perlfaq: Structural overview of the FAQ, L: General Questions About Perl, What is Perl?, Who supports Perl? Who develops it? Why is it free?, Which version of Perl should I use?, What are perl4 and perl5?, What is perl6?, How stable is Perl?, Is Perl difficult to learn?, How does Perl compare with other languages like Java, Python, REXX, Scheme, or Tcl?, Can I do [task] in Perl?, When shouldn't I program in Perl?, What's the difference between "perl" and "Perl"?, Is it a Perl program or a Perl script?, What is a JAPH?, Where can I get a list of Larry Wall witticisms?, How can I convince my sysadmin/supervisor/employees to use version (5/5.005/Perl instead of some other language)?, L: Obtaining and Learning about Perl, What machines support Perl? Where do I get it?, How can I get a binary version of Perl?, I don't have a C compiler on my system. How can I compile perl?, I copied the Perl binary from one machine to another, but scripts don't work, I grabbed the sources and tried to compile but gdbm/dynamic loading/malloc/linking/... failed. How do I make it work?, What modules and extensions are available for Perl? What is CPAN? What does CPAN/src/... mean?, Is there an ISO or ANSI certified version of Perl?, Where can I get information on Perl?, What are the Perl newsgroups on USENET? Where do I post questions?, Where should I post source code?, Perl Books, Perl in Magazines, Perl on the Net: FTP and WWW Access, What mailing lists are there for perl?, Archives of comp.lang.perl.misc, Where can I buy a commercial version of Perl?, Where do I send bug reports?, What is perl.com?, L: Programming Tools, How do I do (anything)?, How can I use Perl interactively?, Is there a Perl shell?, How do I debug my Perl programs?, How do I profile my Perl programs?, How do I cross-reference my Perl programs?, Is there a pretty-printer (formatter) for Perl?, Is there a ctags for Perl?, Is there an IDE or Windows Perl Editor?, Where can I get Perl macros for vi?, Where can I get perl-mode for emacs?, How can I use curses with Perl?, How can I use X or Tk with Perl?, How can I generate simple menus without using CGI or Tk?, What is undump?, How can I make my Perl program run faster?, How can I make my Perl program take less memory?, Is it unsafe to return a pointer to local data?, How can I free an array or hash so my program shrinks?, How can I make my CGI script more efficient?, How can I hide the source for my Perl program?, How can I compile my Perl program into byte code or C?, How can I compile Perl into Java?, How can I get C<#!perl> to work on [MS-DOS,NT,...]?, Can I write useful perl programs on the command line?, Why don't perl one-liners work on my DOS/Mac/VMS system?, Where can I learn about CGI or Web programming in Perl?, Where can I learn about object-oriented Perl programming?, Where can I learn about linking C with Perl? [h2xs, xsubpp], I've read perlembed, perlguts, etc., but I can't embed perl inmy C program, what am I doing wrong?, When I tried to run my script, I got this message. What does itmean?, What's MakeMaker?, L: Data Manipulation, Why am I getting long decimals (eg, 19.9499999999999) instead of the numbers I should be getting (eg, 19.95)?, Why isn't my octal data interpreted correctly?, Does Perl have a round() function? What about ceil() and floor()? Trig functions?, How do I convert bits into ints?, Why doesn't & work the way I want it to?, How do I multiply matrices?, How do I perform an operation on a series of integers?, How can I output Roman numerals?, Why aren't my random numbers random?, How do I find the week-of-the-year/day-of-the-year?, How do I find the current century or millennium?, How can I compare two dates and find the difference?, How can I take a string and turn it into epoch seconds?, How can I find the Julian Day?, How do I find yesterday's date?, Does Perl have a year 2000 problem? Is Perl Y2K compliant?, How do I validate input?, How do I unescape a string?, How do I remove consecutive pairs of characters?, How do I expand function calls in a string?, How do I find matching/nesting anything?, How do I reverse a string?, How do I expand tabs in a string?, How do I reformat a paragraph?, How can I access/change the first N letters of a string?, How do I change the Nth occurrence of something?, How can I count the number of occurrences of a substring within a string?, How do I capitalize all the words on one line?, How can I split a [character] delimited string except when inside[character]? (Comma-separated files), How do I strip blank space from the beginning/end of a string?, How do I pad a string with blanks or pad a number with zeroes?, How do I extract selected columns from a string?, How do I find the soundex value of a string?, How can I expand variables in text strings?, What's wrong with always quoting "$vars"?, Why don't my EEHERE documents work?, What is the difference between a list and an array?, What is the difference between $array[1] and @array[1]?, How can I remove duplicate elements from a list or array?, How can I tell whether a list or array contains a certain element?, How do I compute the difference of two arrays? How do I compute the intersection of two arrays?, How do I test whether two arrays or hashes are equal?, How do I find the first array element for which a condition is true?, How do I handle linked lists?, How do I handle circular lists?, How do I shuffle an array randomly?, How do I process/modify each element of an array?, How do I select a random element from an array?, How do I permute N elements of a list?, How do I sort an array by (anything)?, How do I manipulate arrays of bits?, Why does defined() return true on empty arrays and hashes?, How do I process an entire hash?, What happens if I add or remove keys from a hash while iterating over it?, How do I look up a hash element by value?, How can I know how many entries are in a hash?, How do I sort a hash (optionally by value instead of key)?, How can I always keep my hash sorted?, What's the difference between "delete" and "undef" with hashes?, Why don't my tied hashes make the defined/exists distinction?, How do I reset an each() operation part-way through?, How can I get the unique keys from two hashes?, How can I store a multidimensional array in a DBM file?, How can I make my hash remember the order I put elements into it?, Why does passing a subroutine an undefined element in a hash create it?, How can I make the Perl equivalent of a C structure/C++ class/hash or array of hashes or arrays?, How can I use a reference as a hash key?, How do I handle binary data correctly?, How do I determine whether a scalar is a number/whole/integer/float?, How do I keep persistent data across program calls?, How do I print out or copy a recursive data structure?, How do I define methods for every class/object?, How do I verify a credit card checksum?, How do I pack arrays of doubles or floats for XS code?, L: Files and Formats, How do I flush/unbuffer an output filehandle? Why must I do this?, How do I change one line in a file/delete a line in a file/insert a line in the middle of a file/append to the beginning of a file?, How do I count the number of lines in a file?, How do I make a temporary file name?, How can I manipulate fixed-record-length files?, How can I make a filehandle local to a subroutine? How do I pass filehandles between subroutines? How do I make an array of filehandles?, How can I use a filehandle indirectly?, How can I set up a footer format to be used with write()?, How can I write() into a string?, How can I output my numbers with commas added?, How can I translate tildes (~) in a filename?, How come when I open a file read-write it wipes it out?, Why do I sometimes get an "Argument list too long" when I use E*E?, Is there a leak/bug in glob()?, How can I open a file with a leading "E" or trailing blanks?, How can I reliably rename a file?, How can I lock a file?, Why can't I just open(FH, ">file.lock")?, I still don't get locking. I just want to increment the number in the file. How can I do this?, How do I randomly update a binary file?, How do I get a file's timestamp in perl?, How do I set a file's timestamp in perl?, How do I print to more than one file at once?, How can I read in an entire file all at once?, How can I read in a file by paragraphs?, How can I read a single character from a file? From the keyboard?, How can I tell whether there's a character waiting on a filehandle?, How do I do a C in perl?, How do I dup() a filehandle in Perl?, How do I close a file descriptor by number?, Why can't I use "C:\temp\foo" in DOS paths? What doesn't `C:\temp\foo.exe` work?, Why doesn't glob("*.*") get all the files?, Why does Perl let me delete read-only files? Why does C<-i> clobber protected files? Isn't this a bug in Perl?, How do I select a random line from a file?, Why do I get weird spaces when I print an array of lines?, L: Regexps, How can I hope to use regular expressions without creating illegible and unmaintainable code?, I'm having trouble matching over more than one line. What's wrong?, How can I pull out lines between two patterns that are themselves on different lines?, I put a regular expression into $/ but it didn't work. What's wrong?, How do I substitute case insensitively on the LHS, but preserving case on the RHS?, How can I make C<\w> match national character sets?, How can I match a locale-smart version of C?, How can I quote a variable to use in a regex?, What is C really for?, How do I use a regular expression to strip C style comments from a file?, Can I use Perl regular expressions to match balanced text?, What does it mean that regexes are greedy? How can I get around it?, How do I process each word on each line?, How can I print out a word-frequency or line-frequency summary?, How can I do approximate matching?, How do I efficiently match many regular expressions at once?, Why don't word-boundary searches with C<\b> work for me?, Why does using $&, $`, or $' slow my program down?, What good is C<\G> in a regular expression?, Are Perl regexes DFAs or NFAs? Are they POSIX compliant?, What's wrong with using grep or map in a void context?, How can I match strings with multibyte characters?, How do I match a pattern that is supplied by the user?, L: General Perl Language Issues, Can I get a BNF/yacc/RE for the Perl language?, What are all these $@%&* punctuation signs, and how do I know when to use them?, Do I always/never have to quote my strings or use semicolons and commas?, How do I skip some return values?, How do I temporarily block warnings?, What's an extension?, Why do Perl operators have different precedence than C operators?, How do I declare/create a structure?, How do I create a module?, How do I create a class?, How can I tell if a variable is tainted?, What's a closure?, What is variable suicide and how can I prevent it?, How can I pass/return a {Function, FileHandle, Array, Hash, Method, Regex}?, How do I create a static variable?, What's the difference between dynamic and lexical (static) scoping? Between local() and my()?, How can I access a dynamic variable while a similarly named lexical is in scope?, What's the difference between deep and shallow binding?, Why doesn't "my($foo) = EFILEE;" work right?, How do I redefine a builtin function, operator, or method?, What's the difference between calling a function as &foo and foo()?, How do I create a switch or case statement?, How can I catch accesses to undefined variables/functions/methods?, Why can't a method included in this same file be found?, How can I find out my current package?, How can I comment out a large block of perl code?, How do I clear a package?, How can I use a variable as a variable name?, L: System Interaction, How do I find out which operating system I'm running under?, How come exec() doesn't return?, How do I do fancy stuff with the keyboard/screen/mouse?, How do I print something out in color?, How do I read just one key without waiting for a return key?, How do I check whether input is ready on the keyboard?, How do I clear the screen?, How do I get the screen size?, How do I ask the user for a password?, How do I read and write the serial port?, How do I decode encrypted password files?, How do I start a process in the background?, How do I trap control characters/signals?, How do I modify the shadow password file on a Unix system?, How do I set the time and date?, How can I sleep() or alarm() for under a second?, How can I measure time under a second?, How can I do an atexit() or setjmp()/longjmp()? (Exception handling), Why doesn't my sockets program work under System V (Solaris)? What does the error message "Protocol not supported" mean?, How can I call my system's unique C functions from Perl?, Where do I get the include files to do ioctl() or syscall()?, Why do setuid perl scripts complain about kernel problems?, How can I open a pipe both to and from a command?, Why can't I get the output of a command with system()?, How can I capture STDERR from an external command?, Why doesn't open() return an error when a pipe open fails?, What's wrong with using backticks in a void context?, How can I call backticks without shell processing?, Why can't my script read from STDIN after I gave it EOF (^D on Unix, ^Z on MS-DOS)?, How can I convert my shell script to perl?, Can I use perl to run a telnet or ftp session?, How can I write expect in Perl?, Is there a way to hide perl's command line from programs such as "ps"?, 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?, How do I close a process's filehandle without waiting for it to complete?, How do I fork a daemon process?, How do I make my program run with sh and csh?, How do I find out if I'm running interactively or not?, How do I timeout a slow event?, How do I set CPU limits?, How do I avoid zombies on a Unix system?, How do I use an SQL database?, How do I make a system() exit on control-C?, How do I open a file without blocking?, How do I install a module from CPAN?, What's the difference between require and use?, How do I keep my own module/library directory?, How do I add the directory my program lives in to the module/library search path?, How do I add a directory to my include path at runtime?, What is socket.ph and where do I get it?, L: Networking, My CGI script runs from the command line but not the browser. (500 Server Error), How can I get better error messages from a CGI program?, How do I remove HTML from a string?, How do I extract URLs?, How do I download a file from the user's machine? How do I open a file on another machine?, How do I make a pop-up menu in HTML?, How do I fetch an HTML file?, How do I automate an HTML form submission?, How do I decode or create those %-encodings on the web?, How do I redirect to another page?, How do I put a password on my web pages?, How do I edit my .htpasswd and .htgroup files with Perl?, How do I make sure users can't enter values into a form that cause my CGI script to do bad things?, How do I parse a mail header?, How do I decode a CGI form?, How do I check a valid mail address?, How do I decode a MIME/BASE64 string?, How do I return the user's mail address?, How do I send mail?, How do I read mail?, How do I find out my hostname/domainname/IP address?, How do I fetch a news article or the active newsgroups?, How do I fetch/put an FTP file?, How can I do RPC in Perl? =over =item Where to get this document =item How to contribute to this document =item What will happen if you mail your Perl programming problems to the authors =back =item Credits =item Author and Copyright Information =over =item Bundled Distributions =item Disclaimer =back =item Changes 23/May/99, 13/April/99, 7/January/99, 22/June/98, 24/April/97, 23/April/97, 25/March/97, 18/March/97, 17/March/97 Version, Initial Release: 11/March/97 =head2 perlfaq1 - General Questions About Perl ($Revision: 1.23 $, $Date: 1999/05/23 16:08:30 $) =item DESCRIPTION =over =item What is Perl? =item Who supports Perl? Who develops it? Why is it free? =item Which version of Perl should I use? =item What are perl4 and perl5? =item What is perl6? =item How stable is Perl? =item Is Perl difficult to learn? =item How does Perl compare with other languages like Java, Python, REXX, Scheme, or Tcl? =item Can I do [task] in Perl? =item When shouldn't I program in Perl? =item What's the difference between "perl" and "Perl"? =item Is it a Perl program or a Perl script? =item What is a JAPH? =item Where can I get a list of Larry Wall witticisms? =item How can I convince my sysadmin/supervisor/employees to use version (5/5.005/Perl instead of some other language)? =back =item AUTHOR AND COPYRIGHT =head2 perlfaq2 - Obtaining and Learning about Perl ($Revision: 1.31 $, $Date: 1999/04/14 03:46:19 $) =item DESCRIPTION =over =item What machines support Perl? Where do I get it? =item How can I get a binary version of Perl? =item I don't have a C compiler on my system. How can I compile perl? =item I copied the Perl binary from one machine to another, but scripts don't work. =item I grabbed the sources and tried to compile but gdbm/dynamic loading/malloc/linking/... failed. How do I make it work? =item What modules and extensions are available for Perl? What is CPAN? What does CPAN/src/... mean? =item Is there an ISO or ANSI certified version of Perl? =item Where can I get information on Perl? =item What are the Perl newsgroups on USENET? Where do I post questions? =item Where should I post source code? =item Perl Books References, Tutorials *Learning Perl [2nd edition] by Randal L. Schwartz and Tom Christiansen with foreword by Larry Wall, Task-Oriented, Special Topics =item Perl in Magazines =item Perl on the Net: FTP and WWW Access =item What mailing lists are there for perl? =item Archives of comp.lang.perl.misc =item Where can I buy a commercial version of Perl? =item Where do I send bug reports? =item What is perl.com? =back =item AUTHOR AND COPYRIGHT =head2 perlfaq3 - Programming Tools ($Revision: 1.38 $, $Date: 1999/05/23 16:08:30 $) =item DESCRIPTION =over =item How do I do (anything)? =item How can I use Perl interactively? =item Is there a Perl shell? =item How do I debug my Perl programs? =item How do I profile my Perl programs? =item How do I cross-reference my Perl programs? =item Is there a pretty-printer (formatter) for Perl? =item Is there a ctags for Perl? =item Is there an IDE or Windows Perl Editor? =item Where can I get Perl macros for vi? =item Where can I get perl-mode for emacs? =item How can I use curses with Perl? =item How can I use X or Tk with Perl? =item How can I generate simple menus without using CGI or Tk? =item What is undump? =item How can I make my Perl program run faster? =item How can I make my Perl program take less memory? =item Is it unsafe to return a pointer to local data? =item How can I free an array or hash so my program shrinks? =item How can I make my CGI script more efficient? =item How can I hide the source for my Perl program? =item How can I compile my Perl program into byte code or C? =item How can I compile Perl into Java? =item How can I get C<#!perl> to work on [MS-DOS,NT,...]? =item Can I write useful perl programs on the command line? =item Why don't perl one-liners work on my DOS/Mac/VMS system? =item Where can I learn about CGI or Web programming in Perl? =item Where can I learn about object-oriented Perl programming? =item Where can I learn about linking C with Perl? [h2xs, xsubpp] =item I've read perlembed, perlguts, etc., but I can't embed perl in my C program, what am I doing wrong? =item When I tried to run my script, I got this message. What does it mean? =item What's MakeMaker? =back =item AUTHOR AND COPYRIGHT =head2 perlfaq4 - Data Manipulation ($Revision: 1.49 $, $Date: 1999/05/23 20:37:49 $) =item DESCRIPTION =item Data: Numbers =over =item Why am I getting long decimals (eg, 19.9499999999999) instead of the numbers I should be getting (eg, 19.95)? =item Why isn't my octal data interpreted correctly? =item Does Perl have a round() function? What about ceil() and floor()? Trig functions? =item How do I convert bits into ints? =item Why doesn't & work the way I want it to? =item How do I multiply matrices? =item How do I perform an operation on a series of integers? =item How can I output Roman numerals? =item Why aren't my random numbers random? =back =item Data: Dates =over =item How do I find the week-of-the-year/day-of-the-year? =item How do I find the current century or millennium? =item How can I compare two dates and find the difference? =item How can I take a string and turn it into epoch seconds? =item How can I find the Julian Day? =item How do I find yesterday's date? =item Does Perl have a year 2000 problem? Is Perl Y2K compliant? =back =item Data: Strings =over =item How do I validate input? =item How do I unescape a string? =item How do I remove consecutive pairs of characters? =item How do I expand function calls in a string? =item How do I find matching/nesting anything? =item How do I reverse a string? =item How do I expand tabs in a string? =item How do I reformat a paragraph? =item How can I access/change the first N letters of a string? =item How do I change the Nth occurrence of something? =item How can I count the number of occurrences of a substring within a string? =item How do I capitalize all the words on one line? =item How can I split a [character] delimited string except when inside [character]? (Comma-separated files) =item How do I strip blank space from the beginning/end of a string? =item How do I pad a string with blanks or pad a number with zeroes? =item How do I extract selected columns from a string? =item How do I find the soundex value of a string? =item How can I expand variables in text strings? =item What's wrong with always quoting "$vars"? =item Why don't my EEHERE documents work? 1. There must be no space after the << part, 2. There (probably) should be a semicolon at the end, 3. You can't (easily) have any space in front of the tag =back =item Data: Arrays =over =item What is the difference between a list and an array? =item What is the difference between $array[1] and @array[1]? =item How can I remove duplicate elements from a list or array? a) If @in is sorted, and you want @out to be sorted:(this assumes all true values in the array), b) If you don't know whether @in is sorted:, c) Like (b), but @in contains only small integers:, d) A way to do (b) without any loops or greps:, e) Like (d), but @in contains only small positive integers: =item How can I tell whether a list or array contains a certain element? =item How do I compute the difference of two arrays? How do I compute the intersection of two arrays? =item How do I test whether two arrays or hashes are equal? =item How do I find the first array element for which a condition is true? =item How do I handle linked lists? =item How do I handle circular lists? =item How do I shuffle an array randomly? =item How do I process/modify each element of an array? =item How do I select a random element from an array? =item How do I permute N elements of a list? =item How do I sort an array by (anything)? =item How do I manipulate arrays of bits? =item Why does defined() return true on empty arrays and hashes? =back =item Data: Hashes (Associative Arrays) =over =item How do I process an entire hash? =item What happens if I add or remove keys from a hash while iterating over it? =item How do I look up a hash element by value? =item How can I know how many entries are in a hash? =item How do I sort a hash (optionally by value instead of key)? =item How can I always keep my hash sorted? =item What's the difference between "delete" and "undef" with hashes? =item Why don't my tied hashes make the defined/exists distinction? =item How do I reset an each() operation part-way through? =item How can I get the unique keys from two hashes? =item How can I store a multidimensional array in a DBM file? =item How can I make my hash remember the order I put elements into it? =item Why does passing a subroutine an undefined element in a hash create it? =item How can I make the Perl equivalent of a C structure/C++ class/hash or array of hashes or arrays? =item How can I use a reference as a hash key? =back =item Data: Misc =over =item How do I handle binary data correctly? =item How do I determine whether a scalar is a number/whole/integer/float? =item How do I keep persistent data across program calls? =item How do I print out or copy a recursive data structure? =item How do I define methods for every class/object? =item How do I verify a credit card checksum? =item How do I pack arrays of doubles or floats for XS code? =back =item AUTHOR AND COPYRIGHT =head2 perlfaq5 - Files and Formats ($Revision: 1.38 $, $Date: 1999/05/23 16:08:30 $) =item DESCRIPTION =over =item How do I flush/unbuffer an output filehandle? Why must I do this? =item How do I change one line in a file/delete a line in a file/insert a line in the middle of a file/append to the beginning of a file? =item How do I count the number of lines in a file? =item How do I make a temporary file name? =item How can I manipulate fixed-record-length files? =item How can I make a filehandle local to a subroutine? How do I pass filehandles between subroutines? How do I make an array of filehandles? =item How can I use a filehandle indirectly? =item How can I set up a footer format to be used with write()? =item How can I write() into a string? =item How can I output my numbers with commas added? =item How can I translate tildes (~) in a filename? =item How come when I open a file read-write it wipes it out? =item Why do I sometimes get an "Argument list too long" when I use E*E? =item Is there a leak/bug in glob()? =item How can I open a file with a leading "E" or trailing blanks? =item How can I reliably rename a file? =item How can I lock a file? =item Why can't I just open(FH, ">file.lock")? =item I still don't get locking. I just want to increment the number in the file. How can I do this? =item How do I randomly update a binary file? =item How do I get a file's timestamp in perl? =item How do I set a file's timestamp in perl? =item How do I print to more than one file at once? =item How can I read in an entire file all at once? =item How can I read in a file by paragraphs? =item How can I read a single character from a file? From the keyboard? =item How can I tell whether there's a character waiting on a filehandle? =item How do I do a C in perl? =item How do I dup() a filehandle in Perl? =item How do I close a file descriptor by number? =item Why can't I use "C:\temp\foo" in DOS paths? What doesn't `C:\temp\foo.exe` work? =item Why doesn't glob("*.*") get all the files? =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 How do I select a random line from a file? =item Why do I get weird spaces when I print an array of lines? =back =item AUTHOR AND COPYRIGHT =head2 perlfaq6 - Regexes ($Revision: 1.27 $, $Date: 1999/05/23 16:08:30 $) =item DESCRIPTION =over =item How can I hope to use regular expressions without creating illegible and unmaintainable code? Comments Outside the Regex, Comments Inside the Regex, Different Delimiters =item I'm having trouble matching over more than one line. What's wrong? =item How can I pull out lines between two patterns that are themselves on different lines? =item I put a regular expression into $/ but it didn't work. What's wrong? =item How do I substitute case insensitively on the LHS, but preserving case on the RHS? =item How can I make C<\w> match national character sets? =item How can I match a locale-smart version of C? =item How can I quote a variable to use in a regex? =item What is C really for? =item How do I use a regular expression to strip C style comments from a file? =item Can I use Perl regular expressions to match balanced text? =item What does it mean that regexes are greedy? How can I get around it? =item How do I process each word on each line? =item How can I print out a word-frequency or line-frequency summary? =item How can I do approximate matching? =item How do I efficiently match many regular expressions at once? =item Why don't word-boundary searches with C<\b> work for me? =item Why does using $&, $`, or $' slow my program down? =item What good is C<\G> in a regular expression? =item Are Perl regexes DFAs or NFAs? Are they POSIX compliant? =item What's wrong with using grep or map in a void context? =item How can I match strings with multibyte characters? =item How do I match a pattern that is supplied by the user? =back =item AUTHOR AND COPYRIGHT =head2 perlfaq7 - Perl Language Issues ($Revision: 1.28 $, $Date: 1999/05/23 20:36:18 $) =item DESCRIPTION =over =item Can I get a BNF/yacc/RE for the Perl language? =item What are all these $@%&* punctuation signs, and how do I know when to use them? =item Do I always/never have to quote my strings or use semicolons and commas? =item How do I skip some return values? =item How do I temporarily block warnings? =item What's an extension? =item Why do Perl operators have different precedence than C operators? =item How do I declare/create a structure? =item How do I create a module? =item How do I create a class? =item How can I tell if a variable is tainted? =item What's a closure? =item What is variable suicide and how can I prevent it? =item How can I pass/return a {Function, FileHandle, Array, Hash, Method, Regex}? Passing Variables and Functions, Passing Filehandles, Passing Regexes, Passing Methods =item How do I create a static variable? =item What's the difference between dynamic and lexical (static) scoping? Between local() and my()? =item How can I access a dynamic variable while a similarly named lexical is in scope? =item What's the difference between deep and shallow binding? =item Why doesn't "my($foo) = EFILEE;" work right? =item How do I redefine a builtin function, operator, or method? =item What's the difference between calling a function as &foo and foo()? =item How do I create a switch or case statement? =item How can I catch accesses to undefined variables/functions/methods? =item Why can't a method included in this same file be found? =item How can I find out my current package? =item How can I comment out a large block of perl code? =item How do I clear a package? =item How can I use a variable as a variable name? =back =item AUTHOR AND COPYRIGHT =head2 perlfaq8 - System Interaction ($Revision: 1.39 $, $Date: 1999/05/23 18:37:57 $) =item DESCRIPTION =over =item How do I find out which operating system I'm running under? =item How come exec() doesn't return? =item How do I do fancy stuff with the keyboard/screen/mouse? Keyboard, Screen, Mouse =item How do I print something out in color? =item How do I read just one key without waiting for a return key? =item How do I check whether input is ready on the keyboard? =item How do I clear the screen? =item How do I get the screen size? =item How do I ask the user for a password? =item How do I read and write the serial port? lockfiles, open mode, end of line, flushing output, non-blocking input =item How do I decode encrypted password files? =item How do I start a process in the background? STDIN, STDOUT, and STDERR are shared, Signals, Zombies =item How do I trap control characters/signals? =item How do I modify the shadow password file on a Unix system? =item How do I set the time and date? =item How can I sleep() or alarm() for under a second? =item How can I measure time under a second? =item How can I do an atexit() or setjmp()/longjmp()? (Exception handling) =item Why doesn't my sockets program work under System V (Solaris)? What does the error message "Protocol not supported" mean? =item How can I call my system's unique C functions from Perl? =item Where do I get the include files to do ioctl() or syscall()? =item Why do setuid perl scripts complain about kernel problems? =item How can I open a pipe both to and from a command? =item Why can't I get the output of a command with system()? =item How can I capture STDERR from an external command? =item Why doesn't open() return an error when a pipe open fails? =item What's wrong with using backticks in a void context? =item How can I call backticks without shell processing? =item Why can't my script read from STDIN after I gave it EOF (^D on Unix, ^Z on MS-DOS)? =item How can I convert my shell script to perl? =item Can I use perl to run a telnet or ftp session? =item How can I write expect in Perl? =item Is there a way to hide perl's command line from programs such as "ps"? =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? Unix =item How do I close a process's filehandle without waiting for it to complete? =item How do I fork a daemon process? =item How do I make my program run with sh and csh? =item How do I find out if I'm running interactively or not? =item How do I timeout a slow event? =item How do I set CPU limits? =item How do I avoid zombies on a Unix system? =item How do I use an SQL database? =item How do I make a system() exit on control-C? =item How do I open a file without blocking? =item How do I install a module from CPAN? =item What's the difference between require and use? =item How do I keep my own module/library directory? =item How do I add the directory my program lives in to the module/library search path? =item How do I add a directory to my include path at runtime? =item What is socket.ph and where do I get it? =back =item AUTHOR AND COPYRIGHT =head2 perlfaq9 - Networking ($Revision: 1.26 $, $Date: 1999/05/23 16:08:30 $) =item DESCRIPTION =over =item My CGI script runs from the command line but not the browser. (500 Server Error) =item How can I get better error messages from a CGI program? =item How do I remove HTML from a string? =item How do I extract URLs? =item How do I download a file from the user's machine? How do I open a file on another machine? =item How do I make a pop-up menu in HTML? =item How do I fetch an HTML file? =item How do I automate an HTML form submission? =item How do I decode or create those %-encodings on the web? =item How do I redirect to another page? =item How do I put a password on my web pages? =item How do I edit my .htpasswd and .htgroup files with Perl? =item How do I make sure users can't enter values into a form that cause my CGI script to do bad things? =item How do I parse a mail header? =item How do I decode a CGI form? =item How do I check a valid mail address? =item How do I decode a MIME/BASE64 string? =item How do I return the user's mail address? =item How do I send mail? =item How do I read mail? =item How do I find out my hostname/domainname/IP address? =item How do I fetch a news article or the active newsgroups? =item How do I fetch/put an FTP file? =item How can I do RPC in Perl? =back =item AUTHOR AND COPYRIGHT =head2 perldelta - what's new for perl5.006 (as of 5.005_56) =item DESCRIPTION =item Incompatible Changes =over =item Perl Source Incompatibilities =item C Source Incompatibilities C, C, C and C Issues =item Compatible C Source API Changes C is now C =item Binary Incompatibilities =back =item Core Changes =over =item Unicode and UTF-8 support =item Lexically scoped warning categories =item Binary numbers supported =item syswrite() ease-of-use =item 64-bit support =item Better syntax checks on parenthesized unary operators =item Improved C operator =item pack() format 'Z' supported =item pack() format modifier '!' supported =item $^X variables may now have names longer than one character =back =item Significant bug fixes =over =item EHANDLEE on empty files =item C improvements =item Automatic flushing of output buffers =back =item Supported Platforms =item New tests =item Modules and Pragmata =over =item Modules Dumpvalue, Benchmark, Devel::Peek, Fcntl, File::Spec, File::Spec::Functions, Math::BigInt, Math::Complex, Math::Trig, SDBM_File, Time::Local, Win32, DBM Filters =item Pragmata =back =item Utility Changes =item Documentation Changes perlopentut.pod, perlreftut.pod, perltootc.pod =item New Diagnostics /%s/: Unrecognized escape \\%c passed through, Unrecognized escape \\%c passed through, Missing command in piped open, defined(@array) is deprecated (and not really meaningful), defined(%hash) is deprecated (and not really meaningful) =item Obsolete Diagnostics =item Configuration Changes =item BUGS =item SEE ALSO =item HISTORY =head2 perldata - Perl data types =item DESCRIPTION =over =item Variable names =item Context =item Scalar values =item Scalar value constructors =item List value constructors =item Slices =item Typeglobs and Filehandles =back =item SEE ALSO =head2 perlsyn - Perl syntax =item DESCRIPTION =over =item Declarations =item Simple statements =item Compound statements =item Loop Control =item For Loops =item Foreach Loops =item Basic BLOCKs and Switch Statements =item Goto =item PODs: Embedded Documentation =item Plain Old Comments (Not!) =back =head2 perlop - Perl operators and precedence =item SYNOPSIS =item DESCRIPTION =over =item Terms and List Operators (Leftward) =item The Arrow Operator =item Auto-increment and Auto-decrement =item Exponentiation =item Symbolic Unary Operators =item Binding Operators =item Multiplicative Operators =item Additive Operators =item Shift Operators =item Named Unary Operators =item Relational Operators =item Equality Operators =item Bitwise And =item Bitwise Or and Exclusive Or =item C-style Logical And =item C-style Logical Or =item Range Operators =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/cgimosx, /PATTERN/cgimosx, q/STRING/, C<'STRING'>, qq/STRING/, "STRING", qr/STRING/imosx, qx/STRING/, `STRING`, qw/STRING/, s/PATTERN/REPLACEMENT/egimosx, tr/SEARCHLIST/REPLACEMENTLIST/cdsUC, y/SEARCHLIST/REPLACEMENTLIST/cdsUC =item Gory details of parsing quoted constructs Finding the end, Removal of backslashes before delimiters, Interpolation, C<<<'EOF'>, C, C, C, C, C<''>, C, C<"">, C<``>, C, C, C<>, C, C, C, C,, Interpolation of regular expressions, Optimization of regular expressions =item I/O Operators =item Constant Folding =item Bitwise String Operators =item Integer Arithmetic =item Floating-point Arithmetic =item Bigger Numbers =back =head2 perlre - Perl regular expressions =item DESCRIPTION i, m, s, x =over =item Regular Expressions =item Extended Patterns C<(?#text)>, C<(?imsx-imsx)>, C<(?:pattern)>, C<(?imsx-imsx:pattern)>, C<(?=pattern)>, C<(?!pattern)>, C<(?E=pattern)>, C<(?, C<(?{ code })>, C<(?p{ code })>, C<(?Epattern)>, C<(?(condition)yes-pattern|no-pattern)>, C<(?(condition)yes-pattern)> =item Backtracking =item Version 8 Regular Expressions =item Warning on \1 vs $1 =item Repeated patterns matching zero-length substring =item Creating custom RE engines =back =item BUGS =item SEE ALSO =head2 perlrun - how to execute the Perl interpreter =item SYNOPSIS =item DESCRIPTION =over =item #! and quoting on non-Unix systems OS/2, MS-DOS, Win95/NT, Macintosh, VMS =item Location of Perl =item Command Switches B<-0>[I], B<-a>, 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 =item ENVIRONMENT HOME, LOGDIR, PATH, PERL5LIB, PERL5OPT, PERLLIB, PERL5DB, PERL5SHELL (specific to the Win32 port), PERL_DEBUG_MSTATS, PERL_DESTRUCT_LEVEL =head2 perlfunc - Perl builtin functions =item DESCRIPTION =over =item Perl Functions by Category Functions for SCALARs or strings, Regular expressions and pattern matching, Numeric functions, Functions for real @ARRAYs, Functions for list data, Functions for real %HASHes, Input and output functions, Functions for fixed length data or records, Functions for filehandles, files, or directories, Keywords related to the control flow of your perl program, Keywords related to scoping, Miscellaneous functions, Functions for processes and process groups, Keywords related to perl modules, Keywords related to classes and object-orientedness, Low-level socket functions, System V interprocess communication functions, Fetching user and group info, Fetching network info, Time-related functions, Functions new in perl5, Functions obsoleted in perl5 =item Portability =item Alphabetical Listing of Perl Functions I<-X> FILEHANDLE, I<-X> EXPR, I<-X>, 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, close, closedir DIRHANDLE, connect SOCKET,NAME, continue BLOCK, cos EXPR, crypt PLAINTEXT,SALT, dbmclose HASH, dbmopen HASH,DBNAME,MASK, defined EXPR, defined, delete EXPR, die LIST, do BLOCK, do SUBROUTINE(LIST), do EXPR, dump LABEL, dump, each HASH, eof FILEHANDLE, eof (), eof, eval EXPR, eval BLOCK, exec LIST, exec PROGRAM LIST, exists EXPR, exit EXPR, exp EXPR, exp, fcntl FILEHANDLE,FUNCTION,SCALAR, fileno FILEHANDLE, flock FILEHANDLE,OPERATION, fork, format, formline PICTURE,LIST, getc FILEHANDLE, getc, getlogin, getpeername SOCKET, getpgrp PID, getppid, getpriority WHICH,WHO, getpwnam NAME, getgrnam NAME, gethostbyname NAME, getnetbyname NAME, getprotobyname NAME, getpwuid UID, getgrgid GID, getservbyname NAME,PROTO, gethostbyaddr ADDR,ADDRTYPE, getnetbyaddr ADDR,ADDRTYPE, getprotobynumber NUMBER, getservbyport PORT,PROTO, getpwent, getgrent, gethostent, getnetent, getprotoent, getservent, setpwent, setgrent, sethostent STAYOPEN, setnetent STAYOPEN, setprotoent STAYOPEN, setservent STAYOPEN, endpwent, endgrent, endhostent, endnetent, endprotoent, endservent, getsockname SOCKET, getsockopt SOCKET,LEVEL,OPTNAME, glob EXPR, glob, gmtime EXPR, goto LABEL, goto EXPR, goto &NAME, grep BLOCK LIST, grep EXPR,LIST, hex EXPR, hex, import, index STR,SUBSTR,POSITION, index STR,SUBSTR, int EXPR, int, ioctl FILEHANDLE,FUNCTION,SCALAR, join EXPR,LIST, keys HASH, kill LIST, last LABEL, last, lc EXPR, lc, lcfirst EXPR, lcfirst, length EXPR, length, link OLDFILE,NEWFILE, listen SOCKET,QUEUESIZE, local EXPR, localtime EXPR, lock, log EXPR, log, lstat FILEHANDLE, lstat EXPR, lstat, m//, map BLOCK LIST, map EXPR,LIST, mkdir FILENAME,MASK, 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, 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/, qr/STRING/, qx/STRING/, qw/STRING/, quotemeta EXPR, quotemeta, rand EXPR, rand, read FILEHANDLE,SCALAR,LENGTH,OFFSET, read FILEHANDLE,SCALAR,LENGTH, readdir DIRHANDLE, readline EXPR, readlink EXPR, readlink, readpipe EXPR, recv SOCKET,SCALAR,LENGTH,FLAGS, redo LABEL, redo, ref EXPR, ref, rename OLDNAME,NEWNAME, require 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,REPLACEMENT, 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, system PROGRAM LIST, syswrite FILEHANDLE,SCALAR,LENGTH,OFFSET, syswrite FILEHANDLE,SCALAR,LENGTH, syswrite FILEHANDLE,SCALAR, tell FILEHANDLE, tell, telldir DIRHANDLE, tie VARIABLE,CLASSNAME,LIST, tied VARIABLE, time, times, tr///, truncate FILEHANDLE,LENGTH, truncate EXPR,LENGTH, uc EXPR, uc, ucfirst EXPR, ucfirst, umask EXPR, umask, undef EXPR, undef, unlink LIST, unlink, unpack TEMPLATE,EXPR, 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, $], $COMPILING, $^C, $DEBUGGING, $^D, $SYSTEM_FD_MAX, $^F, $^H, $INPLACE_EDIT, $^I, $^M, $OSNAME, $^O, $PERLDB, $^P, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, $^R, $^S, $BASETIME, $^T, $WARNING, $^W, $EXECUTABLE_NAME, $^X, $ARGV, @ARGV, @INC, @_, %INC, %ENV, $ENV{expr}, %SIG, $SIG{expr} =item Error Indicators =item Technical Note on the Syntax of Variable Names =back =item BUGS =head2 perlsub - Perl subroutines =item SYNOPSIS =item DESCRIPTION =over =item Private Variables via my() =item Persistent Private Variables =item Temporary Values via local() =item Passing Symbol Table Entries (typeglobs) =item When to Still Use local() 1. You need to give a global variable a temporary value, especially $_, 2. You need to create a local file or directory handle or a local function, 3. You want to temporarily change just one element of an array or hash =item Pass by Reference =item Prototypes =item Constant Functions =item Overriding Built-in 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 attrs, autouse, base, blib, constant, diagnostics, fields, filetest, integer, less, lib, locale, ops, overload, re, sigtrap, strict, subs, utf8, vars, vmsish, warning =item Standard Modules AnyDBM_File, AutoLoader, AutoSplit, B, B::Asmdata, B::Assembler, B::Bblock, B::Bytecode, B::C, B::CC, B::Debug, B::Deparse, B::Disassembler, B::Lint, B::Showlex, B::Stackobj, B::Terse, B::Xref, Benchmark, CGI, CGI::Apache, CGI::Carp, CGI::Cookie, CGI::Fast, CGI::Push, CGI::Switch, CPAN, CPAN::FirstTime, CPAN::Nox, Carp, Class::Struct, Config, Cwd, DB, DB_File, Data::Dumper, Devel::Peek, Devel::SelfStubber, DirHandle, Dumpvalue, DynaLoader, English, Env, Errno, Exporter, ExtUtils::Command, ExtUtils::Embed, ExtUtils::Install, ExtUtils::Installed, ExtUtils::Liblist, ExtUtils::MM_OS2, ExtUtils::MM_Unix, ExtUtils::MM_VMS, ExtUtils::MM_Win32, ExtUtils::MakeMaker, ExtUtils::Manifest, ExtUtils::Miniperl, ExtUtils::Mkbootstrap, ExtUtils::Mksymlists, ExtUtils::Packlist, ExtUtils::testlib, Fatal, Fcntl, File::Basename, File::Compare, File::Copy, File::DosGlob, File::Find, File::Path, File::Spec, File::Spec::Functions, File::Spec::Mac, File::Spec::OS2, File::Spec::Unix, File::Spec::VMS, File::Spec::Win32, File::stat, FileCache, FileHandle, FindBin, GDBM_File, Getopt::Long, Getopt::Std, I18N::Collate, IO, IO::Dir, IO::File, IO::Handle, IO::Pipe, IO::Poll, IO::Seekable, IO::Select, IO::Socket, IO::Socket::INET, IO::Socket::UNIX, IPC::Msg, IPC::Open2, IPC::Open3, IPC::Semaphore, IPC::SysV, Math::BigFloat, Math::BigInt, Math::Complex, Math::Trig, NDBM_File, Net::Ping, Net::hostent, Net::netent, Net::protoent, Net::servent, O, Opcode, POSIX, Pod::Html, Pod::Text, SDBM_File, Safe, Search::Dict, SelectSaver, SelfLoader, Shell, Socket, Symbol, Sys::Hostname, Sys::Syslog, Term::Cap, Term::Complete, Term::ReadLine, Test, Test::Harness, Text::Abbrev, Text::ParseWords, Text::Soundex, Text::Tabs -- expand and unexpand tabs per the unix expand(1) and unexpand(1), Text::Wrap, Thread, Thread::Queue, Thread::Semaphore, Thread::Signal, Thread::Specific, Tie::Array, Tie::Handle, Tie::Hash, Tie::StdHash, Tie::RefHash, Tie::Scalar, Tie::StdScalar, 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 that 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 perlmodinstall - Installing CPAN Modules =item DESCRIPTION =over =item PREAMBLE B the file, B the file into a directory, B the module (sometimes unnecessary), B the module =back =item HEY =item AUTHOR =item COPYRIGHT =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 Finding locales =item LOCALE PROBLEMS =item Temporarily fixing locale problems =item Permanently fixing locale problems =item Permanently fixing your locale configuration =item Fixing system locale configuration =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 C<\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, LANGUAGE, 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 NOTE =item DESCRIPTION =over =item Making References =item Using References =item Symbolic references =item Not-so-symbolic references =item Pseudo-hashes: Using an array as a hash =item Function Templates =back =item WARNING =item SEE ALSO =head2 perlreftut - Mark's very short tutorial about references =item DESCRIPTION =item Who Needs Complicated Data Structures? =item The Solution =item Syntax =over =item Making References =item Using References =back =item An Example =item Arrow Rule =item Solution =item The Rest =item Summary =item Credits =over =item Distribution Conditions =back =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 ARRAYS OF ARRAYS =over =item Declaration of a ARRAY OF ARRAYS =item Generation of a ARRAY OF ARRAYS =item Access and Printing of a ARRAY OF ARRAYS =back =item HASHES OF ARRAYS =over =item Declaration of a HASH OF ARRAYS =item Generation of a HASH OF ARRAYS =item Access and Printing of a HASH OF ARRAYS =back =item ARRAYS OF HASHES =over =item Declaration of a ARRAY OF HASHES =item Generation of a ARRAY OF HASHES =item Access and Printing of a ARRAY 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 - Manipulating Arrays of Arrays in Perl =item DESCRIPTION =item Declaration and Access of Arrays of Arrays =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 AUTHOR AND COPYRIGHT =item COPYRIGHT =over =item Acknowledgments =back =head2 perltootc - Tom's OO Tutorial for Class Data in Perl =item DESCRIPTION =item Class Data as Package Variables =over =item Putting All Your Eggs in One Basket =item Inheritance Concerns =item The Eponymous Meta-Object =item Indirect References to Class Data =item Monadic Classes =item Translucent Attributes =back =item Class Data as Lexical Variables =over =item Privacy and Responsibility =item File-Scoped Lexicals =item More Inheritance Concerns =item Locking the Door and Throwing Away the Key =item Translucency Revisited =back =item NOTES =item SEE ALSO =item AUTHOR AND COPYRIGHT =item ACKNOWLEDGEMENTS =item HISTORY =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 WARNING =item Default UNIVERSAL methods isa(CLASS), can(METHOD), VERSION( [NEED] ) =item Destructors =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, WRITE this, LIST, PRINT this, LIST, PRINTF this, LIST, READ this, LIST, READLINE this, GETC this, CLOSE 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 =over =item WARNING =back =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 =item Bidirectional Communication with Yourself =back =item Sockets: Client/Server Communication =over =item Internet Line Terminators =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 perldbmfilter - Perl DBM Filters =item SYNOPSIS =item DESCRIPTION B, B, B, B =over =item The Filter =item An Example -- the NULL termination problem. =item Another Example -- Key is a C int. =back =item SEE ALSO =item AUTHOR =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, W [expr], W, 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, C, E [ command ], EE command, E command, EE command, { [ command ], {{ command, ! number, ! -number, ! pattern, !! cmd, H -number, q or ^D, R, |dbcmd, ||dbcmd, 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 =item BUGS =back =item Debugging Perl memory usage =over =item Using C<$ENV{PERL_DEBUG_MSTATS}> C, Free/Used, C, C, C, C, C =item Example of using B<-DL> switch C<717>, C<002>, C<054>, C<602>, C<702>, C<704> =item B<-DL> details C, C, C =item Limitations of B<-DL> statistic =back =item Debugging regular expressions =over =item Compile-time output C I C I, C I C I, C, C, C I, C, C, C, C, C, C, C =item Types of nodes =item Run-time output =back =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 =item SEE ALSO =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, Parsing =item Numerical Traps Numerical, Numerical, Numerical =item General data type traps (Arrays), (Arrays), (Hashes), (Globs), (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 =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 C/C trap using returned value, C on empty string with LIMIT specified =back =head2 perlport - Writing portable Perl =item DESCRIPTION Not all Perl programs have to be portable, Nearly all of Perl already I portable =item ISSUES =over =item Newlines =item Numbers endianness and Width =item Files and Filesystems =item System Interaction =item Interprocess Communication (IPC) =item External Subroutines (XS) =item Standard Modules =item Time and Date =item Character sets and character encoding =item Internationalisation =item System Resources =item Security =item Style =back =item CPAN Testers Mailing list: cpan-testers@perl.org, Testing results: C =item PLATFORMS =over =item Unix =item DOS and Derivatives The djgpp environment for DOS, C, The EMX environment for DOS, OS/2, etc. C,C or C, Build instructions for Win32, L, The ActiveState Pages, C =item S The MacPerl Pages, C, The MacPerl mailing lists, C, MacPerl Module Porters, C =item VMS L, vmsperl list, C, vmsperl on the web, C =item VOS L, VOS mailing list, VOS Perl on the web at C =item EBCDIC Platforms perl-mvs list, AS/400 Perl information at C =item Acorn RISC OS =item Other perls Atari, Guido Flohr's page C, HP 300 MPE/iX C, Novell Netware =back =item FUNCTION IMPLEMENTATIONS =over =item Alphabetical Listing of Perl Functions -I FILEHANDLE, -I EXPR, -I, binmode FILEHANDLE, chmod LIST, chown LIST, chroot FILENAME, chroot, crypt PLAINTEXT,SALT, dbmclose HASH, dbmopen HASH,DBNAME,MODE, dump LABEL, exec LIST, fcntl FILEHANDLE,FUNCTION,SCALAR, flock FILEHANDLE,OPERATION, fork, getlogin, getpgrp PID, getppid, getpriority WHICH,WHO, getpwnam NAME, getgrnam NAME, getnetbyname NAME, getpwuid UID, getgrgid GID, getnetbyaddr ADDR,ADDRTYPE, getprotobynumber NUMBER, getservbyport PORT,PROTO, getpwent, getgrent, gethostent, getnetent, getprotoent, getservent, setpwent, setgrent, sethostent STAYOPEN, setnetent STAYOPEN, setprotoent STAYOPEN, setservent STAYOPEN, endpwent, endgrent, endhostent, endnetent, endprotoent, endservent, getsockopt SOCKET,LEVEL,OPTNAME, glob EXPR, glob, ioctl FILEHANDLE,FUNCTION,SCALAR, kill LIST, link OLDFILE,NEWFILE, lstat FILEHANDLE, lstat EXPR, lstat, msgctl ID,CMD,ARG, msgget KEY,FLAGS, msgsnd ID,MSG,FLAGS, msgrcv ID,VAR,SIZE,TYPE,FLAGS, open FILEHANDLE,EXPR, open FILEHANDLE, pipe READHANDLE,WRITEHANDLE, readlink EXPR, readlink, select RBITS,WBITS,EBITS,TIMEOUT, semctl ID,SEMNUM,CMD,ARG, semget KEY,NSEMS,FLAGS, semop KEY,OPSTRING, setpgrp PID,PGRP, setpriority WHICH,WHO,PRIORITY, setsockopt SOCKET,LEVEL,OPTNAME,OPTVAL, shmctl ID,CMD,ARG, shmget KEY,SIZE,FLAGS, shmread ID,VAR,POS,SIZE, shmwrite ID,STRING,POS,SIZE, socketpair SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL, stat FILEHANDLE, stat EXPR, stat, symlink OLDFILE,NEWFILE, syscall LIST, sysopen FILEHANDLE,FILENAME,MODE,PERMS, system LIST, times, truncate FILEHANDLE,LENGTH, truncate EXPR,LENGTH, umask EXPR, umask, utime LIST, wait, waitpid PID,FLAGS =back =item CHANGES v1.43, 24 May 1999, v1.42, 22 May 1999, v1.41, 19 May 1999, v1.40, 11 April 1999, v1.39, 11 February 1999, v1.38, 31 December 1998, v1.37, 19 December 1998, v1.36, 9 September 1998, v1.35, 13 August 1998, v1.33, 06 August 1998, v1.32, 05 August 1998, v1.30, 03 August 1998, v1.23, 10 July 1998 =item AUTHORS / CONTRIBUTORS =item VERSION =head2 perlstyle - Perl style guide =item DESCRIPTION =head2 perlpod - plain old documentation =item DESCRIPTION =over =item Verbatim Paragraph =item Command Paragraph =item Ordinary Block of Text =item The Intent =item Embedding Pods in Perl Modules =item Common Pod Pitfalls =back =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 C_ARGS: Keyword =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 INTERFACE: Keyword =item The INTERFACE_MACRO: 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 =item Localizing changes C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C =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 av_clear, av_extend, av_fetch, AvFILL, av_len, av_make, av_pop, av_push, av_shift, av_store, av_undef, av_unshift, CLASS, Copy, croak, CvSTASH, PL_DBsingle, PL_DBsub, PL_DBtrace, dMARK, dORIGMARK, PL_dowarn, dSP, dXSARGS, dXSI32, do_binmode, ENTER, EXTEND, fbm_compile, fbm_instr, FREETMPS, G_ARRAY, G_DISCARD, G_EVAL, GIMME, GIMME_V, G_NOARGS, G_SCALAR, gv_fetchmeth, gv_fetchmethod, gv_fetchmethod_autoload, G_VOID, gv_stashpv, gv_stashsv, GvSV, HEf_SVKEY, HeHASH, HeKEY, HeKLEN, HePV, HeSVKEY, HeSVKEY_force, HeSVKEY_set, HeVAL, hv_clear, hv_delete, hv_delete_ent, hv_exists, hv_exists_ent, hv_fetch, hv_fetch_ent, hv_iterinit, hv_iterkey, hv_iterkeysv, hv_iternext, hv_iternextsv, hv_iterval, hv_magic, HvNAME, hv_store, hv_store_ent, hv_undef, isALNUM, isALPHA, isDIGIT, isLOWER, isSPACE, isUPPER, items, ix, LEAVE, looks_like_number, MARK, mg_clear, mg_copy, mg_find, mg_free, mg_get, mg_len, mg_magical, mg_set, modglobal, Move, PL_na, New, newAV, Newc, newCONSTSUB, newHV, newRV_inc, newRV_noinc, NEWSV, newSViv, newSVnv, newSVpv, newSVpvf, newSVpvn, newSVrv, newSVsv, newXS, newXSproto, Newz, 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, PUSHu, 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_catpv_mg, sv_catpvn, sv_catpvn_mg, sv_catpvf, sv_catpvf_mg, sv_catsv, sv_catsv_mg, sv_chop, sv_cmp, SvCUR, SvCUR_set, sv_dec, sv_derived_from, SvEND, sv_eq, SvGETMAGIC, SvGROW, sv_grow, sv_inc, sv_insert, SvIOK, SvIOK_off, SvIOK_on, SvIOK_only, SvIOKp, sv_isa, sv_isobject, SvIV, SvIVX, SvLEN, sv_len, sv_magic, sv_mortalcopy, sv_newmortal, SvNIOK, SvNIOK_off, SvNIOKp, PL_sv_no, SvNOK, SvNOK_off, SvNOK_on, SvNOK_only, SvNOKp, SvNV, SvNVX, SvOK, SvOOK, SvPOK, SvPOK_off, SvPOK_on, SvPOK_only, SvPOKp, SvPV, SvPV_force, SvPV_nolen, SvPVX, SvREFCNT, SvREFCNT_dec, SvREFCNT_inc, SvROK, SvROK_off, SvROK_on, SvRV, SvSETMAGIC, sv_setiv, sv_setiv_mg, sv_setnv, sv_setnv_mg, sv_setpv, sv_setpv_mg, sv_setpviv, sv_setpviv_mg, sv_setpvn, sv_setpvn_mg, sv_setpvf, sv_setpvf_mg, sv_setref_iv, sv_setref_nv, sv_setref_pv, sv_setref_pvn, SvSetSV, SvSetSV_nosteal, sv_setsv, sv_setsv_mg, sv_setuv, sv_setuv_mg, SvSTASH, SvTAINT, SvTAINTED, SvTAINTED_off, SvTAINTED_on, SVt_IV, SVt_PV, SVt_PVAV, SVt_PVCV, SVt_PVHV, SVt_PVMG, SVt_NV, SvTRUE, SvTYPE, svtype, PL_sv_undef, sv_unref, SvUPGRADE, sv_upgrade, sv_usepvn, sv_usepvn_mg, sv_vcatpvfn(sv, pat, patlen, args, svargs, svmax, used_locale), sv_vsetpvfn(sv, pat, patlen, args, svargs, svmax, used_locale), SvUV, SvUVX, PL_sv_yes, THIS, toLOWER, toUPPER, warn, XPUSHi, XPUSHn, XPUSHp, XPUSHs, XPUSHu, 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 AUTHORS =head2 perlcall - Perl calling conventions from C =item DESCRIPTION An Error Handler, An Event Driven Program =item THE PERL_CALL FUNCTIONS perl_call_sv, perl_call_pv, perl_call_method, perl_call_argv =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 =head2 perlhist - the Perl history records =item DESCRIPTION =item INTRODUCTION =item THE KEEPERS OF THE PUMPKIN =over =item PUMPKIN? =back =item THE RECORDS =over =item SELECTED RELEASE SIZES =item SELECTED PATCH SIZES =back =item THE KEEPERS OF THE RECORDS =head1 PRAGMA DOCUMENTATION =head2 attrs - set/get attributes of a subroutine =item SYNOPSIS =item DESCRIPTION method, locked =head2 re - Perl pragma to alter regular expression behaviour =item SYNOPSIS =item DESCRIPTION =head2 attrs - set/get attributes of a subroutine =item SYNOPSIS =item DESCRIPTION method, locked =head2 autouse - postpone load of modules until a function is used =item SYNOPSIS =item DESCRIPTION =item WARNING =item AUTHOR =item SEE ALSO =head2 base - Establish IS-A relationship with base class at compile time =item SYNOPSIS =item DESCRIPTION =item HISTORY =item SEE ALSO =head2 blib - Use MakeMaker's uninstalled version of a package =item SYNOPSIS =item DESCRIPTION =item BUGS =item AUTHOR =head2 caller - inherit pragmatic attributes from the context of the caller =item SYNOPSIS =item DESCRIPTION encoding =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 SYNOPSIS =item DESCRIPTION =over =item The C Pragma =item The I Program =back =item EXAMPLES =item INTERNALS =item BUGS =item AUTHOR =head2 fields - compile-time class fields =item SYNOPSIS =item DESCRIPTION =item SEE ALSO =head2 filetest - Perl pragma to control the filetest permission operators =item SYNOPSIS $can_perhaps_read = -r "file"; # use the mode bits { use filetest 'access'; # intuit harder $can_really_read = -r "file"; } $can_perhaps_read = -r "file"; # use the mode bits again =item DESCRIPTION =over =item subpragma access =back =head2 integer - Perl pragma to compute arithmetic in integer instead of double =item SYNOPSIS =item DESCRIPTION =head2 less - perl pragma to request less of something from the compiler =item SYNOPSIS =item DESCRIPTION =head2 lib - manipulate @INC at compile time =item SYNOPSIS =item DESCRIPTION =over =item ADDING DIRECTORIES TO @INC =item DELETING DIRECTORIES FROM @INC =item RESTORING ORIGINAL @INC =back =item SEE ALSO =item AUTHOR =head2 locale - Perl pragma to use and avoid POSIX locales for built-in operations =item SYNOPSIS =item DESCRIPTION =head2 ops - Perl pragma to restrict unsafe operations when compiling =item SYNOPSIS =item DESCRIPTION =item SEE ALSO =head2 overload - Package for overloading perl operations =item SYNOPSIS =item DESCRIPTION =over =item Declaration of overloaded functions =item Calling Conventions for Binary Operations FALSE, TRUE, C =item Calling Conventions for Unary Operations =item Calling Conventions for Mutators C<++> and C<-->, C and other assignment versions =item Overloadable Operations I, I, I, I, I, I, I, I, I =item Inheritance and overloading Strings as values of C directive, Overloading of an operation is inherited by derived classes =back =item SPECIAL SYMBOLS FOR C =over =item Last Resort =item Fallback C, TRUE, defined, but FALSE =item Copy Constructor B =back =item MAGIC AUTOGENERATION I, I, I, C, I, I, I, I, I, I, I =item Losing overloading =item Run-time Overloading =item Public functions overload::StrVal(arg), overload::Overloaded(arg), overload::Method(obj,op) =item Overloading constants integer, float, binary, q, qr =item IMPLEMENTATION =item Metaphor clash =item Cookbook =over =item Two-face scalars =item Two-face references =item Symbolic calculator =item I symbolic calculator =back =item AUTHOR =item DIAGNOSTICS =item BUGS =head2 re - Perl pragma to alter regular expression behaviour =item SYNOPSIS =item DESCRIPTION =head2 sigtrap - Perl pragma to enable simple signal handling =item SYNOPSIS =item DESCRIPTION =item OPTIONS =over =item SIGNAL HANDLERS B, B, B I =item SIGNAL LISTS B, B, B =item OTHER B, B, I, I =back =item EXAMPLES =head2 strict - Perl pragma to restrict unsafe constructs =item SYNOPSIS =item DESCRIPTION C, C, C =head2 subs - Perl pragma to predeclare sub names =item SYNOPSIS =item DESCRIPTION =head2 utf8 - Perl pragma to turn on UTF-8 and Unicode support =item SYNOPSIS =item DESCRIPTION =item CAVEATS =head2 vars - Perl pragma to predeclare global variable names =item SYNOPSIS =item DESCRIPTION =head2 warning - Perl pragma to control optional warnings =item SYNOPSIS =item DESCRIPTION C =head1 MODULE DOCUMENTATION =head2 AnyDBM_File - provide framework for multiple DBMs =item SYNOPSIS =item DESCRIPTION =over =item DBM Comparisons [0], [1], [2], [3] =back =item SEE ALSO =head2 AutoLoader - load subroutines only on demand =item SYNOPSIS =item DESCRIPTION =over =item Subroutine Stubs =item Using B's AUTOLOAD Subroutine =item Overriding B's AUTOLOAD Subroutine =item Package Lexicals =item B vs. B =back =item CAVEATS =item SEE ALSO =head2 AutoSplit - split a package for autoloading =item SYNOPSIS =item DESCRIPTION $keep, $check, $modtime =over =item Multiple packages =back =item DIAGNOSTICS =head2 B - The Perl Compiler =item SYNOPSIS =item DESCRIPTION =item OVERVIEW OF CLASSES =over =item SV-RELATED CLASSES =item B::SV METHODS REFCNT, FLAGS =item B::IV METHODS IV, IVX, needs64bits, packiv =item B::NV METHODS NV, NVX =item B::RV METHODS RV =item B::PV METHODS PV =item B::PVMG METHODS MAGIC, SvSTASH =item B::MAGIC METHODS MOREMAGIC, PRIVATE, TYPE, FLAGS, OBJ, PTR =item B::PVLV METHODS TARGOFF, TARGLEN, TYPE, TARG =item B::BM METHODS USEFUL, PREVIOUS, RARE, TABLE =item B::GV METHODS NAME, STASH, SV, IO, FORM, AV, HV, EGV, CV, CVGEN, LINE, FILEGV, GvREFCNT, FLAGS =item B::IO METHODS LINES, PAGE, PAGE_LEN, LINES_LEFT, TOP_NAME, TOP_GV, FMT_NAME, FMT_GV, BOTTOM_NAME, BOTTOM_GV, SUBPROCESS, IoTYPE, IoFLAGS =item B::AV METHODS FILL, MAX, OFF, ARRAY, AvFLAGS =item B::CV METHODS STASH, START, ROOT, GV, FILEGV, DEPTH, PADLIST, OUTSIDE, XSUB, XSUBANY, CvFLAGS =item B::HV METHODS FILL, MAX, KEYS, RITER, NAME, PMROOT, ARRAY =item OP-RELATED CLASSES =item B::OP METHODS next, sibling, ppaddr, desc, targ, type, seq, flags, private =item B::UNOP METHOD first =item B::BINOP METHOD last =item B::LOGOP METHOD other =item B::LISTOP METHOD children =item B::PMOP METHODS pmreplroot, pmreplstart, pmnext, pmregexp, pmflags, pmpermflags, precomp =item B::SVOP METHOD sv =item B::GVOP METHOD gv =item B::PVOP METHOD pv =item B::LOOP METHODS redoop, nextop, lastop =item B::COP METHODS label, stash, filegv, cop_seq, arybase, line =back =item FUNCTIONS EXPORTED BY C main_cv, init_av, main_root, main_start, comppadlist, sv_undef, sv_yes, sv_no, amagic_generation, walkoptree(OP, METHOD), walkoptree_debug(DEBUG), walksymtable(SYMREF, METHOD, RECURSE), svref_2object(SV), ppname(OPNUM), hash(STR), cast_I32(I), minus_c, cstring(STR), class(OBJ), threadsv_names =item AUTHOR =head2 B::Asmdata - Autogenerated data about Perl ops, used to generate bytecode =item SYNOPSIS =item DESCRIPTION =item AUTHOR =head2 B::Assembler - Assemble Perl bytecode =item SYNOPSIS =item DESCRIPTION =item AUTHOR =head2 B::Bblock - Walk basic blocks =item SYNOPSIS =item DESCRIPTION =item AUTHOR =head2 B::Bytecode - Perl compiler's bytecode backend =item SYNOPSIS =item DESCRIPTION =item OPTIONS B<-ofilename>, B<-->, B<-f>, B<-fcompress-nullops>, B<-fomit-sequence-numbers>, B<-fbypass-nullops>, B<-fstrip-syntax-tree>, B<-On>, B<-D>, B<-Do>, B<-Db>, B<-Da>, B<-DC>, B<-S>, B<-m> =item EXAMPLES =item BUGS =item AUTHOR =head2 B::C - Perl compiler's C backend =item SYNOPSIS =item DESCRIPTION =item OPTIONS B<-ofilename>, B<-v>, B<-->, B<-uPackname>, B<-D>, B<-Do>, B<-Dc>, B<-DA>, B<-DC>, B<-DM>, B<-f>, B<-fcog>, B<-fno-cog>, B<-On> =item EXAMPLES =item BUGS =item AUTHOR =head2 B::CC - Perl compiler's optimized C translation backend =item SYNOPSIS =item DESCRIPTION =item OPTIONS B<-ofilename>, B<-v>, B<-->, B<-uPackname>, B<-mModulename>, B<-D>, B<-Dr>, B<-DO>, B<-Ds>, B<-Dp>, B<-Dq>, B<-Dl>, B<-Dt>, B<-f>, B<-ffreetmps-each-bblock>, B<-ffreetmps-each-loop>, B<-fomit-taint>, B<-On> =item EXAMPLES =item BUGS =item DIFFERENCES =over =item Loops =item Context of ".." =item Arithmetic =item Deprecated features =back =item AUTHOR =head2 B::Debug - Walk Perl syntax tree, printing debug info about ops =item SYNOPSIS =item DESCRIPTION =item AUTHOR =head2 B::Deparse - Perl compiler backend to produce perl code =item SYNOPSIS =item DESCRIPTION =item OPTIONS B<-l>, B<-p>, B<-q>, B<-u>I, B<-s>I, B =item BUGS =item AUTHOR =head2 B::Disassembler - Disassemble Perl bytecode =item SYNOPSIS =item DESCRIPTION =item AUTHOR =head2 B::Lint - Perl lint =item SYNOPSIS =item DESCRIPTION =item OPTIONS AND LINT CHECKS B, B and B, B, B, B, B, B, B =item NON LINT-CHECK OPTIONS B<-u Package> =item BUGS =item AUTHOR =head2 B::O, O - Generic interface to Perl Compiler backends =item SYNOPSIS =item DESCRIPTION =item CONVENTIONS =item IMPLEMENTATION =item AUTHOR =head2 B::Showlex - Show lexical variables used in functions or files =item SYNOPSIS =item DESCRIPTION =item AUTHOR =head2 B::Stackobj - Helper module for CC backend =item SYNOPSIS =item DESCRIPTION =item AUTHOR =head2 B::Terse - Walk Perl syntax tree, printing terse info about ops =item SYNOPSIS =item DESCRIPTION =item AUTHOR =head2 B::Xref - Generates cross reference reports for Perl programs =item SYNOPSIS =item DESCRIPTION =item OPTIONS C<-oFILENAME>, C<-r>, C<-D[tO]> =item BUGS =item AUTHOR =head2 Bblock, B::Bblock - Walk basic blocks =item SYNOPSIS =item DESCRIPTION =item AUTHOR =head2 Benchmark - benchmark running times of code =item SYNOPSIS =item DESCRIPTION =over =item Methods new, debug =item Standard Exports timeit(COUNT, CODE), timethis ( COUNT, CODE, [ TITLE, [ STYLE ]] ), timethese ( COUNT, CODEHASHREF, [ STYLE ] ), timediff ( T1, T2 ), timesum ( T1, T2 ), timestr ( TIMEDIFF, [ STYLE, [ FORMAT ] ] ) =item Optional Exports clearcache ( COUNT ), clearallcache ( ), disablecache ( ), enablecache ( ) =back =item NOTES =item INHERITANCE =item CAVEATS =item AUTHORS =item MODIFICATION HISTORY =head2 ByteLoader - load byte compiled perl code =item SYNOPSIS =item DESCRIPTION =item AUTHOR =item SEE ALSO =head2 Bytecode, B::Bytecode - Perl compiler's bytecode backend =item SYNOPSIS =item DESCRIPTION =item OPTIONS B<-ofilename>, B<-->, B<-f>, B<-fcompress-nullops>, B<-fomit-sequence-numbers>, B<-fbypass-nullops>, B<-fstrip-syntax-tree>, B<-On>, B<-D>, B<-Do>, B<-Db>, B<-Da>, B<-DC>, B<-S>, B<-m> =item EXAMPLES =item BUGS =item AUTHOR =head2 CGI - Simple Common Gateway Interface Class =item SYNOPSIS =item ABSTRACT =item DESCRIPTION =over =item PROGRAMMING STYLE =item CALLING CGI.PM ROUTINES 1. Use another name for the argument, if one is available. Forexample, -value is an alias for -values, 2. Change the capitalization, e.g. -Values, 3. Put quotes around the argument name, e.g. '-values' =item CREATING A NEW QUERY OBJECT (OBJECT-ORIENTED STYLE): =item CREATING A NEW QUERY OBJECT FROM AN INPUT FILE =item FETCHING A LIST OF KEYWORDS FROM THE QUERY: =item FETCHING THE NAMES OF ALL THE PARAMETERS PASSED TO YOUR SCRIPT: =item FETCHING THE VALUE OR VALUES OF A SINGLE NAMED PARAMETER: =item SETTING THE VALUE(S) OF A NAMED PARAMETER: =item APPENDING ADDITIONAL VALUES TO A NAMED PARAMETER: =item IMPORTING ALL PARAMETERS INTO A NAMESPACE: =item DELETING A PARAMETER COMPLETELY: =item DELETING ALL PARAMETERS: =item DIRECT ACCESS TO THE PARAMETER LIST: =item FETCHING THE PARAMETER LIST AS A HASH: =item SAVING THE STATE OF THE SCRIPT TO A FILE: =item RETRIEVING CGI ERRORS =item USING THE FUNCTION-ORIENTED INTERFACE B<:cgi>, B<:form>, B<:html2>, B<:html3>, B<:netscape>, B<:html>, B<:standard>, B<:all> =item PRAGMAS -any, -compile, -nph, -newstyle_urls, -autoload, -no_debug, -private_tempfiles =item SPECIAL FORMS FOR IMPORTING HTML-TAG FUNCTIONS 1. start_table() (generates a tag), 2. end_table() (generates a
tag), 3. start_ul() (generates a
    tag), 4. end_ul() (generates a
tag) =back =item GENERATING DYNAMIC DOCUMENTS =over =item CREATING A STANDARD HTTP HEADER: =item GENERATING A REDIRECTION HEADER =item CREATING THE HTML DOCUMENT HEADER B, 4, 5, 6.. =item ENDING THE HTML DOCUMENT: =item CREATING A SELF-REFERENCING URL THAT PRESERVES STATE INFORMATION: =item OBTAINING THE SCRIPT'S URL B<-absolute>, B<-relative>, B<-full>, B<-path> (B<-path_info>), B<-query> (B<-query_string>) =item MIXING POST AND URL PARAMETERS =back =item CREATING STANDARD HTML ELEMENTS: =over =item PROVIDING ARGUMENTS TO HTML SHORTCUTS =item THE DISTRIBUTIVE PROPERTY OF HTML SHORTCUTS =item HTML SHORTCUTS AND LIST INTERPOLATION =item NON-STANDARD HTML SHORTCUTS =item PRETTY-PRINTING HTML =back =item CREATING FILL-OUT FORMS: =over =item CREATING AN ISINDEX TAG =item STARTING AND ENDING A FORM B, B =item CREATING A TEXT FIELD B =item CREATING A BIG TEXT FIELD =item CREATING A PASSWORD FIELD =item CREATING A FILE UPLOAD FIELD B =item CREATING A POPUP MENU =item CREATING A SCROLLING LIST B =item CREATING A GROUP OF RELATED CHECKBOXES B =item CREATING A STANDALONE CHECKBOX B =item CREATING A RADIO BUTTON GROUP B =item CREATING A SUBMIT BUTTON B =item CREATING A RESET BUTTON =item CREATING A DEFAULT BUTTON =item CREATING A HIDDEN FIELD B =item CREATING A CLICKABLE IMAGE BUTTON B, 3.The third option (-align, optional) is an alignment type, and may be TOP, BOTTOM or MIDDLE =item CREATING A JAVASCRIPT ACTION BUTTON =back =item HTTP COOKIES 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 WORKING WITH FRAMES 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 LIMITED SUPPORT FOR CASCADING STYLE SHEETS =item DEBUGGING =over =item DUMPING OUT ALL THE NAME/VALUE PAIRS =back =item FETCHING ENVIRONMENT VARIABLES 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, B, B, B =item USING NPH SCRIPTS In the B statement, By calling the B method:, By using B<-nph> parameters in the B and B statements: =item Server Push multipart_init() multipart_init(-boundary=>$boundary);, multipart_start(), multipart_end() =item Avoiding Denial of Service Attacks B<$CGI::POST_MAX>, B<$CGI::DISABLE_UPLOADS>, B<1. On a script-by-script basis>, B<2. Globally for all scripts> =item COMPATIBILITY WITH CGI-LIB.PL =item AUTHOR INFORMATION =item CREDITS 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@delfosse.com), 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), Doug MacEachern (dougm@opengroup.org), Robin Houston (robin@oneworld.org), ...and many many more.. =item A COMPLETE EXAMPLE OF A SIMPLE FORM-BASED SCRIPT =item BUGS =item SEE ALSO =head2 CGI::Apache - Make things work with CGI.pm against Perl-Apache API =item SYNOPSIS =item DESCRIPTION =item NOTE 1 =item NOTE 2 =item SEE ALSO =item AUTHOR =head2 CGI::Carp, B - CGI routines for writing to the HTTPD (or other) error log =item SYNOPSIS =item DESCRIPTION =item REDIRECTING ERROR MESSAGES =item MAKING PERL ERRORS APPEAR IN THE BROWSER WINDOW =over =item Changing the default message =back =item CHANGE LOG =item AUTHORS =item SEE ALSO =head2 CGI::Cookie - Interface to Netscape Cookies =item SYNOPSIS =item DESCRIPTION =item USING CGI::Cookie B<1. expiration date>, B<2. domain>, B<3. path>, B<4. secure flag> =over =item Creating New Cookies =item Sending the Cookie to the Browser =item Recovering Previous Cookies =item Manipulating Cookies B, B, B, B, B =back =item AUTHOR INFORMATION =item BUGS =item SEE ALSO =head2 CGI::Fast - CGI Interface for Fast CGI =item SYNOPSIS =item DESCRIPTION =item OTHER PIECES OF THE PUZZLE =item WRITING FASTCGI PERL SCRIPTS =item INSTALLING FASTCGI SCRIPTS =item USING FASTCGI SCRIPTS AS CGI SCRIPTS =item CAVEATS =item AUTHOR INFORMATION =item BUGS =item SEE ALSO =head2 CGI::Push - Simple Interface to Server Push =item SYNOPSIS =item DESCRIPTION =item USING CGI::Push -next_page, -last_page, -type, -delay, -cookie, -target, -expires =over =item Heterogeneous Pages =item Changing the Page Delay on the Fly =back =item INSTALLING CGI::Push SCRIPTS =item AUTHOR INFORMATION =item BUGS =item SEE ALSO =head2 CGI::Switch - Try more than one constructors and return the first object available =item SYNOPSIS =item DESCRIPTION =item SEE ALSO =item AUTHOR =head2 CPAN - query, download and build perl modules from CPAN sites =item SYNOPSIS =item DESCRIPTION =over =item Interactive Mode Searching for authors, bundles, distribution files and modules, make, test, install, clean modules or distributions, readme, look module or distribution, Signals =item CPAN::Shell =item autobundle =item recompile =item The four C Classes: Author, Bundle, Module, Distribution =item ProgrammerE<39>s interface expand($type,@things), Programming Examples =item Methods in the four Classes =item Cache Manager =item Bundles =item Prerequisites =item Finding packages and VERSION =item Debugging =item Floppy, Zip, Offline Mode =back =item CONFIGURATION o conf Escalar optionE, o conf Escalar optionE EvalueE, o conf Elist optionE, o conf Elist optionE [shift|pop], o conf Elist optionE [unshift|push|splice] ElistE =over =item Note on urllist parameter's format =item urllist parameter has CD-ROM support =back =item SECURITY =item EXPORT =item POPULATE AN INSTALLATION WITH LOTS OF MODULES =item WORKING WITH CPAN.pm BEHIND FIREWALLS http firewall, ftp firewall, One way visibility, SOCKS, IP Masquerade =item BUGS =item AUTHOR =item SEE ALSO =head2 CPAN::FirstTime - Utility for CPAN::Config file Initialization =item SYNOPSIS =item DESCRIPTION =head2 CPANox, CPAN::Nox - Wrapper around CPAN.pm without using any XS module =item SYNOPSIS =item DESCRIPTION =item SEE ALSO =head2 Carp, carp - warn of errors (from perspective of caller) =item SYNOPSIS =item DESCRIPTION =over =item Forcing a Stack Trace =back =item BUGS =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'>) =item Initializing with C =back =item EXAMPLES Example 1, Example 2, Example 3 =item Author and Modification History =head2 Config - access Perl configuration information =item SYNOPSIS =item DESCRIPTION myconfig(), config_sh(), config_vars(@names) =item EXAMPLE =item WARNING =item GLOSSARY =over =item _ C<_a>, C<_exe>, C<_o> =item a C, C, C, C, C, C, C, C, C, C, C, C =item b C, C, C, C, C, C, C =item c C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C =item d C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C =item e C, C, C, C, C, C, C, C, C =item f C, C, C, C, C, C, C, C, C, C =item g C, C, C, C, C, C, C =item h C, C, C, C, C =item i C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C =item k C, C =item l C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C =item m C, C, C, C, C, C, C, C, C, C, C, C, C =item M C, C, C, C, C, C, C, C, C, C, C, C, C, C =item n C, C, C, C, C, C, C, C, C, C =item o C, C, C, C, C, C, C =item p C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C =item r C, C, C, C, C, C, C, C =item s C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C =item t C, C, C, C, C, C, C, C, C, C, C =item u C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C =item v C, C, C =item x C =item z C, C =back =item NOTE =head2 Cwd, getcwd - get pathname of current working directory =item SYNOPSIS =item DESCRIPTION =head2 DB - programmatic interface to the Perl debugging API (draft, subject to change) =item SYNOPSIS =item DESCRIPTION =over =item Global Variables $DB::sub, %DB::sub, $DB::single, $DB::signal, $DB::trace, @DB::args, @DB::dbline, %DB::dbline, $DB::package, $DB::filename, $DB::subname, $DB::lineno =item API Methods CLIENT->register(), CLIENT->evalcode(STRING), CLIENT->skippkg('D::hide'), CLIENT->run(), CLIENT->step(), CLIENT->next(), CLIENT->done() =item Client Callback Methods CLIENT->init(), CLIENT->prestop([STRING]), CLIENT->stop(), CLIENT->idle(), CLIENT->poststop([STRING]), CLIENT->evalcode(STRING), CLIENT->cleanup(), CLIENT->output(LIST) =back =item BUGS =item AUTHOR =head2 DB_File - Perl5 access to Berkeley DB version 1.x =item SYNOPSIS =item DESCRIPTION B, B, B =over =item Using DB_File with Berkeley DB version 2 =item Interface to Berkeley DB =item Opening a Berkeley DB Database File =item Default Parameters =item In Memory Databases =back =item DB_HASH =over =item A Simple Example =back =item DB_BTREE =over =item Changing the BTREE sort order =item Handling Duplicate Keys =item The get_dup() Method =item The find_dup() Method =item The del_dup() Method =item Matching Partial Keys =back =item DB_RECNO =over =item The 'bval' Option =item A Simple Example =item Extra RECNO Methods B<$X-Epush(list) ;>, B<$value = $X-Epop ;>, B<$X-Eshift>, B<$X-Eunshift(list) ;>, B<$X-Elength> =item Another Example =back =item THE API INTERFACE B<$status = $X-Eget($key, $value [, $flags]) ;>, B<$status = $X-Eput($key, $value [, $flags]) ;>, B<$status = $X-Edel($key [, $flags]) ;>, B<$status = $X-Efd ;>, B<$status = $X-Eseq($key, $value, $flags) ;>, B<$status = $X-Esync([$flags]) ;> =item HINTS AND TIPS =over =item Locking Databases =item Sharing Databases With C Applications =item The untie() Gotcha =back =item COMMON QUESTIONS =over =item Why is there Perl source in my database? =item How do I store complex data structures with DB_File? =item What does "Invalid Argument" mean? =item What does "Bareword 'DB_File' not allowed" mean? =back =item HISTORY =item BUGS =item AVAILABILITY =item COPYRIGHT =item SEE ALSO =item AUTHOR =head2 Data::Dumper - stringified perl data structures, suitable for both printing and C =item SYNOPSIS =item DESCRIPTION =over =item Methods I->new(I, I), I<$OBJ>->Dump I I->Dump(I, I), I<$OBJ>->Dumpxs I I->Dumpxs(I, I), I<$OBJ>->Seen(I<[HASHREF]>), I<$OBJ>->Values(I<[ARRAYREF]>), I<$OBJ>->Names(I<[ARRAYREF]>), I<$OBJ>->Reset =item Functions Dumper(I), DumperX(I) =item Configuration Variables or Methods $Data::Dumper::Indent I I<$OBJ>->Indent(I<[NEWVAL]>), $Data::Dumper::Purity I I<$OBJ>->Purity(I<[NEWVAL]>), $Data::Dumper::Pad I I<$OBJ>->Pad(I<[NEWVAL]>), $Data::Dumper::Varname I I<$OBJ>->Varname(I<[NEWVAL]>), $Data::Dumper::Useqq I I<$OBJ>->Useqq(I<[NEWVAL]>), $Data::Dumper::Terse I I<$OBJ>->Terse(I<[NEWVAL]>), $Data::Dumper::Freezer I $I->Freezer(I<[NEWVAL]>), $Data::Dumper::Toaster I $I->Toaster(I<[NEWVAL]>), $Data::Dumper::Deepcopy I $I->Deepcopy(I<[NEWVAL]>), $Data::Dumper::Quotekeys I $I->Quotekeys(I<[NEWVAL]>), $Data::Dumper::Bless I $I->Bless(I<[NEWVAL]>) =item Exports Dumper =back =item EXAMPLES =item BUGS =item AUTHOR =item VERSION =item SEE ALSO =head2 Devel::Peek - A data debugging tool for the XS programmer =item SYNOPSIS =item DESCRIPTION =item EXAMPLES =over =item A simple scalar string =item A simple scalar number =item A simple scalar with an extra reference =item A reference to a simple scalar =item A reference to an array =item A reference to a hash =item Dumping a large array or hash =item A reference to an SV which holds a C pointer =item A reference to a subroutine =back =item EXPORTS =item BUGS =item AUTHOR =item SEE ALSO =head2 Devel::SelfStubber - generate stubs for a SelfLoading module =item SYNOPSIS =item DESCRIPTION =head2 DirHandle - supply object methods for directory handles =item SYNOPSIS =item DESCRIPTION =head2 Dumpvalue - provides screen dump of Perl data. =item SYNOPSYS =item DESCRIPTION =over =item Creation C, C, C, C, C, C, C, C, C, C, C, C, unctrl, subdump, bareStringify, quoteHighBit, stopDbSignal =item Methods dumpValue, dumpValues, dumpvars, set_quote, set_unctrl, compactDump, veryCompact, set, get =back =head2 DynaLoader - Dynamically load C libraries into Perl code =item SYNOPSIS =item DESCRIPTION @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 =head2 English - use nice English (or awk) names for ugly punctuation variables =item SYNOPSIS =item DESCRIPTION =head2 Env - perl module that imports environment variables =item SYNOPSIS =item DESCRIPTION =item AUTHOR =head2 Errno - System errno constants =item SYNOPSIS =item DESCRIPTION =item AUTHOR =item COPYRIGHT =head2 Exporter - Implements default import method for modules =item SYNOPSIS =item DESCRIPTION =over =item Selecting What To Export =item Specialised Import Lists =item Exporting without using Export's import method =item Module Version Checking =item Managing Unknown Symbols =item Tag Handling Utility Functions =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 =item DESCRIPTION =item @EXPORT =item FUNCTIONS xsinit(), Examples, ldopts(), Examples, perl_inc(), ccflags(), ccdlflags(), ccopts(), xsi_header(), xsi_protos(@modules), xsi_body(@modules) =item EXAMPLES =item SEE ALSO =item AUTHOR =head2 ExtUtils::Install - install files from here to there =item SYNOPSIS =item DESCRIPTION =head2 ExtUtils::Installed - Inventory management of installed modules =item SYNOPSIS =item DESCRIPTION =item USAGE =item FUNCTIONS new(), modules(), files(), directories(), directory_tree(), validate(), packlist(), version() =item EXAMPLE =item AUTHOR =head2 ExtUtils::Liblist - determine libraries to use and how to use them =item SYNOPSIS =item DESCRIPTION For static extensions, For dynamic extensions, For dynamic extensions =over =item EXTRALIBS =item LDLOADLIBS and LD_RUN_PATH =item BSLOADLIBS =back =item PORTABILITY =over =item VMS implementation =item Win32 implementation =back =item SEE ALSO =head2 ExtUtils::MM_Cygwin - methods to override UN*X behaviour in ExtUtils::MakeMaker =item SYNOPSIS =item DESCRIPTION canonpath, cflags, manifypods, perl_archive =head2 ExtUtils::MM_OS2 - methods to override UN*X behaviour in ExtUtils::MakeMaker =item SYNOPSIS =item DESCRIPTION =head2 ExtUtils::MM_Unix - methods used by ExtUtils::MakeMaker =item SYNOPSIS =item DESCRIPTION =item METHODS =over =item Preloaded methods canonpath, catdir, catfile, curdir, rootdir, updir =item SelfLoaded methods c_o (o), cflags (o), clean (o), const_cccmd (o), const_config (o), const_loadlibs (o), constants (o), depend (o), dir_target (o), dist (o), dist_basics (o), dist_ci (o), dist_core (o), dist_dir (o), dist_test (o), dlsyms (o), dynamic (o), dynamic_bs (o), dynamic_lib (o), exescan, extliblist, file_name_is_absolute, find_perl =item Methods to actually produce chunks of text for the Makefile fixin, force (o), guess_name, has_link_code, init_dirscan, init_main, init_others, install (o), installbin (o), libscan (o), linkext (o), lsdir, macro (o), makeaperl (o), makefile (o), manifypods (o), maybe_command, maybe_command_in_dirs, needs_linking (o), nicetext, parse_version, parse_abstract, pasthru (o), path, perl_script, perldepend (o), ppd, perm_rw (o), perm_rwx (o), pm_to_blib, post_constants (o), 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_cpp (o), xs_o (o), perl_archive, export_list =back =item SEE ALSO =head2 ExtUtils::MM_VMS - methods to override UN*X behaviour in ExtUtils::MakeMaker =item SYNOPSIS =item DESCRIPTION =over =item Methods always loaded eliminate_macros, fixpath, catdir, catfile, wraplist, curdir (override), rootdir (override), updir (override) =item SelfLoaded methods guess_name (override), find_perl (override), path (override), maybe_command (override), maybe_command_in_dirs (override), perl_script (override), file_name_is_absolute (override), replace_manpage_separator, init_others (override), constants (override), cflags (override), const_cccmd (override), pm_to_blib (override), tool_autosplit (override), tool_sxubpp (override), xsubpp_version (override), tools_other (override), dist (override), c_o (override), xs_c (override), xs_o (override), top_targets (override), dlsyms (override), dynamic_lib (override), dynamic_bs (override), static_lib (override), manifypods (override), processPL (override), installbin (override), subdir_x (override), clean (override), realclean (override), dist_basics (override), dist_core (override), dist_dir (override), dist_test (override), install (override), perldepend (override), makefile (override), test (override), test_via_harness (override), test_via_script (override), makeaperl (override), nicetext (override) =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 =item DESCRIPTION =over =item How To Write A Makefile.PL =item Default Makefile Behaviour =item make test =item make testdb =item make install =item PREFIX and LIB attribute =item AFS users =item Static Linking of a new Perl Binary =item Determination of Perl Library and Installation Locations =item Which architecture dependent directory? =item Using Attributes and Parameters AUTHOR, ABSTRACT, ABSTRACT_FROM, BINARY_LOCATION, C, CAPI, CCFLAGS, CONFIG, CONFIGURE, DEFINE, DIR, DISTNAME, DL_FUNCS, DL_VARS, EXCLUDE_EXT, EXE_FILES, FIRST_MAKEFILE, FULLPERL, FUNCLIST, H, IMPORTS, INC, INCLUDE_EXT, INSTALLARCHLIB, INSTALLBIN, INSTALLDIRS, INSTALLMAN1DIR, INSTALLMAN3DIR, INSTALLPRIVLIB, INSTALLSCRIPT, INSTALLSITEARCH, INSTALLSITELIB, INST_ARCHLIB, INST_BIN, INST_EXE, INST_LIB, INST_MAN1DIR, INST_MAN3DIR, INST_SCRIPT, LDFROM, LIB, LIBPERL_A, LIBS, LINKTYPE, MAKEAPERL, MAKEFILE, MAN1PODS, MAN3PODS, MAP_TARGET, MYEXTLIB, NAME, NEEDS_LINKING, NOECHO, NORECURS, NO_VC, OBJECT, OPTIMIZE, PERL, PERLMAINCC, PERL_ARCHLIB, PERL_LIB, PERL_SRC, PERM_RW, PERM_RWX, PL_FILES, PM, PMLIBDIRS, POLLUTE, PPM_INSTALL_EXEC, PPM_INSTALL_SCRIPT, PREFIX, PREREQ_PM, SKIP, TYPEMAPS, VERSION, VERSION_FROM, XS, XSOPT, XSPROTOARG, XS_VERSION =item Additional lowercase attributes clean, depend, dist, dynamic_lib, linkext, macro, realclean, test, tool_autosplit =item Overriding MakeMaker Methods =item Hintsfile support =item Distribution Support make distcheck, make skipcheck, make distclean, make manifest, make distdir, make tardist, make dist, make uutardist, make shdist, make zipdist, make ci =item Disabling an extension =back =item ENVIRONMENT PERL_MM_OPT =item SEE ALSO =item AUTHORS =head2 ExtUtils::Manifest - utilities to write and check a MANIFEST file =item SYNOPSIS =item DESCRIPTION =item MANIFEST.SKIP =item EXPORT_OK =item GLOBAL VARIABLES =item DIAGNOSTICS C I, C I, C I<$!>, C I =item SEE ALSO =item AUTHOR =head2 ExtUtils::Miniperl, writemain - write the C code for perlmain.c =item SYNOPSIS =item DESCRIPTION =item SEE ALSO =head2 ExtUtils::Mkbootstrap - make a bootstrap file for use by DynaLoader =item SYNOPSIS =item DESCRIPTION =head2 ExtUtils::Mksymlists - write linker options files for dynamic extension =item SYNOPSIS =item DESCRIPTION DLBASE, DL_FUNCS, DL_VARS, FILE, FUNCLIST, IMPORTS, NAME =item AUTHOR =item REVISION =head2 ExtUtils::Packlist - manage .packlist files =item SYNOPSIS =item DESCRIPTION =item USAGE =item FUNCTIONS new(), read(), write(), validate(), packlist_file() =item EXAMPLE =item AUTHOR =head2 ExtUtils::testlib - add blib/* directories to @INC =item SYNOPSIS =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 =item DESCRIPTION =item NOTE =item EXPORTED SYMBOLS =head2 File::Basename, fileparse - split a pathname into pieces =item SYNOPSIS =item DESCRIPTION fileparse_set_fstype, fileparse =item EXAMPLES C, C =head2 File::CheckTree, validate - run many filetest checks on a tree =item SYNOPSIS =item DESCRIPTION =head2 File::Compare - Compare files or filehandles =item SYNOPSIS =item DESCRIPTION =item RETURN =item AUTHOR =head2 File::Copy - Copy files or filehandles =item SYNOPSIS =item DESCRIPTION =over =item Special behaviour if C is defined (OS/2, VMS and Win32) rmscopy($from,$to[,$date_flag]) =back =item RETURN =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 =item DESCRIPTION =item BUGS =head2 File::Path - create or remove a series of directories =item SYNOPSIS =item DESCRIPTION =item AUTHORS =head2 File::Spec - portably perform operations on file names =item SYNOPSIS =item DESCRIPTION =item SEE ALSO =item AUTHORS =head2 File::Spec::Functions - portably perform operations on file names =item SYNOPSIS =item DESCRIPTION =over =item Exports =back =item SEE ALSO =head2 File::Spec::Mac - File::Spec for MacOS =item SYNOPSIS =item DESCRIPTION =item METHODS canonpath, catdir, catfile, curdir, devnull, rootdir, tmpdir, updir, file_name_is_absolute, path =item SEE ALSO =head2 File::Spec::OS2 - methods for OS/2 file specs =item SYNOPSIS =item DESCRIPTION =head2 File::Spec::Unix - methods used by File::Spec =item SYNOPSIS =item DESCRIPTION =item METHODS canonpath, catdir, catfile, curdir, devnull, rootdir, tmpdir, updir, no_upwards, file_name_is_absolute, path, join, splitpath, splitdir, catpath, abs2rel, rel2abs =item SEE ALSO =head2 File::Spec::VMS - methods for VMS file specs =item SYNOPSIS =item DESCRIPTION =over =item Methods always loaded catdir, catfile, curdir (override), devnull (override), rootdir (override), tmpdir (override), updir (override), path (override), file_name_is_absolute (override) =back =item SEE ALSO =head2 File::Spec::Win32 - methods for Win32 file specs =item SYNOPSIS =item DESCRIPTION devnull, tmpdir, catfile, canonpath, splitpath, splitdir, catpath, abs2rel, rel2abs =item SEE ALSO =head2 File::stat - by-name interface to Perl's built-in stat() functions =item SYNOPSIS =item DESCRIPTION =item NOTE =item AUTHOR =head2 FileCache - keep more files open than the system permits =item SYNOPSIS =item DESCRIPTION =item BUGS =head2 FileHandle - supply object methods for filehandles =item SYNOPSIS =item DESCRIPTION $fh->print, $fh->printf, $fh->getline, $fh->getlines =item SEE ALSO =head2 FindBin - Locate directory of original perl script =item SYNOPSIS =item DESCRIPTION =item EXPORTABLE VARIABLES =item KNOWN BUGS =item AUTHORS =item COPYRIGHT =head2 GDBM_File - Perl5 access to the gdbm library. =item SYNOPSIS =item DESCRIPTION =item AVAILABILITY =item BUGS =item SEE ALSO =head2 Getopt::Long, GetOptions - extended processing of command line options =item SYNOPSIS =item DESCRIPTION !, +, :s, :i, :f =over =item Linkage specification =item Aliases and abbreviations =item Non-option call-back routine =item Option starters =item Return values and Errors =back =item COMPATIBILITY =item EXAMPLES =item CONFIGURATION OPTIONS 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), prefix, prefix_pattern, debug (default: reset) =item OTHER USEFUL VARIABLES $Getopt::Long::VERSION, $Getopt::Long::error =item AUTHOR =item COPYRIGHT AND DISCLAIMER =head2 Getopt::Std, getopt - Process single-character switches with switch clustering =item SYNOPSIS =item DESCRIPTION =head2 I18N::Collate - compare 8-bit scalar data according to the current locale =item SYNOPSIS =item DESCRIPTION =head2 IO - load various IO modules =item SYNOPSIS =item DESCRIPTION =head2 IO::Dir - supply object methods for directory handles =item SYNOPSIS =item DESCRIPTION new ( [ DIRNAME ] ), open ( DIRNAME ), read (), seek ( POS ), tell (), rewind (), close (), tie %hash, IO::Dir, DIRNAME [, OPTIONS ] =item SEE ALSO =item AUTHOR =item COPYRIGHT =head2 IO::File - supply object methods for filehandles =item SYNOPSIS =item DESCRIPTION =item CONSTRUCTOR new ( FILENAME [,MODE [,PERMS]] ), new_tmpfile =item METHODS open( FILENAME [,MODE [,PERMS]] ) =item SEE ALSO =item HISTORY =head2 IO::Handle - supply object methods for I/O handles =item SYNOPSIS =item DESCRIPTION =item CONSTRUCTOR new (), new_from_fd ( FD, MODE ) =item METHODS $io->fdopen ( FD, MODE ), $io->opened, $io->getline, $io->getlines, $io->ungetc ( ORD ), $io->write ( BUF, LEN [, OFFSET ] ), $io->error, $io->clearerr, $io->sync, $io->flush, $io->printflush ( ARGS ), $io->blocking ( [ BOOL ] ), $io->untaint =item NOTE =item SEE ALSO =item BUGS =item HISTORY =head2 IO::Pipe - supply object methods for pipes =item SYNOPSIS =item DESCRIPTION =item CONSTRUCTOR new ( [READER, WRITER] ) =item METHODS reader ([ARGS]), writer ([ARGS]), handles () =item SEE ALSO =item AUTHOR =item COPYRIGHT =head2 IO::Poll - Object interface to system poll call =item SYNOPSIS =item DESCRIPTION =item METHODS mask ( IO [, EVENT_MASK ] ), poll ( [ TIMEOUT ] ), events ( IO ), remove ( IO ), handles( [ EVENT_MASK ] ) =item SEE ALSO =item AUTHOR =item COPYRIGHT =head2 IO::Seekable - supply seek based methods for I/O objects =item SYNOPSIS =item DESCRIPTION =item SEE ALSO =item HISTORY =head2 IO::Select - OO interface to the select system call =item SYNOPSIS =item DESCRIPTION =item CONSTRUCTOR new ( [ HANDLES ] ) =item METHODS add ( HANDLES ), remove ( HANDLES ), exists ( HANDLE ), handles, can_read ( [ TIMEOUT ] ), can_write ( [ TIMEOUT ] ), has_exception ( [ TIMEOUT ] ), count (), bits(), select ( READ, WRITE, ERROR [, TIMEOUT ] ) =item EXAMPLE =item AUTHOR =item COPYRIGHT =head2 IO::Socket - Object interface to socket communications =item SYNOPSIS =item DESCRIPTION =item CONSTRUCTOR new ( [ARGS] ) =item METHODS accept([PKG]), timeout([VAL]), sockopt(OPT [, VAL]), sockdomain, socktype, protocol, connected =item SEE ALSO =item AUTHOR =item COPYRIGHT =head2 IO::Socket::INET - Object interface for AF_INET domain sockets =item SYNOPSIS =item DESCRIPTION =item CONSTRUCTOR new ( [ARGS] ) =over =item METHODS sockaddr (), sockport (), sockhost (), peeraddr (), peerport (), peerhost () =back =item SEE ALSO =item AUTHOR =item COPYRIGHT =head2 IO::Socket::UNIX - Object interface for AF_UNIX domain sockets =item SYNOPSIS =item DESCRIPTION =item CONSTRUCTOR new ( [ARGS] ) =item METHODS hostpath(), peerpath() =item SEE ALSO =item AUTHOR =item COPYRIGHT =head2 IO::lib::IO::Dir, IO::Dir - supply object methods for directory handles =item SYNOPSIS =item DESCRIPTION new ( [ DIRNAME ] ), open ( DIRNAME ), read (), seek ( POS ), tell (), rewind (), close (), tie %hash, IO::Dir, DIRNAME [, OPTIONS ] =item SEE ALSO =item AUTHOR =item COPYRIGHT =head2 IO::lib::IO::File, IO::File - supply object methods for filehandles =item SYNOPSIS =item DESCRIPTION =item CONSTRUCTOR new ( FILENAME [,MODE [,PERMS]] ), new_tmpfile =item METHODS open( FILENAME [,MODE [,PERMS]] ) =item SEE ALSO =item HISTORY =head2 IO::lib::IO::Handle, IO::Handle - supply object methods for I/O handles =item SYNOPSIS =item DESCRIPTION =item CONSTRUCTOR new (), new_from_fd ( FD, MODE ) =item METHODS $io->fdopen ( FD, MODE ), $io->opened, $io->getline, $io->getlines, $io->ungetc ( ORD ), $io->write ( BUF, LEN [, OFFSET ] ), $io->error, $io->clearerr, $io->sync, $io->flush, $io->printflush ( ARGS ), $io->blocking ( [ BOOL ] ), $io->untaint =item NOTE =item SEE ALSO =item BUGS =item HISTORY =head2 IO::lib::IO::Pipe, IO::Pipe - supply object methods for pipes =item SYNOPSIS =item DESCRIPTION =item CONSTRUCTOR new ( [READER, WRITER] ) =item METHODS reader ([ARGS]), writer ([ARGS]), handles () =item SEE ALSO =item AUTHOR =item COPYRIGHT =head2 IO::lib::IO::Poll, IO::Poll - Object interface to system poll call =item SYNOPSIS =item DESCRIPTION =item METHODS mask ( IO [, EVENT_MASK ] ), poll ( [ TIMEOUT ] ), events ( IO ), remove ( IO ), handles( [ EVENT_MASK ] ) =item SEE ALSO =item AUTHOR =item COPYRIGHT =head2 IO::lib::IO::Seekable, IO::Seekable - supply seek based methods for I/O objects =item SYNOPSIS =item DESCRIPTION =item SEE ALSO =item HISTORY =head2 IO::lib::IO::Select, IO::Select - OO interface to the select system call =item SYNOPSIS =item DESCRIPTION =item CONSTRUCTOR new ( [ HANDLES ] ) =item METHODS add ( HANDLES ), remove ( HANDLES ), exists ( HANDLE ), handles, can_read ( [ TIMEOUT ] ), can_write ( [ TIMEOUT ] ), has_exception ( [ TIMEOUT ] ), count (), bits(), select ( READ, WRITE, ERROR [, TIMEOUT ] ) =item EXAMPLE =item AUTHOR =item COPYRIGHT =head2 IO::lib::IO::Socket, IO::Socket - Object interface to socket communications =item SYNOPSIS =item DESCRIPTION =item CONSTRUCTOR new ( [ARGS] ) =item METHODS accept([PKG]), timeout([VAL]), sockopt(OPT [, VAL]), sockdomain, socktype, protocol, connected =item SEE ALSO =item AUTHOR =item COPYRIGHT =head2 IO::lib::IO::Socket::INET, IO::Socket::INET - Object interface for AF_INET domain sockets =item SYNOPSIS =item DESCRIPTION =item CONSTRUCTOR new ( [ARGS] ) =over =item METHODS sockaddr (), sockport (), sockhost (), peeraddr (), peerport (), peerhost () =back =item SEE ALSO =item AUTHOR =item COPYRIGHT =head2 IO::lib::IO::Socket::UNIX, IO::Socket::UNIX - Object interface for AF_UNIX domain sockets =item SYNOPSIS =item DESCRIPTION =item CONSTRUCTOR new ( [ARGS] ) =item METHODS hostpath(), peerpath() =item SEE ALSO =item AUTHOR =item COPYRIGHT =head2 IPC::Msg - SysV Msg IPC object class =item SYNOPSIS =item DESCRIPTION =item METHODS new ( KEY , FLAGS ), id, rcv ( BUF, LEN [, TYPE [, FLAGS ]] ), remove, set ( STAT ), set ( NAME => VALUE [, NAME => VALUE ...] ), snd ( TYPE, MSG [, FLAGS ] ), stat =item SEE ALSO =item AUTHOR =item COPYRIGHT =head2 IPC::Open2, open2 - open a process for both reading and writing =item SYNOPSIS =item DESCRIPTION =item WARNING =item SEE ALSO =head2 IPC::Open3, open3 - open a process for reading, writing, and error handling =item SYNOPSIS =item DESCRIPTION =item WARNING =head2 IPC::Semaphore - SysV Semaphore IPC object class =item SYNOPSIS =item DESCRIPTION =item METHODS new ( KEY , NSEMS , FLAGS ), getall, getncnt ( SEM ), getpid ( SEM ), getval ( SEM ), getzcnt ( SEM ), id, op ( OPLIST ), remove, set ( STAT ), set ( NAME => VALUE [, NAME => VALUE ...] ), setall ( VALUES ), setval ( N , VALUE ), stat =item SEE ALSO =item AUTHOR =item COPYRIGHT =head2 IPC::SysV - SysV IPC constants =item SYNOPSIS =item DESCRIPTION ftok( PATH, ID ) =item SEE ALSO =item AUTHORS =item COPYRIGHT =head2 IPC::SysV::Msg, IPC::Msg - SysV Msg IPC object class =item SYNOPSIS =item DESCRIPTION =item METHODS new ( KEY , FLAGS ), id, rcv ( BUF, LEN [, TYPE [, FLAGS ]] ), remove, set ( STAT ), set ( NAME => VALUE [, NAME => VALUE ...] ), snd ( TYPE, MSG [, FLAGS ] ), stat =item SEE ALSO =item AUTHOR =item COPYRIGHT =head2 IPC::SysV::Semaphore, IPC::Semaphore - SysV Semaphore IPC object class =item SYNOPSIS =item DESCRIPTION =item METHODS new ( KEY , NSEMS , FLAGS ), getall, getncnt ( SEM ), getpid ( SEM ), getval ( SEM ), getzcnt ( SEM ), id, op ( OPLIST ), remove, set ( STAT ), set ( NAME => VALUE [, NAME => VALUE ...] ), setall ( VALUES ), setval ( N , VALUE ), stat =item SEE ALSO =item AUTHOR =item COPYRIGHT =head2 Math::BigFloat - Arbitrary length float math package =item SYNOPSIS =item DESCRIPTION number format, Error returns 'NaN', Division is computed to, Rounding is performed =item BUGS =item AUTHOR =head2 Math::BigInt - Arbitrary size integer math package =item SYNOPSIS =item DESCRIPTION Canonical notation, Input, Output =item EXAMPLES =item Autocreating constants =item BUGS =item AUTHOR =head2 Math::Complex - complex numbers and associated mathematical functions =item SYNOPSIS =item DESCRIPTION =item OPERATIONS =item CREATION =item STRINGIFICATION =item USAGE =item ERRORS DUE TO DIVISION BY ZERO OR LOGARITHM OF ZERO =item ERRORS DUE TO INDIGESTIBLE ARGUMENTS =item BUGS =item AUTHORS =head2 Math::Trig - trigonometric functions =item SYNOPSIS =item DESCRIPTION =item TRIGONOMETRIC FUNCTIONS B =over =item ERRORS DUE TO DIVISION BY ZERO =item SIMPLE (REAL) ARGUMENTS, COMPLEX RESULTS =back =item PLANE ANGLE CONVERSIONS =item RADIAL COORDINATE CONVERSIONS =over =item COORDINATE SYSTEMS =item 3-D ANGLE CONVERSIONS cartesian_to_cylindrical, cartesian_to_spherical, cylindrical_to_cartesian, cylindrical_to_spherical, spherical_to_cartesian, spherical_to_cylindrical =back =item GREAT CIRCLE DISTANCES =item EXAMPLES =item BUGS =item AUTHORS =head2 NDBM_File - Tied access to ndbm files =item SYNOPSIS =item DESCRIPTION =head2 Net::Ping - check a remote host for reachability =item SYNOPSIS =item DESCRIPTION =over =item Functions Net::Ping->new([$proto [, $def_timeout [, $bytes]]]);, $p->ping($host [, $timeout]);, $p->close();, pingecho($host [, $timeout]); =back =item WARNING =item NOTES =head2 Net::hostent - by-name interface to Perl's built-in gethost*() functions =item SYNOPSIS =item DESCRIPTION =item EXAMPLES =item NOTE =item AUTHOR =head2 Net::netent - by-name interface to Perl's built-in getnet*() functions =item SYNOPSIS =item DESCRIPTION =item EXAMPLES =item NOTE =item AUTHOR =head2 Net::protoent - by-name interface to Perl's built-in getproto*() functions =item SYNOPSIS =item DESCRIPTION =item NOTE =item AUTHOR =head2 Net::servent - by-name interface to Perl's built-in getserv*() functions =item SYNOPSIS =item DESCRIPTION =item EXAMPLES =item NOTE =item AUTHOR =head2 O - Generic interface to Perl Compiler backends =item SYNOPSIS =item DESCRIPTION =item CONVENTIONS =item IMPLEMENTATION =item AUTHOR =head2 ODBM_File - Tied access to odbm files =item SYNOPSIS =item DESCRIPTION =head2 Opcode - Disable named opcodes when compiling perl code =item SYNOPSIS =item DESCRIPTION =item NOTE =item WARNING =item Operator Names and Operator Lists an operator name (opname), an operator tag name (optag), a negated opname or optag, an operator set (opset) =item Opcode Functions opcodes, opset (OP, ...), opset_to_ops (OPSET), opset_to_hex (OPSET), full_opset, empty_opset, invert_opset (OPSET), verify_opset (OPSET, ...), define_optag (OPTAG, OPSET), opmask_add (OPSET), opmask, opdesc (OP, ...), opdump (PAT) =item Manipulating Opsets =item TO DO (maybe) =item Predefined Opcode Tags :base_core, :base_mem, :base_loop, :base_io, :base_orig, :base_math, :base_thread, :default, :filesys_read, :sys_db, :browse, :filesys_open, :filesys_write, :subprocess, :ownprocess, :others, :still_to_be_decided, :dangerous =item SEE ALSO =item AUTHORS =head2 Opcode::Safe, Safe - Compile and execute code in restricted compartments =item SYNOPSIS =item DESCRIPTION a new namespace, an operator mask =item WARNING =over =item RECENT CHANGES =item Methods in class Safe permit (OP, ...), permit_only (OP, ...), deny (OP, ...), deny_only (OP, ...), trap (OP, ...), untrap (OP, ...), share (NAME, ...), share_from (PACKAGE, ARRAYREF), varglob (VARNAME), reval (STRING), rdo (FILENAME), root (NAMESPACE), mask (MASK) =item Some Safety Issues Memory, CPU, Snooping, Signals, State Changes =item AUTHOR =back =head2 Opcode::ops, ops - Perl pragma to restrict unsafe operations when compiling =item SYNOPSIS =item DESCRIPTION =item SEE ALSO =head2 POSIX - Perl interface to IEEE Std 1003.1 =item SYNOPSIS =item DESCRIPTION =item NOTE =item CAVEATS =item FUNCTIONS _exit, abort, abs, access, acos, alarm, asctime, asin, assert, atan, atan2, atexit, atof, atoi, atol, bsearch, calloc, ceil, chdir, chmod, chown, clearerr, clock, close, closedir, cos, cosh, creat, ctermid, ctime, cuserid, difftime, div, dup, dup2, errno, execl, execle, execlp, execv, execve, execvp, exit, exp, fabs, fclose, fcntl, fdopen, feof, ferror, fflush, fgetc, fgetpos, fgets, fileno, floor, fmod, fopen, fork, fpathconf, fprintf, fputc, fputs, fread, free, freopen, frexp, fscanf, fseek, fsetpos, fstat, ftell, fwrite, getc, getchar, getcwd, getegid, getenv, geteuid, getgid, getgrgid, getgrnam, getgroups, getlogin, getpgrp, getpid, getppid, getpwnam, getpwuid, gets, getuid, gmtime, isalnum, isalpha, isatty, iscntrl, isdigit, isgraph, islower, isprint, ispunct, isspace, isupper, isxdigit, kill, labs, ldexp, ldiv, link, localeconv, localtime, log, log10, longjmp, lseek, malloc, mblen, mbstowcs, mbtowc, memchr, memcmp, memcpy, memmove, memset, mkdir, mkfifo, mktime, modf, nice, offsetof, open, opendir, pathconf, pause, perror, pipe, pow, printf, putc, putchar, puts, qsort, raise, rand, read, readdir, realloc, remove, rename, rewind, rewinddir, rmdir, scanf, setgid, setjmp, setlocale, setpgid, setsid, setuid, sigaction, siglongjmp, sigpending, sigprocmask, sigsetjmp, sigsuspend, sin, sinh, sleep, sprintf, sqrt, srand, sscanf, stat, strcat, strchr, strcmp, strcoll, strcpy, strcspn, strerror, strftime, strlen, strncat, strncmp, strncpy, stroul, strpbrk, strrchr, strspn, strstr, strtod, strtok, strtol, strtoul, strxfrm, sysconf, system, tan, tanh, tcdrain, tcflow, tcflush, tcgetpgrp, tcsendbreak, tcsetpgrp, time, times, tmpfile, tmpnam, tolower, toupper, ttyname, tzname, tzset, umask, uname, ungetc, unlink, utime, vfprintf, vprintf, vsprintf, wait, waitpid, wcstombs, wctomb, write =item CLASSES =over =item POSIX::SigAction new =item POSIX::SigSet new, addset, delset, emptyset, fillset, ismember =item POSIX::Termios new, getattr, getcc, getcflag, getiflag, getispeed, getlflag, getoflag, getospeed, setattr, setcc, setcflag, setiflag, setispeed, setlflag, setoflag, setospeed, Baud rate values, Terminal interface values, c_cc field values, c_cflag field values, c_iflag field values, c_lflag field values, c_oflag field values =back =item PATHNAME CONSTANTS Constants =item POSIX CONSTANTS Constants =item SYSTEM CONFIGURATION Constants =item ERRNO Constants =item FCNTL Constants =item FLOAT Constants =item LIMITS Constants =item LOCALE Constants =item MATH Constants =item SIGNAL Constants =item STAT Constants, Macros =item STDLIB Constants =item STDIO Constants =item TIME Constants =item UNISTD Constants =item WAIT Constants, Macros =item CREATION =head2 Pod::Checker, podchecker() - check pod documents for syntax errors =item SYNOPSIS =item OPTIONS/ARGUMENTS =item DESCRIPTION =item EXAMPLES =item AUTHOR =head2 Pod::Html - module to convert pod files to HTML =item SYNOPSIS =item DESCRIPTION =item ARGUMENTS help, htmldir, 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::InputObjects - objects representing POD input paragraphs, commands, etc. =item SYNOPSIS =item REQUIRES =item EXPORTS =item DESCRIPTION B, B, B, B =item B =over =item B =item B =item B =item B =back =item B =over =item B =item B =item B =item B =item B =item B =item B =item B =back =item B =over =item B =item B =item B =item B =item B =item B =item B =item B =item B =item B =item B =back =item B =over =item B =item B =item B =item B =item B =item B =item B =back =item SEE ALSO =item AUTHOR =head2 Pod::Parser - base class for creating POD filters and translators =item SYNOPSIS =item REQUIRES =item EXPORTS =item DESCRIPTION =item QUICK OVERVIEW =item RECOMMENDED SUBROUTINE/METHOD OVERRIDES =item B C<$cmd>, C<$text>, C<$line_num>, C<$pod_para> =item B C<$text>, C<$line_num>, C<$pod_para> =item B C<$text>, C<$line_num>, C<$pod_para> =item B =item OPTIONAL SUBROUTINE/METHOD OVERRIDES =item B =item B =item B =item B =item B =item B =item B =item B =item METHODS FOR PARSING AND PROCESSING =item B B<-expand_seq> =E I|I, B<-expand_ptree> =E I|I =item B =item B =item B =item B =item ACCESSOR METHODS =item B =item B =item B =item B =item B =item B =item B =item PRIVATE METHODS AND DATA =item B<_push_input_stream()> =item B<_pop_input_stream()> =item SEE ALSO =item AUTHOR =head2 Pod::PlainText, pod2plaintext - function to convert POD data to formatted ASCII text =item SYNOPSIS =item REQUIRES =item EXPORTS =item DESCRIPTION =item SEE ALSO =item AUTHOR =head2 Pod::Select, podselect() - extract selected sections of POD from input =item SYNOPSIS =item REQUIRES =item EXPORTS =item DESCRIPTION =item SECTION SPECIFICATIONS =item RANGE SPECIFICATIONS =item OBJECT METHODS =item B =item B =item B =item B =item B =item B =item EXPORTED FUNCTIONS =item B B<-output>, B<-sections>, B<-ranges> =item PRIVATE METHODS AND DATA =item B<_compile_section_spec()> =over =item $self->{_SECTION_HEADINGS} =item $self->{_SELECTED_SECTIONS} =back =item SEE ALSO =item AUTHOR =head2 Pod::Text - convert POD data to formatted ASCII text =item SYNOPSIS =item DESCRIPTION =item AUTHOR =item TODO =head2 Pod::Usage, pod2usage() - print a usage message from embedded pod documentation =item SYNOPSIS =item ARGUMENTS C<-message>, C<-msg>, C<-exitval>, C<-verbose>, C<-output>, C<-input>, C<-pathlist> =item DESCRIPTION =item EXAMPLES =over =item Recommended Use =back =item CAVEATS =item AUTHOR =item ACKNOWLEDGEMENTS =head2 SDBM_File - Tied access to sdbm files =item SYNOPSIS =item DESCRIPTION =head2 Safe - Compile and execute code in restricted compartments =item SYNOPSIS =item DESCRIPTION a new namespace, an operator mask =item WARNING =over =item RECENT CHANGES =item Methods in class Safe permit (OP, ...), permit_only (OP, ...), deny (OP, ...), deny_only (OP, ...), trap (OP, ...), untrap (OP, ...), share (NAME, ...), share_from (PACKAGE, ARRAYREF), varglob (VARNAME), reval (STRING), rdo (FILENAME), root (NAMESPACE), mask (MASK) =item Some Safety Issues Memory, CPU, Snooping, Signals, State Changes =item AUTHOR =back =head2 Search::Dict, look - search for key in dictionary file =item SYNOPSIS =item DESCRIPTION =head2 SelectSaver - save and restore selected file handle =item SYNOPSIS =item DESCRIPTION =head2 SelfLoader - load functions only on demand =item SYNOPSIS =item DESCRIPTION =over =item The __DATA__ token =item SelfLoader autoloading =item Autoloading and package lexicals =item SelfLoader and AutoLoader =item __DATA__, __END__, and the FOOBAR::DATA filehandle. =item Classes and inherited methods. =back =item Multiple packages and fully qualified subroutine names =head2 Shell - run shell commands transparently within perl =item SYNOPSIS =item DESCRIPTION =item AUTHOR =head2 Socket, sockaddr_in, sockaddr_un, inet_aton, inet_ntoa - load the C socket.h defines and structure manipulators =item SYNOPSIS =item DESCRIPTION inet_aton HOSTNAME, inet_ntoa IP_ADDRESS, INADDR_ANY, INADDR_BROADCAST, INADDR_LOOPBACK, INADDR_NONE, sockaddr_in PORT, ADDRESS, sockaddr_in SOCKADDR_IN, pack_sockaddr_in PORT, IP_ADDRESS, unpack_sockaddr_in SOCKADDR_IN, sockaddr_un PATHNAME, sockaddr_un SOCKADDR_UN, pack_sockaddr_un PATH, unpack_sockaddr_un SOCKADDR_UN =head2 Symbol - manipulate Perl symbols and their names =item SYNOPSIS =item DESCRIPTION =head2 Sys::Hostname - Try every conceivable way to get hostname =item SYNOPSIS =item DESCRIPTION =item AUTHOR =head2 Syslog, Sys::Syslog, openlog, closelog, setlogmask, syslog - Perl interface to the UNIX syslog(3) calls =item SYNOPSIS =item DESCRIPTION openlog $ident, $logopt, $facility, syslog $priority, $format, @args, setlogmask $mask_priority, setlogsock $sock_type (added in 5.004_02), closelog =item EXAMPLES =item DEPENDENCIES =item SEE ALSO =item AUTHOR =head2 Term::Cap - Perl termcap interface =item SYNOPSIS =item DESCRIPTION =item EXAMPLES =head2 Term::Complete - Perl word completion module =item SYNOPSIS =item DESCRIPTION EtabE, ^D, ^U, EdelE, EbsE =item DIAGNOSTICS =item BUGS =item AUTHOR =head2 Term::ReadLine - Perl interface to various C packages. If no real package is found, substitutes stubs instead of basic functions. =item SYNOPSIS =item DESCRIPTION =item Minimal set of supported functions C, C, C, C, C, $C, C, C, Attribs, C =item Additional supported functions C, C, C =item EXPORTS =item ENVIRONMENT =head2 Test - provides a simple framework for writing test scripts =item SYNOPSIS =item DESCRIPTION =item TEST TYPES NORMAL TESTS, SKIPPED TESTS, TODO TESTS =item RETURN VALUE =item ONFAIL =item SEE ALSO =item AUTHOR =head2 Test::Harness - run perl standard test scripts with statistics =item SYNOPSIS =item DESCRIPTION =over =item The test script output =back =item EXPORT =item DIAGNOSTICS C, C, C, C, C =item ENVIRONMENT =item SEE ALSO =item AUTHORS =item BUGS =head2 Text::Abbrev, abbrev - create an abbreviation table from a list =item SYNOPSIS =item DESCRIPTION =item EXAMPLE =head2 Text::ParseWords - parse text into an array of tokens or array of arrays =item SYNOPSIS =item DESCRIPTION =item EXAMPLES 0a simple word, 1multiple spaces are skipped because of our $delim, 2use of quotes to include a space in a word, 3use of a backslash to include a space in a word, 4use of a backslash to remove the special meaning of a double-quote, 5another simple word (note the lack of effect of the backslashed double-quote) =item AUTHORS =head2 Text::Soundex - Implementation of the Soundex Algorithm as Described by Knuth =item SYNOPSIS =item DESCRIPTION =item EXAMPLES =item LIMITATIONS =item AUTHOR =head2 Text::Tabs -- expand and unexpand tabs per the unix expand(1) and unexpand(1) =item SYNOPSIS =item DESCRIPTION =item BUGS =item AUTHOR =head2 Text::Wrap - line wrapping to form simple paragraphs =item SYNOPSIS =item DESCRIPTION =item EXAMPLE =item AUTHOR =head2 Thread - multithreading =item SYNOPSIS =item DESCRIPTION =item FUNCTIONS new \&start_sub, new \&start_sub, LIST, lock VARIABLE, async BLOCK;, Thread->self, Thread->list, cond_wait VARIABLE, cond_signal VARIABLE, cond_broadcast VARIABLE, yield =item METHODS join, eval, detach, equal, tid =item LIMITATIONS =item SEE ALSO =head2 Thread::Queue - thread-safe queues =item SYNOPSIS =item DESCRIPTION =item FUNCTIONS AND METHODS new, enqueue LIST, dequeue, dequeue_nb, pending =item SEE ALSO =head2 Thread::Semaphore - thread-safe semaphores =item SYNOPSIS =item DESCRIPTION =item FUNCTIONS AND METHODS new, new NUMBER, down, down NUMBER, up, up NUMBER =head2 Thread::Signal - Start a thread which runs signal handlers reliably =item SYNOPSIS =item DESCRIPTION =item BUGS =head2 Thread::Specific - thread-specific keys =item SYNOPSIS =item DESCRIPTION =head2 Tie::Array - base class for tied arrays =item SYNOPSIS =item DESCRIPTION TIEARRAY classname, LIST, STORE this, index, value, FETCH this, index, FETCHSIZE this, STORESIZE this, count, EXTEND this, count, CLEAR this, DESTROY this, PUSH this, LIST, POP this, SHIFT this, UNSHIFT this, LIST, SPLICE this, offset, length, LIST =item CAVEATS =item AUTHOR =head2 Tie::Handle, Tie::StdHandle - base class definitions for tied handles =item SYNOPSIS =item DESCRIPTION TIEHANDLE classname, LIST, WRITE this, scalar, length, offset, PRINT this, LIST, PRINTF this, format, LIST, READ this, scalar, length, offset, READLINE this, GETC this, CLOSE this, OPEN this, filename, BINMODE this, EOF this, TELL this, SEEK this, offset, whence, DESTROY this =item MORE INFORMATION =head2 Tie::Hash, Tie::StdHash - base class definitions for tied hashes =item SYNOPSIS =item DESCRIPTION TIEHASH classname, LIST, STORE this, key, value, FETCH this, key, FIRSTKEY this, NEXTKEY this, lastkey, EXISTS this, key, DELETE this, key, CLEAR this =item CAVEATS =item MORE INFORMATION =head2 Tie::RefHash - use references as hash keys =item SYNOPSIS =item DESCRIPTION =item EXAMPLE =item AUTHOR =item VERSION =item SEE ALSO =head2 Tie::Scalar, Tie::StdScalar - base class definitions for tied scalars =item SYNOPSIS =item DESCRIPTION TIESCALAR classname, LIST, FETCH this, STORE this, value, DESTROY this =item MORE INFORMATION =head2 Tie::SubstrHash - Fixed-table-size, fixed-key-length hashing =item SYNOPSIS =item DESCRIPTION =item CAVEATS =head2 Time::Local - efficiently compute time from local and GMT time =item SYNOPSIS =item DESCRIPTION =item IMPLEMENTATION =item BUGS =head2 Time::gmtime - by-name interface to Perl's built-in gmtime() function =item SYNOPSIS =item DESCRIPTION =item NOTE =item AUTHOR =head2 Time::localtime - by-name interface to Perl's built-in localtime() function =item SYNOPSIS =item DESCRIPTION =item NOTE =item AUTHOR =head2 Time::tm - internal object used by Time::gmtime and Time::localtime =item SYNOPSIS =item DESCRIPTION =item AUTHOR =head2 UNIVERSAL - base class for ALL classes (blessed references) =item SYNOPSIS =item DESCRIPTION isa ( TYPE ), can ( METHOD ), VERSION ( [ REQUIRE ] ), UNIVERSAL::isa ( VAL, TYPE ), UNIVERSAL::can ( VAL, METHOD ) =head2 User::grent - by-name interface to Perl's built-in getgr*() functions =item SYNOPSIS =item DESCRIPTION =item NOTE =item AUTHOR =head2 User::pwent - by-name interface to Perl's built-in getpw*() functions =item SYNOPSIS =item DESCRIPTION =item NOTE =item AUTHOR =head1 AUXILIARY DOCUMENTATION Here should be listed all the extra programs' documentation, but they don't all have manual pages yet: =item a2p =item s2p =item find2perl =item h2ph =item c2ph =item h2xs =item xsubpp =item pod2man =item wrapsuid =head1 AUTHOR Larry Wall >, with the help of oodles of other folks.