4 perltoc - perl documentation table of contents
8 This page provides a brief table of contents for the rest of the Perl
9 documentation set. It is meant to be scanned quickly or grepped
10 through to locate the proper section you're looking for.
12 =head1 BASIC DOCUMENTATION
14 =head2 perl - Practical Extraction and Report Language
20 Many usability enhancements, Simplified grammar, Lexical scoping,
21 Arbitrarily nested data structures, Modularity and reusability,
22 Object-oriented programming, Embeddable and Extensible, POSIX compliant,
23 Package constructors and destructors, Multiple simultaneous DBM
24 implementations, Subroutine definitions may now be autoloaded, Regular
25 expression enhancements, Innumerable Unbundled Modules, Compilability
41 =head2 perlfaq - frequently asked questions about Perl ($Date: 1997/03/17
46 perlfaq: Structural overview of the FAQ, L<perlfaq1>: General Questions
47 About Perl, L<perlfaq2>: Obtaining and Learning about Perl, L<perlfaq3>:
48 Programming Tools, L<perlfaq4>: Data Manipulation, L<perlfaq5>: Files and
49 Formats, L<perlfaq6>: Regexps, L<perlfaq7>: General Perl Language Issues,
50 L<perlfaq8>: System Interaction, L<perlfaq9>: Networking
54 =item Where to get this document
56 =item How to contribute to this document
58 =item What will happen if you mail your Perl programming problems to the
65 =item Author and Copyright Information
69 =item Non-commercial Reproduction
71 =item Commercial Reproduction
79 17/March/97 Version, Initial Release: 11/March/97
81 =head2 perlfaq1 - General Questions About Perl ($Revision: 1.10 $)
89 =item Who supports Perl? Who develops it? Why is it free?
91 =item Which version of Perl should I use?
93 =item What are perl4 and perl5?
95 =item How stable is Perl?
97 =item Is Perl difficult to learn?
99 =item How does Perl compare with other languages like Java, Python, REXX,
102 =item Can I do [task] in Perl?
104 =item When shouldn't I program in Perl?
106 =item What's the difference between "perl" and "Perl"?
108 =item Is it a Perl program or a Perl script?
110 =item What is a JAPH?
112 =item Where can I get a list of Larry Wall witticisms?
114 =item How can I convince my sysadmin/supervisor/employees to use version
115 (5/5.004/Perl instead of some other language)?
119 =item AUTHOR AND COPYRIGHT
121 =head2 perlfaq2 - Obtaining and Learning about Perl ($Revision: 1.13 $)
127 =item What machines support Perl? Where do I get it?
129 =item How can I get a binary version of Perl?
131 =item I copied the Perl binary from one machine to another, but scripts
134 =item I grabbed the sources and tried to compile but gdbm/dynamic
135 loading/malloc/linking/... failed. How do I make it work?
137 =item What modules and extensions are available for Perl? What is CPAN?
138 What does CPAN/src/... mean?
140 =item Is there an ISO or ANSI certified version of Perl?
142 =item Where can I get information on Perl?
144 =item What are the Perl newsgroups on USENET? Where do I post questions?
146 =item Where should I post source code?
150 =item Perl in Magazines
152 =item Perl on the Net: FTP and WWW Access
154 =item What mailing lists are there for perl?
156 MacPerl, Perl5-Porters, NTPerl, Perl-Packrats
158 =item Archives of comp.lang.perl.misc
162 =item Where can I buy a commercial version of Perl?
164 =item Where do I send bug reports?
166 =item What is perl.com? perl.org? The Perl Institute?
168 =item How do I learn about object-oriented Perl programming?
172 =item AUTHOR AND COPYRIGHT
174 =head2 perlfaq3 - Programming Tools ($Revision: 1.19 $)
180 =item How do I do (anything)?
182 =item How can I use Perl interactively?
184 =item Is there a Perl shell?
186 =item How do I debug my Perl programs?
188 =item How do I profile my Perl programs?
190 =item How do I cross-reference my Perl programs?
192 =item Is there a pretty-printer (formatter) for Perl?
194 =item Is there a ctags for Perl?
196 =item Where can I get Perl macros for vi?
198 =item Where can I get perl-mode for emacs?
200 =item How can I use curses with Perl?
202 =item How can I use X or Tk with Perl?
204 =item How can I generate simple menus without using CGI or Tk?
206 =item Can I dynamically load C routines into Perl?
208 =item What is undump?
210 =item How can I make my Perl program run faster?
212 =item How can I make my Perl program take less memory?
214 =item Is it unsafe to return a pointer to local data?
216 =item How can I free an array or hash so my program shrinks?
218 =item How can I make my CGI script more efficient?
220 =item How can I hide the source for my Perl program?
222 =item How can I compile my Perl program into byte-code or C?
224 =item How can I get '#!perl' to work on [MSDOS,NT,...]?
226 =item Can I write useful perl programs on the command line?
228 =item Why don't perl one-liners work on my DOS/Mac/VMS system?
230 =item Where can I learn about CGI or Web programming in Perl?
232 =item Where can I learn about object-oriented Perl programming?
234 =item Where can I learn about linking C with Perl? [h2xs, xsubpp]
236 =item I've read perlembed, perlguts, etc., but I can't embed perl in
237 my C program, what am I doing wrong?
239 =item When I tried to run my script, I got this message. What does it
242 =item What's MakeMaker?
246 =item AUTHOR AND COPYRIGHT
248 =head2 perlfaq4 - Data Manipulation ($Revision: 1.15 $)
256 =item Why isn't my octal data interpreted correctly?
258 =item Does perl have a round function? What about ceil() and floor()?
261 =item How do I convert bits into ints?
263 =item How do I multiply matrices?
265 =item How do I perform an operation on a series of integers?
267 =item How can I output Roman numerals?
269 =item Why aren't my random numbers random?
277 =item How do I find the week-of-the-year/day-of-the-year?
279 =item How can I compare two date strings?
281 =item How can I take a string and turn it into epoch seconds?
283 =item How can I find the Julian Day?
285 =item Does Perl have a year 2000 problem?
293 =item How do I validate input?
295 =item How do I unescape a string?
297 =item How do I remove consecutive pairs of characters?
299 =item How do I expand function calls in a string?
301 =item How do I find matching/nesting anything?
303 =item How do I reverse a string?
305 =item How do I expand tabs in a string?
307 =item How do I reformat a paragraph?
309 =item How can I access/change the first N letters of a string?
311 =item How do I change the Nth occurrence of something?
313 =item How can I count the number of occurrences of a substring within a
316 =item How do I capitalize all the words on one line?
318 =item How can I split a [character] delimited string except when inside
319 [character]? (Comma-separated files)
321 =item How do I strip blank space from the beginning/end of a string?
323 =item How do I extract selected columns from a string?
325 =item How do I find the soundex value of a string?
327 =item How can I expand variables in text strings?
329 =item What's wrong with always quoting "$vars"?
331 =item Why don't my <<HERE documents work?
333 1. There must be no space after the << part, 2. There (probably) should be
334 a semicolon at the end, 3. You can't (easily) have any space in front of
343 =item What is the difference between $array[1] and @array[1]?
345 =item How can I extract just the unique elements of an array?
347 a) If @in is sorted, and you want @out to be sorted:, b) If you don't know
348 whether @in is sorted:, c) Like (b), but @in contains only small integers:,
349 d) A way to do (b) without any loops or greps:, e) Like (d), but @in
350 contains only small positive integers:
352 =item How can I tell whether an array contains a certain element?
354 =item How do I compute the difference of two arrays? How do I compute the
355 intersection of two arrays?
357 =item How do I find the first array element for which a condition is true?
359 =item How do I handle linked lists?
361 =item How do I handle circular lists?
363 =item How do I shuffle an array randomly?
365 =item How do I process/modify each element of an array?
367 =item How do I select a random element from an array?
369 =item How do I permute N elements of a list?
371 =item How do I sort an array by (anything)?
373 =item How do I manipulate arrays of bits?
375 =item Why does defined() return true on empty arrays and hashes?
379 =item Data: Hashes (Associative Arrays)
383 =item How do I process an entire hash?
385 =item What happens if I add or remove keys from a hash while iterating over
388 =item How do I look up a hash element by value?
390 =item How can I know how many entries are in a hash?
392 =item How do I sort a hash (optionally by value instead of key)?
394 =item How can I always keep my hash sorted?
396 =item What's the difference between "delete" and "undef" with hashes?
398 =item Why don't my tied hashes make the defined/exists distinction?
400 =item How do I reset an each() operation part-way through?
402 =item How can I get the unique keys from two hashes?
404 =item How can I store a multidimensional array in a DBM file?
406 =item How can I make my hash remember the order I put elements into it?
408 =item Why does passing a subroutine an undefined element in a hash create
411 =item How can I make the Perl equivalent of a C structure/C++ class/hash
412 or array of hashes or arrays?
414 =item How can I use a reference as a hash key?
422 =item How do I handle binary data correctly?
424 =item How do I determine whether a scalar is a number/whole/integer/float?
426 =item How do I keep persistent data across program calls?
428 =item How do I print out or copy a recursive data structure?
430 =item How do I define methods for every class/object?
432 =item How do I verify a credit card checksum?
436 =item AUTHOR AND COPYRIGHT
438 =head2 perlfaq5 - Files and Formats ($Revision: 1.19 $)
444 =item How do I flush/unbuffer a filehandle? Why must I do this?
446 =item How do I change one line in a file/delete a line in a file/insert a
447 line in the middle of a file/append to the beginning of a file?
449 =item How do I count the number of lines in a file?
451 =item How do I make a temporary file name?
453 =item How can I manipulate fixed-record-length files?
455 =item How can I make a filehandle local to a subroutine? How do I pass
456 filehandles between subroutines? How do I make an array of filehandles?
458 =item How can I set up a footer format to be used with write()?
460 =item How can I write() into a string?
462 =item How can I output my numbers with commas added?
464 =item How can I translate tildes (~) in a filename?
466 =item How come when I open the file read-write it wipes it out?
468 =item Why do I sometimes get an "Argument list too long" when I use <*>?
470 =item Is there a leak/bug in glob()?
472 =item How can I open a file with a leading "E<gt>" or trailing blanks?
474 =item How can I reliably rename a file?
476 =item How can I lock a file?
478 =item What can't I just open(FH, ">file.lock")?
480 =item I still don't get locking. I just want to increment the number
481 in the file. How can I do this?
483 =item How do I randomly update a binary file?
485 =item How do I get a file's timestamp in perl?
487 =item How do I set a file's timestamp in perl?
489 =item How do I print to more than one file at once?
491 =item How can I read in a file by paragraphs?
493 =item How can I read a single character from a file? From the keyboard?
495 =item How can I tell if there's a character waiting on a filehandle?
497 =item How do I open a file without blocking?
499 =item How do I create a file only if it doesn't exist?
501 =item How do I do a C<tail -f> in perl?
503 =item How do I dup() a filehandle in Perl?
505 =item How do I close a file descriptor by number?
507 =item Why can't I use "C:\temp\foo" in DOS paths? What doesn't
508 `C:\temp\foo.exe` work?
510 =item Why doesn't glob("*.*") get all the files?
512 =item Why does Perl let me delete read-only files? Why does C<-i> clobber
513 protected files? Isn't this a bug in Perl?
515 =item How do I select a random line from a file?
519 =item AUTHOR AND COPYRIGHT
521 =head2 perlfaq6 - Regexps ($Revision: 1.14 $)
527 =item How can I hope to use regular expressions without creating illegible
528 and unmaintainable code?
530 Comments Outside the Regexp, Comments Inside the Regexp, Different
533 =item I'm having trouble matching over more than one line. What's wrong?
535 =item How can I pull out lines between two patterns that are themselves on
538 =item I put a regular expression into $/ but it didn't work. What's wrong?
540 =item How do I substitute case insensitively on the LHS, but preserving
543 =item How can I make C<\w> match accented characters?
545 =item How can I match a locale-smart version of C</[a-zA-Z]/>?
547 =item How can I quote a variable to use in a regexp?
549 =item What is C</o> really for?
551 =item How do I use a regular expression to strip C style comments from a
554 =item Can I use Perl regular expressions to match balanced text?
556 =item What does it mean that regexps are greedy? How can I get around it?
558 =item How do I process each word on each line?
560 =item How can I print out a word-frequency or line-frequency summary?
562 =item How can I do approximate matching?
564 =item How do I efficiently match many regular expressions at once?
566 =item Why don't word-boundary searches with C<\b> work for me?
568 =item Why does using $&, $`, or $' slow my program down?
570 =item What good is C<\G> in a regular expression?
572 =item Are Perl regexps DFAs or NFAs? Are they POSIX compliant?
574 =item What's wrong with using grep or map in a void context?
576 =item How can I match strings with multi-byte characters?
580 =item AUTHOR AND COPYRIGHT
582 =head2 perlfaq7 - Perl Language Issues ($Revision: 1.15 $)
588 =item Can I get a BNF/yacc/RE for the Perl language?
590 =item What are all these $@%* punctuation signs, and how do I know when to
593 =item Do I always/never have to quote my strings or use semicolons and
596 =item How do I skip some return values?
598 =item How do I temporarily block warnings?
600 =item What's an extension?
602 =item Why do Perl operators have different precedence than C operators?
604 =item How do I declare/create a structure?
606 =item How do I create a module?
608 =item How do I create a class?
610 =item How can I tell if a variable is tainted?
612 =item What's a closure?
614 =item How can I pass/return a {Function, FileHandle, Array, Hash, Method,
617 Passing Variables and Functions, Passing Filehandles, Passing Regexps,
620 =item How do I create a static variable?
622 =item What's the difference between dynamic and lexical (static) scoping?
623 Between local() and my()?
625 =item How can I access a dynamic variable while a similarly named lexical
628 =item What's the difference between deep and shallow binding?
630 =item Why doesn't "local($foo) = <FILE>;" work right?
632 =item How do I redefine a built-in function, operator, or method?
634 =item What's the difference between calling a function as &foo and foo()?
636 =item How do I create a switch or case statement?
638 =item How can I catch accesses to undefined variables/functions/methods?
640 =item Why can't a method included in this same file be found?
642 =item How can I find out my current package?
646 =item AUTHOR AND COPYRIGHT
648 =head2 perlfaq8 - System Interaction ($Revision: 1.15 $)
654 =item How do I find out which operating system I'm running under?
656 =item How come exec() doesn't return?
658 =item How do I do fancy stuff with the keyboard/screen/mouse?
660 Keyboard, Screen, Mouse
662 =item How do I ask the user for a password?
664 =item How do I read and write the serial port?
666 lockfiles, open mode, end of line, flushing output, non-blocking input
668 =item How do I decode encrypted password files?
670 =item How do I start a process in the background?
672 STDIN, STDOUT and STDERR are shared, Signals, Zombies
674 =item How do I trap control characters/signals?
676 =item How do I modify the shadow password file on a Unix system?
678 =item How do I set the time and date?
680 =item How can I sleep() or alarm() for under a second?
682 =item How can I measure time under a second?
684 =item How can I do an atexit() or setjmp()/longjmp()? (Exception handling)
686 =item Why doesn't my sockets program work under System V (Solaris)? What
687 does the error message "Protocol not supported" mean?
689 =item How can I call my system's unique C functions from Perl?
691 =item Where do I get the include files to do ioctl() or syscall()?
693 =item Why do setuid perl scripts complain about kernel problems?
695 =item How can I open a pipe both to and from a command?
697 =item How can I capture STDERR from an external command?
699 =item Why doesn't open() return an error when a pipe open fails?
701 =item What's wrong with using backticks in a void context?
703 =item How can I call backticks without shell processing?
705 =item Why can't my script read from STDIN after I gave it EOF (^D on Unix,
708 =item How can I convert my shell script to perl?
710 =item Can I use perl to run a telnet or ftp session?
712 =item How can I write expect in Perl?
714 =item Is there a way to hide perl's command line from programs such as
717 =item I {changed directory, modified my environment} in a perl script. How
718 come the change disappeared when I exited the script? How do I get my
719 changes to be visible?
723 =item How do I close a process's filehandle without waiting for it to
726 =item How do I fork a daemon process?
728 =item How do I make my program run with sh and csh?
730 =item How do I keep my own module/library directory?
732 =item How do I find out if I'm running interactively or not?
734 =item How do I timeout a slow event?
736 =item How do I set CPU limits?
738 =item How do I avoid zombies on a Unix system?
740 =item How do I use an SQL database?
742 =item How do I make a system() exit on control-C?
744 =item How do I open a file without blocking?
746 =item How do I install a CPAN module?
750 =item AUTHOR AND COPYRIGHT
752 =head2 perlfaq9 - Networking ($Revision: 1.13 $)
758 =item My CGI script runs from the command line but not the browser. Can
761 =item How do I remove HTML from a string?
763 =item How do I extract URLs?
765 =item How do I download a file from the user's machine? How do I open a
766 file on another machine?
768 =item How do I make a pop-up menu in HTML?
770 =item How do I fetch an HTML file?
772 =item how do I decode or create those %-encodings on the web?
774 =item How do I redirect to another page?
776 =item How do I put a password on my web pages?
778 =item How do I edit my .htpasswd and .htgroup files with Perl?
780 =item How do I parse an email header?
782 =item How do I decode a CGI form?
784 =item How do I check a valid email address?
786 =item How do I decode a MIME/BASE64 string?
788 =item How do I return the user's email address?
790 =item How do I send/read mail?
792 =item How do I find out my hostname/domainname/IP address?
794 =item How do I fetch a news article or the active newsgroups?
796 =item How do I fetch/put an FTP file?
798 =item How can I do RPC in Perl?
802 =item AUTHOR AND COPYRIGHT
804 =head2 perldelta - what's new for perl5.004
808 =item Supported Environments
814 =item Compilation Option: Binary Compatibility With 5.003
816 =item No Autovivification of Subroutine Parameters
818 =item Fixed Parsing of $$<digit>, &$<digit>, etc.
820 =item No Resetting of $. on Implicit Close
822 =item Changes to Tainting Checks
824 =item New Opcode Module and Revised Safe Module
826 =item Embedding Improvements
828 =item Internal Change: FileHandle Class Based on IO::* Classes
830 =item Internal Change: PerlIO internal IO abstraction interface
832 =item New and Changed Built-in Variables
836 =item New and Changed Built-in Functions
838 delete on slices, flock, printf and sprintf, keys as an lvalue, my() in
839 Control Structures, unpack() and pack(), use VERSION, use Module VERSION
840 LIST, prototype(FUNCTION), srand, $_ as Default, C<m//g> does not trigger a
841 pos() reset on failure, nested C<sub{}> closures work now, formats work
842 right on changing lexicals
844 =item New Built-in Methods
846 isa(CLASS), can(METHOD), VERSION( [NEED] )
848 =item TIEHANDLE Now Supported
850 TIEHANDLE classname, LIST, PRINT this, LIST, READ this LIST, READLINE this,
851 GETC this, DESTROY this
853 =item Malloc Enhancements
855 -DDEBUGGING_MSTATS, -DEMERGENCY_SBRK, -DPACK_MALLOC, -DTWO_POT_OPTIMIZE
857 =item Miscellaneous Efficiency Enhancements
863 use blib, use blib 'dir', use locale, use ops, use vmsish
869 =item Installation Directories
873 =item Module Information Summary
883 =item Overridden Built-ins
887 =item Utility Changes
893 C<void> XSUBs now default to returning nothing
897 =item C Language API Changes
899 C<gv_fetchmethod> and C<perl_call_sv>, Extended API for manipulating hashes
901 =item Documentation Changes
903 L<perldelta>, L<perllocale>, L<perltoot>, L<perlapio>, L<perldebug>,
906 =item New Diagnostics
908 "my" variable %s masks earlier declaration in same scope, %s argument is
909 not a HASH element or slice, Allocation too large: %lx, Allocation too
910 large, Attempt to free non-existent shared string, Attempt to use reference
911 as lvalue in substr, Unsupported function fork, Ill-formed logical name
912 |%s| in prime_env_iter, Can't use bareword ("%s") as %s ref while "strict
913 refs" in use, Constant subroutine %s redefined, Died, Integer overflow in
914 hex number, Integer overflow in octal number, Name "%s::%s" used only once:
915 possible typo, Null picture in formline, Offset outside string, Stub found
916 while resolving method `%s' overloading `%s' in package `%s', Cannot
917 resolve method `%s' overloading `%s' in package `s', Out of memory!, Out of
918 memory during request for %s, Possible attempt to put comments in qw()
919 list, Possible attempt to separate words with commas, Scalar value @%s{%s}
920 better written as $%s{%s}, untie attempted while %d inner references still
921 exist, Value of %s construct can be "0"; test with defined(), Variable "%s"
922 may be unavailable, Variable "%s" will not stay shared, Warning:
923 something's wrong, Got an error from DosAllocMem, Malformed PERLLIB_PREFIX,
924 PERL_SH_DIR too long, Process terminated by SIG%s
932 =head2 perldata - Perl data types
944 =item Scalar value constructors
946 =item List value constructors
948 =item Typeglobs and Filehandles
952 =head2 perlsyn - Perl syntax
960 =item Simple statements
962 =item Compound statements
970 =item Basic BLOCKs and Switch Statements
974 =item PODs: Embedded Documentation
976 =item Plain Old Comments (Not!)
980 =head2 perlop - Perl operators and precedence
988 =item Terms and List Operators (Leftward)
990 =item The Arrow Operator
992 =item Auto-increment and Auto-decrement
996 =item Symbolic Unary Operators
998 =item Binding Operators
1000 =item Multiplicative Operators
1002 =item Additive Operators
1004 =item Shift Operators
1006 =item Named Unary Operators
1008 =item Relational Operators
1010 =item Equality Operators
1014 =item Bitwise Or and Exclusive Or
1016 =item C-style Logical And
1018 =item C-style Logical Or
1020 =item Range Operator
1022 =item Conditional Operator
1024 =item Assignment Operators
1026 =item Comma Operator
1028 =item List Operators (Rightward)
1034 =item Logical or and Exclusive Or
1036 =item C Operators Missing From Perl
1038 unary &, unary *, (TYPE)
1040 =item Quote and Quote-like Operators
1042 =item Regexp Quote-Like Operators
1044 ?PATTERN?, m/PATTERN/gimosx, /PATTERN/gimosx, q/STRING/, C<'STRING'>,
1045 qq/STRING/, "STRING", qx/STRING/, `STRING`, qw/STRING/,
1046 s/PATTERN/REPLACEMENT/egimosx, tr/SEARCHLIST/REPLACEMENTLIST/cds,
1047 y/SEARCHLIST/REPLACEMENTLIST/cds
1051 =item Constant Folding
1053 =item Integer Arithmetic
1055 =item Floating-point Arithmetic
1059 =head2 perlre - Perl regular expressions
1067 =item Regular Expressions
1069 (?#text), (?:regexp), (?=regexp), (?!regexp), (?imsx)
1073 =item Version 8 Regular Expressions
1075 =item WARNING on \1 vs $1
1079 =head2 perlrun - how to execute the Perl interpreter
1087 =item #! and quoting on non-Unix systems
1089 OS/2, DOS, Win95/NT, Macintosh
1093 B<-0>[I<digits>], B<-a>, B<-c>, B<-d>, B<-d:>I<foo>, B<-D>I<number>,
1094 B<-D>I<list>, B<-e> I<commandline>, B<-F>I<pattern>, B<-h>,
1095 B<-i>[I<extension>], B<-I>I<directory>, B<-l>[I<octnum>],
1096 B<-m>[B<->]I<module>, B<-M>[B<->]I<module>, B<-M>[B<->]I<'module ...'>,
1097 B<-[mM]>[B<->]I<module=arg[,arg]...>, B<-n>, B<-p>, B<-P>, B<-s>, B<-S>,
1098 B<-T>, B<-u>, B<-U>, B<-v>, B<-V>, B<-V:>I<name>, B<-w>, B<-x> I<directory>
1104 HOME, LOGDIR, PATH, PERL5LIB, PERLLIB, PERL5DB, PERL_DEBUG_MSTATS,
1107 =head2 perlfunc - Perl builtin functions
1111 I<THERE IS NO GENERAL RULE FOR CONVERTING A LIST INTO A SCALAR!>
1115 =item Perl Functions by Category
1117 Functions for SCALARs or strings, Regular expressions and pattern matching,
1118 Numeric functions, Functions for real @ARRAYs, Functions for list data,
1119 Functions for real %HASHes, Input and output functions, Functions for fixed
1120 length data or records, Functions for filehandles, files, or directories,
1121 Keywords related to the control flow of your perl program, Keywords related
1122 to scoping, Miscellaneous functions, Functions for processes and process
1123 groups, Keywords related to perl modules, Keywords related to classes and
1124 object-orientedness, Low-level socket functions, System V interprocess
1125 communication functions, Fetching user and group info, Fetching network
1126 info, Time-related functions, Functions new in perl5, Functions obsoleted
1129 =item Alphabetical Listing of Perl Functions
1131 -I<X> FILEHANDLE, -I<X> EXPR, -I<X>, abs VALUE, abs, accept
1132 NEWSOCKET,GENERICSOCKET, alarm SECONDS, alarm, atan2 Y,X, bind SOCKET,NAME,
1133 binmode FILEHANDLE, bless REF,CLASSNAME, bless REF, caller EXPR, caller,
1134 chdir EXPR, chmod LIST, chomp VARIABLE, chomp LIST, chomp, chop VARIABLE,
1135 chop LIST, chop, chown LIST, chr NUMBER, chr, chroot FILENAME, chroot,
1136 close FILEHANDLE, closedir DIRHANDLE, connect SOCKET,NAME, continue BLOCK,
1137 cos EXPR, crypt PLAINTEXT,SALT, dbmclose HASH, dbmopen HASH,DBNAME,MODE,
1138 defined EXPR, defined, delete EXPR, die LIST, do BLOCK, do
1139 SUBROUTINE(LIST), do EXPR, dump LABEL, each HASH, eof FILEHANDLE, eof (),
1140 eof, eval EXPR, eval BLOCK, exec LIST, exists EXPR, exit EXPR, exp EXPR,
1141 exp, fcntl FILEHANDLE,FUNCTION,SCALAR, fileno FILEHANDLE, flock
1142 FILEHANDLE,OPERATION, fork, format, formline PICTURE, LIST, getc
1143 FILEHANDLE, getc, getlogin, getpeername SOCKET, getpgrp PID, getppid,
1144 getpriority WHICH,WHO, getpwnam NAME, getgrnam NAME, gethostbyname NAME,
1145 getnetbyname NAME, getprotobyname NAME, getpwuid UID, getgrgid GID,
1146 getservbyname NAME,PROTO, gethostbyaddr ADDR,ADDRTYPE, getnetbyaddr
1147 ADDR,ADDRTYPE, getprotobynumber NUMBER, getservbyport PORT,PROTO, getpwent,
1148 getgrent, gethostent, getnetent, getprotoent, getservent, setpwent,
1149 setgrent, sethostent STAYOPEN, setnetent STAYOPEN, setprotoent STAYOPEN,
1150 setservent STAYOPEN, endpwent, endgrent, endhostent, endnetent,
1151 endprotoent, endservent, getsockname SOCKET, getsockopt
1152 SOCKET,LEVEL,OPTNAME, glob EXPR, glob, gmtime EXPR, goto LABEL, goto EXPR,
1153 goto &NAME, grep BLOCK LIST, grep EXPR,LIST, hex EXPR, hex, import, index
1154 STR,SUBSTR,POSITION, index STR,SUBSTR, int EXPR, int, ioctl
1155 FILEHANDLE,FUNCTION,SCALAR, join EXPR,LIST, keys HASH, kill LIST, last
1156 LABEL, last, lc EXPR, lc, lcfirst EXPR, lcfirst, length EXPR, length, link
1157 OLDFILE,NEWFILE, listen SOCKET,QUEUESIZE, local EXPR, localtime EXPR, log
1158 EXPR, log, lstat FILEHANDLE, lstat EXPR, lstat, m//, map BLOCK LIST, map
1159 EXPR,LIST, mkdir FILENAME,MODE, msgctl ID,CMD,ARG, msgget KEY,FLAGS, msgsnd
1160 ID,MSG,FLAGS, msgrcv ID,VAR,SIZE,TYPE,FLAGS, my EXPR, next LABEL, next, no
1161 Module LIST, oct EXPR, oct, open FILEHANDLE,EXPR, open FILEHANDLE, opendir
1162 DIRHANDLE,EXPR, ord EXPR, ord, pack TEMPLATE,LIST, package NAMESPACE, pipe
1163 READHANDLE,WRITEHANDLE, pop ARRAY, pop, pos SCALAR, pos, print FILEHANDLE
1164 LIST, print LIST, print, printf FILEHANDLE FORMAT, LIST, printf FORMAT,
1165 LIST, prototype FUNCTION, push ARRAY,LIST, q/STRING/, qq/STRING/,
1166 qx/STRING/, qw/STRING/, quotemeta EXPR, quotemeta, rand EXPR, rand, read
1167 FILEHANDLE,SCALAR,LENGTH,OFFSET, read FILEHANDLE,SCALAR,LENGTH, readdir
1168 DIRHANDLE, readlink EXPR, readlink, recv SOCKET,SCALAR,LEN,FLAGS, redo
1169 LABEL, redo, ref EXPR, ref, rename OLDNAME,NEWNAME, require EXPR, require,
1170 reset EXPR, reset, return LIST, reverse LIST, rewinddir DIRHANDLE, rindex
1171 STR,SUBSTR,POSITION, rindex STR,SUBSTR, rmdir FILENAME, rmdir, s///, scalar
1172 EXPR, seek FILEHANDLE,POSITION,WHENCE, seekdir DIRHANDLE,POS, select
1173 FILEHANDLE, select, select RBITS,WBITS,EBITS,TIMEOUT, semctl
1174 ID,SEMNUM,CMD,ARG, semget KEY,NSEMS,FLAGS, semop KEY,OPSTRING, send
1175 SOCKET,MSG,FLAGS,TO, send SOCKET,MSG,FLAGS, setpgrp PID,PGRP, setpriority
1176 WHICH,WHO,PRIORITY, setsockopt SOCKET,LEVEL,OPTNAME,OPTVAL, shift ARRAY,
1177 shift, shmctl ID,CMD,ARG, shmget KEY,SIZE,FLAGS, shmread ID,VAR,POS,SIZE,
1178 shmwrite ID,STRING,POS,SIZE, shutdown SOCKET,HOW, sin EXPR, sin, sleep
1179 EXPR, sleep, socket SOCKET,DOMAIN,TYPE,PROTOCOL, socketpair
1180 SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL, sort SUBNAME LIST, sort BLOCK LIST,
1181 sort LIST, splice ARRAY,OFFSET,LENGTH,LIST, splice ARRAY,OFFSET,LENGTH,
1182 splice ARRAY,OFFSET, split /PATTERN/,EXPR,LIMIT, split /PATTERN/,EXPR,
1183 split /PATTERN/, split, sprintf FORMAT, LIST, sqrt EXPR, sqrt, srand EXPR,
1184 srand, stat FILEHANDLE, stat EXPR, stat, study SCALAR, study, sub BLOCK,
1185 sub NAME, sub NAME BLOCK, substr EXPR,OFFSET,LEN, substr EXPR,OFFSET,
1186 symlink OLDFILE,NEWFILE, syscall LIST, sysopen FILEHANDLE,FILENAME,MODE,
1187 sysopen FILEHANDLE,FILENAME,MODE,PERMS, sysread
1188 FILEHANDLE,SCALAR,LENGTH,OFFSET, sysread FILEHANDLE,SCALAR,LENGTH, system
1189 LIST, syswrite FILEHANDLE,SCALAR,LENGTH,OFFSET, syswrite
1190 FILEHANDLE,SCALAR,LENGTH, tell FILEHANDLE, tell, telldir DIRHANDLE, tie
1191 VARIABLE,CLASSNAME,LIST, tied VARIABLE, time, times, tr///, truncate
1192 FILEHANDLE,LENGTH, truncate EXPR,LENGTH, uc EXPR, uc, ucfirst EXPR,
1193 ucfirst, umask EXPR, umask, undef EXPR, undef, unlink LIST, unlink, unpack
1194 TEMPLATE,EXPR, untie VARIABLE, unshift ARRAY,LIST, use Module LIST, use
1195 Module, use Module VERSION LIST, use VERSION, utime LIST, values HASH, vec
1196 EXPR,OFFSET,BITS, wait, waitpid PID,FLAGS, wantarray, warn LIST, write
1197 FILEHANDLE, write EXPR, write, y///
1201 =head2 perlvar - Perl predefined variables
1207 =item Predefined Names
1209 $ARG, $_, $E<lt>I<digit>E<gt>, $MATCH, $&, $PREMATCH, $`, $POSTMATCH, $',
1210 $LAST_PAREN_MATCH, $+, $MULTILINE_MATCHING, $*, input_line_number HANDLE
1211 EXPR, $INPUT_LINE_NUMBER, $NR, $, input_record_separator HANDLE EXPR,
1212 $INPUT_RECORD_SEPARATOR, $RS, $/, autoflush HANDLE EXPR, $OUTPUT_AUTOFLUSH,
1213 $|, output_field_separator HANDLE EXPR, $OUTPUT_FIELD_SEPARATOR, $OFS, $,,
1214 output_record_separator HANDLE EXPR, $OUTPUT_RECORD_SEPARATOR, $ORS, $\,
1215 $LIST_SEPARATOR, $", $SUBSCRIPT_SEPARATOR, $SUBSEP, $;, $OFMT, $#,
1216 format_page_number HANDLE EXPR, $FORMAT_PAGE_NUMBER, $%,
1217 format_lines_per_page HANDLE EXPR, $FORMAT_LINES_PER_PAGE, $=,
1218 format_lines_left HANDLE EXPR, $FORMAT_LINES_LEFT, $-, format_name HANDLE
1219 EXPR, $FORMAT_NAME, $~, format_top_name HANDLE EXPR, $FORMAT_TOP_NAME, $^,
1220 format_line_break_characters HANDLE EXPR, $FORMAT_LINE_BREAK_CHARACTERS,
1221 $:, format_formfeed HANDLE EXPR, $FORMAT_FORMFEED, $^L, $ACCUMULATOR, $^A,
1222 $CHILD_ERROR, $?, $OS_ERROR, $ERRNO, $!, $EXTENDED_OS_ERROR, $^E,
1223 $EVAL_ERROR, $@, $PROCESS_ID, $PID, $$, $REAL_USER_ID, $UID, $<,
1224 $EFFECTIVE_USER_ID, $EUID, $>, $REAL_GROUP_ID, $GID, $(,
1225 $EFFECTIVE_GROUP_ID, $EGID, $), $PROGRAM_NAME, $0, $[, $PERL_VERSION, $],
1226 $DEBUGGING, $^D, $SYSTEM_FD_MAX, $^F, $^H, $INPLACE_EDIT, $^I, $OSNAME,
1227 $^O, $PERLDB, $^P, $BASETIME, $^T, $WARNING, $^W, $EXECUTABLE_NAME, $^X,
1228 $ARGV, @ARGV, @INC, %INC, $ENV{expr}, $SIG{expr}, $^M
1232 =head2 perlsub - Perl subroutines
1240 =item Private Variables via my()
1242 =item Temporary Values via local()
1244 =item Passing Symbol Table Entries (typeglobs)
1246 =item Pass by Reference
1250 =item Constant Functions
1252 =item Overriding Builtin Functions
1260 =head2 perlmod - Perl modules (packages)
1270 =item Package Constructors and Destructors
1280 =item THE PERL MODULE LIBRARY
1284 =item Pragmatic Modules
1286 blib, diagnostics, integer, less, lib, locale, ops, overload, sigtrap,
1287 strict, subs, vmsish, vars
1289 =item Standard Modules
1291 AnyDBM_File, AutoLoader, AutoSplit, Benchmark, CPAN, CPAN::FirstTime,
1292 CPAN::Nox, Carp, Class::Template, Config, Cwd, DB_File, Devel::SelfStubber,
1293 DirHandle, DynaLoader, English, Env, Exporter, ExtUtils::Embed,
1294 ExtUtils::Install, ExtUtils::Liblist, ExtUtils::MM_OS2, ExtUtils::MM_Unix,
1295 ExtUtils::MM_VMS, ExtUtils::MakeMaker, ExtUtils::Manifest,
1296 ExtUtils::Mkbootstrap, ExtUtils::Mksymlists, ExtUtils::testlib, Fcntl,
1297 File::Basename, File::CheckTree, File::Compare, File::Copy, File::Find,
1298 File::Path, File::stat, FileCache, FileHandle, FindBin, GDBM_File,
1299 Getopt::Long, Getopt::Std, I18N::Collate, IO, IO::File, IO::Handle,
1300 IO::Pipe, IO::Seekable, IO::Select, IO::Socket, IPC::Open2, IPC::Open3,
1301 Math::BigFloat, Math::BigInt, Math::Complex, NDBM_File, Net::Ping,
1302 Net::hostent, Net::netent, Net::protoent, Net::servent, Opcode, Pod::Text,
1303 POSIX, SDBM_File, Safe, Search::Dict, SelectSaver, SelfLoader, Shell,
1304 Socket, Symbol, Sys::Hostname, Sys::Syslog, Term::Cap, Term::Complete,
1305 Term::ReadLine, Test::Harness, Text::Abbrev, Text::ParseWords,
1306 Text::Soundex, Text::Tabs, Text::Wrap, Tie::Hash, Tie::RefHash,
1307 Tie::Scalar, Tie::SubstrHash, Time::Local, Time::gmtime, Time::localtime,
1308 Time::tm, UNIVERSAL, User::grent, User::pwent
1310 =item Extension Modules
1316 Language Extensions and Documentation Tools, Development Support, Operating
1317 System Interfaces, Networking, Device Control (modems) and InterProcess
1318 Communication, Data Types and Data Type Utilities, Database Interfaces,
1319 User Interfaces, Interfaces to / Emulations of Other Programming Languages,
1320 File Names, File Systems and File Locking (see also File Handles), String
1321 Processing, Language Text Processing, Parsing, and Searching, Option,
1322 Argument, Parameter, and Configuration File Processing,
1323 Internationalization and Locale, Authentication, Security, and Encryption,
1324 World Wide Web, HTML, HTTP, CGI, MIME, Server and Daemon Utilities,
1325 Archiving and Compression, Images, Pixmap and Bitmap Manipulation, Drawing,
1326 and Graphing, Mail and Usenet News, Control Flow Utilities (callbacks and
1327 exceptions etc), File Handle and Input/Output Stream Utilities,
1328 Miscellaneous Modules, Africa, Asia, Australasia, Europe, North America,
1331 =item Modules: Creation, Use, and Abuse
1335 =item Guidelines for Module Creation
1337 Do similar modules already exist in some form?, Try to design the new
1338 module to be easy to extend and reuse, Some simple style guidelines, Select
1339 what to export, Select a name for the module, Have you got it right?,
1340 README and other Additional Files, A description of the
1341 module/package/extension etc, A copyright notice - see below, Prerequisites
1342 - what else you may need to have, How to build it - possible changes to
1343 Makefile.PL etc, How to install it, Recent changes in this release,
1344 especially incompatibilities, Changes / enhancements you plan to make in
1345 the future, Adding a Copyright Notice, Give the module a
1346 version/issue/release number, How to release and distribute a module, Take
1347 care when changing a released module
1349 =item Guidelines for Converting Perl 4 Library Scripts into Modules
1351 There is no requirement to convert anything, Consider the implications,
1352 Make the most of the opportunity, The pl2pm utility will get you started,
1353 Adds the standard Module prologue lines, Converts package specifiers from '
1354 to ::, Converts die(...) to croak(...), Several other minor changes
1356 =item Guidelines for Reusing Application Code
1358 Complete applications rarely belong in the Perl Module Library, Many
1359 applications contain some perl code which could be reused, Break-out the
1360 reusable code into one or more separate module files, Take the opportunity
1361 to reconsider and redesign the interfaces, In some cases the 'application'
1362 can then be reduced to a small
1366 =head2 perlform - Perl formats
1372 =item Format Variables
1382 =item Accessing Formatting Internals
1388 =head2 perllocale - Perl locale handling (internationalization and
1393 =item PREPARING TO USE LOCALES
1399 =item The use locale pragma
1401 =item The setlocale function
1403 =item The localeconv function
1407 =item LOCALE CATEGORIES
1411 =item Category LC_COLLATE: Collation
1413 =item Category LC_CTYPE: Character Types
1415 =item Category LC_NUMERIC: Numeric Formatting
1417 =item Category LC_MONETARY: Formatting of monetary amounts
1421 =item Other categories
1427 B<Comparison operators> (C<lt>, C<le>, C<ge>, C<gt> and C<cmp>):,
1428 B<Case-mapping interpolation> (with C<\l>, C<\L>, C<\u> or <\U>),
1429 B<Matching operator> (C<m//>):, B<Substitution operator> (C<s///>):,
1430 B<In-memory formatting function> (sprintf()):, B<Output formatting
1431 functions> (printf() and write()):, B<Case-mapping functions> (lc(),
1432 lcfirst(), uc(), ucfirst()):, B<POSIX locale-dependent functions>
1433 (localeconv(), strcoll(),strftime(), strxfrm()):, B<POSIX character class
1434 tests> (isalnum(), isalpha(), isdigit(),isgraph(), islower(), isprint(),
1435 ispunct(), isspace(), isupper(),
1440 PERL_BADLANG, LC_ALL, LC_CTYPE, LC_COLLATE, LC_MONETARY, LC_NUMERIC,
1447 =item Backward compatibility
1449 =item I18N:Collate obsolete
1451 =item Sort speed and memory use impacts
1453 =item write() and LC_NUMERIC
1455 =item Freely available locale definitions
1459 =item An imperfect standard
1467 =item Broken systems
1475 =head2 perlref - Perl references and nested data structures
1481 =item Symbolic references
1483 =item Not-so-symbolic references
1491 =head2 perldsc - Perl Data Structures Cookbook
1495 arrays of arrays, hashes of arrays, arrays of hashes, hashes of hashes,
1496 more elaborate constructs
1500 =item COMMON MISTAKES
1502 =item CAVEAT ON PRECEDENCE
1504 =item WHY YOU SHOULD ALWAYS C<use strict>
1510 =item LISTS OF LISTS
1514 =item Declaration of a LIST OF LISTS
1516 =item Generation of a LIST OF LISTS
1518 =item Access and Printing of a LIST OF LISTS
1522 =item HASHES OF LISTS
1526 =item Declaration of a HASH OF LISTS
1528 =item Generation of a HASH OF LISTS
1530 =item Access and Printing of a HASH OF LISTS
1534 =item LISTS OF HASHES
1538 =item Declaration of a LIST OF HASHES
1540 =item Generation of a LIST OF HASHES
1542 =item Access and Printing of a LIST OF HASHES
1546 =item HASHES OF HASHES
1550 =item Declaration of a HASH OF HASHES
1552 =item Generation of a HASH OF HASHES
1554 =item Access and Printing of a HASH OF HASHES
1558 =item MORE ELABORATE RECORDS
1562 =item Declaration of MORE ELABORATE RECORDS
1564 =item Declaration of a HASH OF COMPLEX RECORDS
1566 =item Generation of a HASH OF COMPLEX RECORDS
1576 =head2 perllol, perlLoL - Manipulating Lists of Lists in Perl
1580 =item Declaration and Access of Lists of Lists
1582 =item Growing Your Own
1584 =item Access and Printing
1592 =head2 perltoot - Tom's object-oriented tutorial for perl
1596 =item Creating a Class
1600 =item Object Representation
1602 =item Class Interface
1604 =item Constructors and Instance Methods
1606 =item Planning for the Future: Better Constructors
1610 =item Other Object Methods
1618 =item Accessing Class Data
1620 =item Debugging Methods
1622 =item Class Destructors
1624 =item Documenting the Interface
1634 =item Overridden Methods
1636 =item Multiple Inheritance
1638 =item UNIVERSAL: The Root of All Objects
1642 =item Alternate Object Representations
1646 =item Arrays as Objects
1648 =item Closures as Objects
1652 =item AUTOLOAD: Proxy Methods
1656 =item Autoloaded Data Methods
1658 =item Inherited Autoloaded Data Methods
1662 =item Metaclassical Tools
1666 =item Class::Template
1668 =item Data Members as Variables
1672 =item Object Terminology
1682 =item Acknowledgments
1686 =head2 perlobj - Perl objects
1692 =item An Object is Simply a Reference
1694 =item A Class is Simply a Package
1696 =item A Method is Simply a Subroutine
1698 =item Method Invocation
1700 =item Default UNIVERSAL methods
1702 isa(CLASS), can(METHOD), VERSION( [NEED] )
1710 =item Two-Phased Garbage Collection
1716 =head2 perltie - how to hide an object class in a simple variable
1726 TIESCALAR classname, LIST, FETCH this, STORE this, value, DESTROY this
1730 TIEARRAY classname, LIST, FETCH this, index, STORE this, index, value,
1735 USER, HOME, CLOBBER, LIST, TIEHASH classname, LIST, FETCH this, key, STORE
1736 this, key, value, DELETE this, key, CLEAR this, EXISTS this, key, FIRSTKEY
1737 this, NEXTKEY this, lastkey, DESTROY this
1739 =item Tying FileHandles
1741 TIEHANDLE classname, LIST, PRINT this, LIST, READ this LIST, READLINE this,
1742 GETC this, DESTROY this
1744 =item The C<untie> Gotcha
1754 =head2 perlbot - Bag'o Object Tricks (the BOT)
1758 =item OO SCALING TIPS
1760 =item INSTANCE VARIABLES
1762 =item SCALAR INSTANCE VARIABLES
1764 =item INSTANCE VARIABLE INHERITANCE
1766 =item OBJECT RELATIONSHIPS
1768 =item OVERRIDING SUPERCLASS METHODS
1770 =item USING RELATIONSHIP WITH SDBM
1772 =item THINKING OF CODE REUSE
1774 =item CLASS CONTEXT AND THE OBJECT
1776 =item INHERITING A CONSTRUCTOR
1780 =head2 perlipc - Perl interprocess communication (signals, fifos, pipes,
1781 safe subprocesses, sockets, and semaphores)
1789 =item Using open() for IPC
1795 =item Background Processes
1797 =item Complete Dissociation of Child from Parent
1799 =item Safe Pipe Opens
1801 =item Bidirectional Communication
1805 =item Sockets: Client/Server Communication
1809 =item Internet TCP Clients and Servers
1811 =item Unix-Domain TCP Clients and Servers
1813 =item UDP: Message Passing
1829 =head2 perldebug - Perl debugging
1833 =item The Perl Debugger
1837 =item Debugger Commands
1839 h [command], p expr, x expr, V [pkg [vars]], X [vars], T, s [expr], n
1840 [expr], E<lt>CRE<gt>, c [line|sub], l, l min+incr, l min-max, l line, l
1841 subname, -, w [line], f filename, /pattern/, ?pattern?, L, S [[!]pattern],
1842 t, t expr, b [line] [condition], b subname [condition], b postpone subname
1843 [condition], b load filename, b compile subname, d [line], D, a [line]
1844 command, A, O [opt[=val]] [opt"val"] [opt?].., C<recallCommand>,
1845 C<ShellBang>, C<pager>, C<tkRunning>, C<signalLevel>, C<warnLevel>,
1846 C<dieLevel>, C<AutoTrace>, C<LineInfo>, C<inhibit_exit>, C<PrintRet>,
1847 C<frame>, C<maxTraceLen>, C<arrayDepth>, C<hashDepth>, C<compactDump>,
1848 C<veryCompact>, C<globPrint>, C<DumpDBFiles>, C<DumpPackages>, C<quote>,
1849 C<HighBit>, C<undefPrint>, C<UsageOnly>, C<TTY>, C<noTTY>, C<ReadLine>,
1850 C<NonStop>, E<lt> [ command ], E<lt>E<lt> command, E<gt> command,
1851 E<gt>E<gt> command, { [ command ], {{ command, ! number, ! -number, !
1852 pattern, !! cmd, H -number, q or ^D, R, |dbcmd, ||dbcmd, = [alias value],
1853 command, m expr, m package
1855 =item Debugger input/output
1857 Prompt, Multi-line commands, Stack backtrace, Listing, Frame listing
1859 =item Debugging compile-time statements
1861 =item Debugger Customization
1863 =item Readline Support
1865 =item Editor Support for Debugging
1867 =item The Perl Profiler
1869 =item Debugger support in perl
1871 =item Debugger Internals
1873 =item Other resources
1879 =head2 perldiag - various Perl diagnostics
1883 =head2 perlsec - Perl security
1889 =item Laundering and Detecting Tainted Data
1891 =item Switches On the "#!" Line
1893 =item Cleaning Up Your Path
1897 =item Protecting Your Programs
1901 =head2 perltrap - Perl traps for the unwary
1917 =item Perl4 to Perl5 Traps
1919 Discontinuance, Deprecation, and BugFix traps, Parsing Traps, Numerical
1920 Traps, General data type traps, Context Traps - scalar, list contexts,
1921 Precedence Traps, General Regular Expression Traps using s///, etc,
1922 Subroutine, Signal, Sorting Traps, OS Traps, DBM Traps, Unclassified Traps
1924 =item Discontinuance, Deprecation, and BugFix traps
1926 Discontinuance, Deprecation, BugFix, Discontinuance, Discontinuance,
1927 Discontinuance, BugFix, Discontinuance, Discontinuance, BugFix,
1928 Discontinuance, Discontinuance, Deprecation, Discontinuance
1932 Parsing, Parsing, Parsing
1934 =item Numerical Traps
1936 Numerical, Numerical, Numerical
1938 =item General data type traps
1940 (Arrays), (Arrays), (Hashes), (Globs), (Scalar String), (Constants),
1941 (Scalars), (Variable Suicide)
1943 =item Context Traps - scalar, list contexts
1945 (list context), (scalar context), (scalar context), (list, builtin)
1947 =item Precedence Traps
1949 Precedence, Precedence, Precedence, Precedence, Precedence, Precedence,
1952 =item General Regular Expression Traps using s///, etc.
1954 Regular Expression, Regular Expression, Regular Expression, Regular
1955 Expression, Regular Expression, Regular Expression, Regular Expression,
1956 Regular Expression, Regular Expression
1958 =item Subroutine, Signal, Sorting Traps
1960 (Signals), (Sort Subroutine), warn() won't let you specify a filehandle
1966 =item Interpolation Traps
1968 Interpolation, Interpolation, Interpolation, Interpolation, Interpolation,
1969 Interpolation, Interpolation, Interpolation, Interpolation
1975 =item Unclassified Traps
1981 =head2 perlstyle - Perl style guide
1985 =head2 perlpod - plain old documentation
1989 =item Embedding Pods in Perl Modules
1991 =item Common Pod Pitfalls
1997 =head2 perlbook - Perl book information
2001 =head2 perlembed - how to embed perl in your C program
2009 B<Use C from Perl?>, B<Use a UNIX program from Perl?>, B<Use Perl from
2010 Perl?>, B<Use C from C?>, B<Use Perl from C?>
2014 =item Compiling your C program
2016 =item Adding a Perl interpreter to your C program
2018 =item Calling a Perl subroutine from your C program
2020 =item Evaluating a Perl statement from your C program
2022 =item Performing Perl pattern matches and substitutions from your C program
2024 =item Fiddling with the Perl stack from your C program
2026 =item Maintaining a persistent interpreter
2028 =item Maintaining multiple interpreter instances
2030 =item Using Perl modules, which themselves use C libraries, from your C
2041 =head2 perlapio - perl's IO abstraction interface.
2047 B<PerlIO *>, B<PerlIO_stdin()>, B<PerlIO_stdout()>, B<PerlIO_stderr()>,
2048 B<PerlIO_open(path, mode)>, B<PerlIO_fdopen(fd,mode)>,
2049 B<PerlIO_printf(f,fmt,...)>, B<PerlIO_vprintf(f,fmt,a)>,
2050 B<PerlIO_stdoutf(fmt,...)>, B<PerlIO_read(f,buf,count)>,
2051 B<PerlIO_write(f,buf,count)>, B<PerlIO_close(f)>, B<PerlIO_puts(s,f)>,
2052 B<PerlIO_putc(c,f)>, B<PerlIO_ungetc(c,f)>, B<PerlIO_getc(f)>,
2053 B<PerlIO_eof(f)>, B<PerlIO_error(f)>, B<PerlIO_fileno(f)>,
2054 B<PerlIO_clearerr(f)>, B<PerlIO_flush(f)>, B<PerlIO_tell(f)>,
2055 B<PerlIO_seek(f,o,w)>, B<PerlIO_getpos(f,p)>, B<PerlIO_setpos(f,p)>,
2056 B<PerlIO_rewind(f)>, B<PerlIO_tmpfile()>
2060 =item Co-existence with stdio
2062 B<PerlIO_importFILE(f,flags)>, B<PerlIO_exportFILE(f,flags)>,
2063 B<PerlIO_findFILE(f)>, B<PerlIO_releaseFILE(p,f)>, B<PerlIO_setlinebuf(f)>,
2064 B<PerlIO_has_cntptr(f)>, B<PerlIO_get_ptr(f)>, B<PerlIO_get_cnt(f)>,
2065 B<PerlIO_canset_cnt(f)>, B<PerlIO_fast_gets(f)>,
2066 B<PerlIO_set_ptrcnt(f,p,c)>, B<PerlIO_set_cnt(f,c)>, B<PerlIO_has_base(f)>,
2067 B<PerlIO_get_base(f)>, B<PerlIO_get_bufsiz(f)>
2071 =head2 perlxs - XS language reference manual
2081 =item The Anatomy of an XSUB
2083 =item The Argument Stack
2085 =item The RETVAL Variable
2087 =item The MODULE Keyword
2089 =item The PACKAGE Keyword
2091 =item The PREFIX Keyword
2093 =item The OUTPUT: Keyword
2095 =item The CODE: Keyword
2097 =item The INIT: Keyword
2099 =item The NO_INIT Keyword
2101 =item Initializing Function Parameters
2103 =item Default Parameter Values
2105 =item The PREINIT: Keyword
2107 =item The SCOPE: Keyword
2109 =item The INPUT: Keyword
2111 =item Variable-length Parameter Lists
2113 =item The PPCODE: Keyword
2115 =item Returning Undef And Empty Lists
2117 =item The REQUIRE: Keyword
2119 =item The CLEANUP: Keyword
2121 =item The BOOT: Keyword
2123 =item The VERSIONCHECK: Keyword
2125 =item The PROTOTYPES: Keyword
2127 =item The PROTOTYPE: Keyword
2129 =item The ALIAS: Keyword
2131 =item The INCLUDE: Keyword
2133 =item The CASE: Keyword
2135 =item The & Unary Operator
2137 =item Inserting Comments and C Preprocessor Directives
2139 =item Using XS With C++
2141 =item Interface Strategy
2143 =item Perl Objects And C Structures
2155 =head2 perlxstut, perlXStut - Tutorial for XSUBs
2161 =item VERSION CAVEAT
2163 =item DYNAMIC VERSUS STATIC
2169 =item WHAT HAS GONE ON?
2171 =item WRITING GOOD TEST SCRIPTS
2175 =item WHAT'S NEW HERE?
2177 =item INPUT AND OUTPUT PARAMETERS
2179 =item THE XSUBPP COMPILER
2181 =item THE TYPEMAP FILE
2187 =item WHAT HAS HAPPENED HERE?
2189 =item SPECIFYING ARGUMENTS TO XSUBPP
2191 =item THE ARGUMENT STACK
2193 =item EXTENDING YOUR EXTENSION
2195 =item DOCUMENTING YOUR EXTENSION
2197 =item INSTALLING YOUR EXTENSION
2207 =head2 perlguts - Perl's Internal Functions
2217 =item What is an "IV"?
2219 =item Working with SV's
2221 =item What's Really Stored in an SV?
2223 =item Working with AV's
2225 =item Working with HV's
2227 =item Hash API Extensions
2231 =item Blessed References and Class Objects
2233 =item Creating New Variables
2235 =item Reference Counts and Mortality
2237 =item Stashes and Globs
2239 =item Double-Typed SV's
2241 =item Magic Variables
2243 =item Assigning Magic
2245 =item Magic Virtual Tables
2255 =item XSUBs and the Argument Stack
2257 =item Calling Perl Routines from within C Programs
2259 =item Memory Allocation
2263 =item Putting a C value on Perl stack
2267 =item Scratchpads and recursion
2277 =item Examining the tree
2279 =item Compile pass 1: check routines
2281 =item Compile pass 1a: constant folding
2283 =item Compile pass 2: context propagation
2285 =item Compile pass 3: peephole optimization
2291 AvFILL, av_clear, av_extend, av_fetch, av_len, av_make, av_pop, av_push,
2292 av_shift, av_store, av_undef, av_unshift, CLASS, Copy, croak, CvSTASH,
2293 DBsingle, DBsub, DBtrace, dMARK, dORIGMARK, dowarn, dSP, dXSARGS, dXSI32,
2294 dXSI32, ENTER, EXTEND, FREETMPS, G_ARRAY, G_DISCARD, G_EVAL, GIMME,
2295 G_NOARGS, G_SCALAR, gv_fetchmeth, gv_fetchmethod, gv_stashpv, gv_stashsv,
2296 GvSV, HEf_SVKEY, HeHASH, HeKEY, HeKLEN, HePV, HeSVKEY, HeSVKEY_force,
2297 HeSVKEY_set, HeVAL, hv_clear, hv_delayfree_ent, hv_delete, hv_delete_ent,
2298 hv_exists, hv_exists_ent, hv_fetch, hv_fetch_ent, hv_free_ent, hv_iterinit,
2299 hv_iterkey, hv_iterkeysv
2300 Returns the key as an C<SV*> from the current position of the hash
2301 iterator. The return value will always be a mortal copy of the
2302 key. Also see C<hv_iterinit>, hv_iternext, hv_iternextsv, hv_iterval,
2303 hv_magic, HvNAME, hv_store, hv_store_ent, hv_undef, isALNUM, isALPHA,
2304 isDIGIT, isLOWER, isSPACE, isUPPER, items, ix, LEAVE, MARK, mg_clear,
2305 mg_copy, mg_find, mg_free, mg_get, mg_len, mg_magical, mg_set, Move, na,
2306 New, Newc, Newz, newAV, newHV, newRV_inc, newRV_noinc, newSV, newSViv,
2307 newSVnv, newSVpv, newSVrv, newSVsv, newXS, newXSproto, Nullav, Nullch,
2308 Nullcv, Nullhv, Nullsv, ORIGMARK, perl_alloc, perl_call_argv,
2309 perl_call_method, perl_call_pv, perl_call_sv, perl_construct,
2310 perl_destruct, perl_eval_sv, perl_free, perl_get_av, perl_get_cv,
2311 perl_get_hv, perl_get_sv, perl_parse, perl_require_pv, perl_run, POPi,
2312 POPl, POPp, POPn, POPs, PUSHMARK, PUSHi, PUSHn, PUSHp, PUSHs, PUTBACK,
2313 Renew, Renewc, RETVAL, safefree, safemalloc, saferealloc, savepv, savepvn,
2314 SAVETMPS, SP, SPAGAIN, ST, strEQ, strGE, strGT, strLE, strLT, strNE,
2315 strnEQ, strnNE, sv_2mortal, sv_bless, sv_catpv, sv_catpvn, sv_catsv,
2316 sv_cmp, sv_cmp, SvCUR, SvCUR_set, sv_dec, sv_dec, SvEND, sv_eq, SvGROW,
2317 sv_grow, sv_inc, SvIOK, SvIOK_off, SvIOK_on, SvIOK_only, SvIOK_only,
2318 SvIOKp, sv_isa, SvIV, sv_isobject, SvIVX, SvLEN, sv_len, sv_len, sv_magic,
2319 sv_mortalcopy, SvOK, sv_newmortal, sv_no, SvNIOK, SvNIOK_off, SvNIOKp,
2320 SvNOK, SvNOK_off, SvNOK_on, SvNOK_only, SvNOK_only, SvNOKp, SvNV, SvNVX,
2321 SvPOK, SvPOK_off, SvPOK_on, SvPOK_only, SvPOK_only, SvPOKp, SvPV, SvPVX,
2322 SvREFCNT, SvREFCNT_dec, SvREFCNT_inc, SvROK, SvROK_off, SvROK_on, SvRV,
2323 sv_setiv, sv_setnv, sv_setpv, sv_setpvn, sv_setref_iv, sv_setref_nv,
2324 sv_setref_pv, sv_setref_pvn, sv_setsv, SvSTASH, SVt_IV, SVt_PV, SVt_PVAV,
2325 SVt_PVCV, SVt_PVHV, SVt_PVMG, SVt_NV, SvTRUE, SvTYPE, svtype, SvUPGRADE,
2326 sv_upgrade, sv_undef, sv_unref, sv_usepvn, sv_yes, THIS, toLOWER, toUPPER,
2327 warn, XPUSHi, XPUSHn, XPUSHp, XPUSHs, XS, XSRETURN, XSRETURN_EMPTY,
2328 XSRETURN_IV, XSRETURN_NO, XSRETURN_NV, XSRETURN_PV, XSRETURN_UNDEF,
2329 XSRETURN_YES, XST_mIV, XST_mNV, XST_mNO, XST_mPV, XST_mUNDEF, XST_mYES,
2330 XS_VERSION, XS_VERSION_BOOTCHECK, Zero
2336 =head2 perlcall - Perl calling conventions from C
2340 An Error Handler, An Event Driven Program
2342 =item THE PERL_CALL FUNCTIONS
2344 B<perl_call_sv>, B<perl_call_pv>, B<perl_call_method>, B<perl_call_argv>
2362 =item Determining the Context
2366 =item KNOWN PROBLEMS
2372 =item No Parameters, Nothing returned
2374 =item Passing Parameters
2376 =item Returning a Scalar
2378 =item Returning a list of values
2380 =item Returning a list in a scalar context
2382 =item Returning Data from Perl via the parameter list
2386 =item Using G_KEEPERR
2388 =item Using perl_call_sv
2390 =item Using perl_call_argv
2392 =item Using perl_call_method
2396 =item Using Perl to dispose of temporaries
2398 =item Strategies for storing Callback Context Information
2400 1. Ignore the problem - Allow only 1 callback, 2. Create a sequence of
2401 callbacks - hard wired limit, 3. Use a parameter to map to the Perl
2404 =item Alternate Stack Manipulation
2414 =head1 PRAGMA DOCUMENTATION
2416 =head2 autouse - postpone load of modules until a function is used
2430 =head2 blib - Use MakeMaker's uninstalled version of a package
2440 =head2 diagnostics - Perl compiler pragma to force verbose warning
2449 =item The C<diagnostics> Pragma
2451 =item The I<splain> Program
2463 =head2 integer - Perl pragma to compute arithmetic in integer instead of
2470 =head2 less - perl pragma to request less of something from the compiler
2476 =head2 lib - manipulate @INC at compile time
2484 =item ADDING DIRECTORIES TO @INC
2486 =item DELETING DIRECTORIES FROM @INC
2488 =item RESTORING ORIGINAL @INC
2496 =head2 locale - Perl pragma to use and avoid POSIX locales for built-in
2503 =head2 ops - Perl pragma to restrict unsafe operations when compiling
2511 =head2 overload - Package for overloading perl operations
2515 =item CAVEAT SCRIPTOR
2521 =item Declaration of overloaded functions
2523 =item Calling Conventions for Binary Operations
2525 FALSE, TRUE, C<undef>
2527 =item Calling Conventions for Unary Operations
2529 =item Overloadable Operations
2531 I<Arithmetic operations>, I<Comparison operations>, I<Bit operations>,
2532 I<Increment and decrement>, I<Transcendental functions>, I<Boolean, string
2533 and numeric conversion>, I<Special>
2535 =item Inheritance and overloading
2537 Strings as values of C<use overload> directive, Overloading of an operation
2538 is inherited by derived classes
2542 =item SPECIAL SYMBOLS FOR C<use overload>
2550 C<undef>, TRUE, defined, but FALSE
2552 =item Copy Constructor
2558 =item MAGIC AUTOGENERATION
2560 I<Assignment forms of arithmetic operations>, I<Conversion operations>,
2561 I<Increment and decrement>, C<abs($a)>, I<Unary minus>, I<Negation>,
2562 I<Concatenation>, I<Comparison operations>, I<Copy operator>
2566 =item Run-time Overloading
2568 =item Public functions
2570 overload::StrVal(arg), overload::Overloaded(arg), overload::Method(obj,op)
2572 =item IMPLEMENTATION
2580 =head2 sigtrap - Perl pragma to enable simple signal handling
2590 =item SIGNAL HANDLERS
2592 B<stack-trace>, B<die>, B<handler> I<your-handler>
2596 B<normal-signals>, B<error-signals>, B<old-interface-signals>
2600 B<untrapped>, B<any>, I<signal>, I<number>
2606 =head2 strict - Perl pragma to restrict unsafe constructs
2612 C<strict refs>, C<strict vars>, C<strict subs>
2614 =head2 subs - Perl pragma to predeclare sub names
2620 =head2 vars - Perl pragma to predeclare global variable names
2626 =head1 MODULE DOCUMENTATION
2628 =head2 AnyDBM_File - provide framework for multiple DBMs
2636 =item DBM Comparisons
2644 =head2 AutoLoader - load functions only on demand
2656 =item Package Lexicals
2658 =item AutoLoader vs. SelfLoader
2664 =head2 AutoSplit - split a package for autoloading
2674 =head2 Benchmark - benchmark running times of code
2686 =item Standard Exports
2688 timeit(COUNT, CODE), timethis, timethese, timediff, timestr
2690 =item Optional Exports
2702 =item MODIFICATION HISTORY
2704 =head2 Bundle::CPAN - A bundle to play with all the other modules on CPAN
2714 =head2 CPAN - query, download and build perl modules from CPAN sites
2722 =item Interactive Mode
2724 Searching for authors, bundles, distribution files and modules, make, test,
2725 install, clean modules or distributions, readme, look module or
2734 =item ProgrammerE<39>s interface
2744 =item Floppy, Zip, and all that Jazz
2750 o conf E<lt>scalar optionE<gt>, o conf E<lt>scalar optionE<gt>
2751 E<lt>valueE<gt>, o conf E<lt>list optionE<gt>, o conf E<lt>list optionE<gt>
2752 [shift|pop], o conf E<lt>list optionE<gt> [unshift|push|splice]
2765 =head2 CPAN::FirstTime - Utility for CPAN::Config file Initialization
2771 =head2 CPANox, CPAN::Nox - Wrapper around CPAN.pm without using any XS
2780 =head2 Carp, carp - warn of errors (from perspective of caller)
2786 =head2 Class::Template - struct/member template builder
2794 Example 1, Example 2
2798 =head2 Config - access Perl configuration information
2804 myconfig(), config_sh(), config_vars(@names)
2812 =head2 Cwd, getcwd - get pathname of current working directory
2818 =head2 DB_File - Perl5 access to Berkeley DB
2824 B<DB_HASH>, B<DB_BTREE>, B<DB_RECNO>
2828 =item Interface to Berkeley DB
2830 =item Opening a Berkeley DB Database File
2832 =item Default Parameters
2834 =item In Memory Databases
2842 =item A Simple Example
2850 =item Changing the BTREE sort order
2852 =item Handling Duplicate Keys
2854 =item The get_dup() Method
2856 =item Matching Partial Keys
2864 =item The 'bval' Option
2866 =item A Simple Example
2870 B<$X-E<gt>push(list) ;>, B<$value = $X-E<gt>pop ;>, B<$X-E<gt>shift>,
2871 B<$X-E<gt>unshift(list) ;>, B<$X-E<gt>length>
2873 =item Another Example
2877 =item THE API INTERFACE
2879 B<$status = $X-E<gt>get($key, $value [, $flags]) ;>, B<$status =
2880 $X-E<gt>put($key, $value [, $flags]) ;>, B<$status = $X-E<gt>del($key [,
2881 $flags]) ;>, B<$status = $X-E<gt>fd ;>, B<$status = $X-E<gt>seq($key,
2882 $value, $flags) ;>, B<$status = $X-E<gt>sync([$flags]) ;>
2884 =item HINTS AND TIPS
2888 =item Locking Databases
2890 =item Sharing Databases With C Applications
2892 =item The untie() Gotcha
2896 =item COMMON QUESTIONS
2900 =item Why is there Perl source in my database?
2902 =item How do I store complex data structures with DB_File?
2904 =item What does "Invalid Argument" mean?
2906 =item What does "Bareword 'DB_File' not allowed" mean?
2920 =head2 Devel::SelfStubber - generate stubs for a SelfLoading module
2926 =head2 DirHandle - supply object methods for directory handles
2932 =head2 DynaLoader - Dynamically load C libraries into Perl code
2938 @dl_library_path, @dl_resolve_using, @dl_require_symbols, @dl_librefs,
2939 @dl_modules, dl_error(), $dl_debug, dl_findfile(), dl_expandspec(),
2940 dl_load_file(), dl_loadflags(), dl_find_symbol(),
2941 dl_find_symbol_anywhere(), dl_undef_symbols(), dl_install_xsub(),
2946 =head2 English - use nice English (or awk) names for ugly punctuation
2953 =head2 Env - perl module that imports environment variables
2961 =head2 Exporter - Implements default import method for modules
2969 =item Selecting What To Export
2971 =item Specialised Import Lists
2973 =item Module Version Checking
2975 =item Managing Unknown Symbols
2977 =item Tag Handling Utility Functions
2981 =head2 ExtUtils::Command - utilities to replace common UNIX commands in
2988 cat, eqtime src dst, rm_f files..., rm_f files..., touch files .., mv
2989 source... destination, cp source... destination, chmod mode files.., mkpath
2990 directory.., test_f file
2998 =head2 ExtUtils::Embed - Utilities for embedding Perl in C/C++ applications
3008 xsinit(), Examples, ldopts(), Examples, perl_inc(), ccflags(), ccdlflags(),
3009 ccopts(), xsi_header(), xsi_protos(@modules), xsi_body(@modules)
3017 =head2 ExtUtils::Install - install files from here to there
3023 =head2 ExtUtils::Liblist - determine libraries to use and how to use them
3029 For static extensions, For dynamic extensions, For dynamic extensions
3035 =item LDLOADLIBS and LD_RUN_PATH
3045 =item VMS implementation
3051 =head2 ExtUtils::MM_OS2 - methods to override UN*X behaviour in
3058 =head2 ExtUtils::MM_Unix - methods used by ExtUtils::MakeMaker
3068 =item Preloaded methods
3070 canonpath, catdir, catfile, curdir, rootdir, updir
3072 =item SelfLoaded methods
3074 c_o (o), cflags (o), clean (o), const_cccmd (o), const_config (o),
3075 const_loadlibs (o), constants (o), depend (o), dir_target (o), dist (o),
3076 dist_basics (o), dist_ci (o), dist_core (o), dist_dir (o), dist_test (o),
3077 dlsyms (o), dynamic (o), dynamic_bs (o), dynamic_lib (o), exescan,
3078 extliblist, file_name_is_absolute, find_perl
3080 =item Methods to actually produce chunks of text for the Makefile
3082 force (o), guess_name, has_link_code, init_dirscan, init_main, init_others,
3083 install (o), installbin (o), libscan (o), linkext (o), lsdir, macro (o),
3084 makeaperl (o), makefile (o), manifypods (o), maybe_command,
3085 maybe_command_in_dirs, needs_linking (o), nicetext, parse_version, pasthru
3086 (o), path, perl_script, perldepend (o), pm_to_blib, post_constants (o),
3087 post_initialize (o), postamble (o), prefixify, processPL (o), realclean
3088 (o), replace_manpage_separator, static (o), static_lib (o), staticmake (o),
3089 subdir_x (o), subdirs (o), test (o), test_via_harness (o), test_via_script
3090 (o), tool_autosplit (o), tools_other (o), tool_xsubpp (o), top_targets (o),
3091 writedoc, xs_c (o), xs_o (o), perl_archive, export_list
3097 =head2 ExtUtils::MM_VMS - methods to override UN*X behaviour in
3106 =item Methods always loaded
3108 eliminate_macros, fixpath, catdir, catfile, wraplist, curdir (override),
3109 rootdir (override), updir (override)
3111 =item SelfLoaded methods
3113 guess_name (override), find_perl (override), path (override), maybe_command
3114 (override), maybe_command_in_dirs (override), perl_script (override),
3115 file_name_is_absolute (override), replace_manpage_separator, init_others
3116 (override), constants (override), cflags (override), const_cccmd
3117 (override), pm_to_blib (override), tool_autosplit (override), tool_sxubpp
3118 (override), xsubpp_version (override), tools_other (override), dist
3119 (override), c_o (override), xs_c (override), xs_o (override), top_targets
3120 (override), dlsyms (override), dynamic_lib (override), dynamic_bs
3121 (override), static_lib (override), manifypods (override), processPL
3122 (override), installbin (override), subdir_x (override), clean (override),
3123 realclean (override), dist_basics (override), dist_core (override),
3124 dist_dir (override), dist_test (override), install (override), perldepend
3125 (override), makefile (override), test (override), test_via_harness
3126 (override), test_via_script (override), makeaperl (override), nicetext
3131 =head2 ExtUtils::MM_Win32 - methods to override UN*X behaviour in
3138 catfile, static_lib (o), dynamic_lib (o), canonpath, perl_script,
3139 pm_to_blib, test_via_harness (o), tool_autosplit (override), tools_other
3140 (o), manifypods (o), dist_ci (o), dist_core (o), pasthru (o)
3142 =head2 ExtUtils::MakeMaker - create an extension Makefile
3150 =item How To Write A Makefile.PL
3152 =item Default Makefile Behaviour
3160 =item PREFIX and LIB attribute
3164 =item Static Linking of a new Perl Binary
3166 =item Determination of Perl Library and Installation Locations
3168 =item Which architecture dependent directory?
3170 =item Using Attributes and Parameters
3172 C, CONFIG, CONFIGURE, DEFINE, DIR, DISTNAME, DL_FUNCS, DL_VARS,
3173 EXCLUDE_EXT, EXE_FILES, NO_VC, FIRST_MAKEFILE, FULLPERL, H, INC,
3174 INCLUDE_EXT, INSTALLARCHLIB, INSTALLBIN, INSTALLDIRS, INSTALLMAN1DIR,
3175 INSTALLMAN3DIR, INSTALLPRIVLIB, INSTALLSCRIPT, INSTALLSITELIB,
3176 INSTALLSITEARCH, INST_ARCHLIB, INST_BIN, INST_EXE, INST_LIB, INST_MAN1DIR,
3177 INST_MAN3DIR, INST_SCRIPT, LDFROM, LIBPERL_A, LIB, LIBS, LINKTYPE,
3178 MAKEAPERL, MAKEFILE, MAN1PODS, MAN3PODS, MAP_TARGET, MYEXTLIB, NAME,
3179 NEEDS_LINKING, NOECHO, NORECURS, OBJECT, OPTIMIZE, PERL, PERLMAINCC,
3180 PERL_ARCHLIB, PERL_LIB, PERL_SRC, PL_FILES, PM, PMLIBDIRS, PREFIX,
3181 PREREQ_PM, SKIP, TYPEMAPS, VERSION, VERSION_FROM, XS, XSOPT, XSPROTOARG,
3184 =item Additional lowercase attributes
3186 clean, depend, dist, dynamic_lib, installpm, linkext, macro, realclean,
3189 =item Overriding MakeMaker Methods
3191 =item Hintsfile support
3193 =item Distribution Support
3195 make distcheck, make skipcheck, make distclean, make manifest,
3196 make distdir, make tardist, make dist, make uutardist, make
3197 shdist, make zipdist, make ci
3205 =head2 ExtUtils::Manifest - utilities to write and check a MANIFEST file
3215 =item GLOBAL VARIABLES
3219 C<Not in MANIFEST:> I<file>, C<No such file:> I<file>, C<MANIFEST:> I<$!>,
3220 C<Added to MANIFEST:> I<file>
3226 =head2 ExtUtils::Miniperl, writemain - write the C code for perlmain.c
3234 =head2 ExtUtils::Mkbootstrap - make a bootstrap file for use by DynaLoader
3240 =head2 ExtUtils::Mksymlists - write linker options files for dynamic
3247 NAME, DL_FUNCS, DL_VARS, FILE, FUNCLIST, DLBASE
3253 =head2 ExtUtils::testlib - add blib/* directories to @INC
3259 =head2 Fcntl - load the C Fcntl.h defines
3267 =item EXPORTED SYMBOLS
3269 =head2 File::Basename, fileparse - split a pathname into pieces
3275 fileparse_set_fstype, fileparse
3279 C<basename>, C<dirname>
3281 =head2 File::CheckTree, validate - run many filetest checks on a tree
3287 =head2 File::Compare - Compare files or filehandles
3297 =head2 File::Copy - Copy files or filehandles
3305 =item Special behavior if C<syscopy> is defined (VMS and OS/2)
3307 rmscopy($from,$to[,$date_flag])
3315 =head2 File::Find, find - traverse a file tree
3321 =head2 File::Path - create or remove a series of directories
3331 =head2 File::stat - by-name interface to Perl's built-in stat() functions
3341 =head2 FileCache - keep more files open than the system permits
3349 =head2 FileHandle - supply object methods for filehandles
3355 $fh->print, $fh->printf, $fh->getline, $fh->getlines
3359 =head2 FindBin - Locate directory of original perl script
3365 =item EXPORTABLE VARIABLES
3375 =head2 GDBM_File - Perl5 access to the gdbm library.
3387 =head2 Getopt::Long, GetOptions - extended processing of command line
3394 E<lt>noneE<gt>, !, =s, :s, =i, :i, =f, :f
3398 =item Linkage specification
3400 =item Aliases and abbreviations
3402 =item Non-option call-back routine
3404 =item Option starters
3414 =item CONFIGURATION OPTIONS
3416 default, auto_abbrev, getopt_compat, require_order, permute, bundling
3417 (default: reset), bundling_override (default: reset), ignore_case
3418 (default: set), ignore_case_always (default: reset), pass_through (default:
3419 reset), debug (default: reset)
3421 =item OTHER USEFUL VARIABLES
3423 $Getopt::Long::VERSION, $Getopt::Long::error
3425 =head2 Getopt::Std, getopt - Process single-character switches with switch
3432 =head2 I18N::Collate - compare 8-bit scalar data according to the current
3439 =head2 IO - load various IO modules
3445 =head2 IO::File - supply object methods for filehandles
3453 new ([ ARGS ] ), new_tmpfile
3457 open( FILENAME [,MODE [,PERMS]] )
3463 =head2 IO::Handle - supply object methods for I/O handles
3471 new (), new_from_fd ( FD, MODE )
3475 $fh->getline, $fh->getlines, $fh->fdopen ( FD, MODE ), $fh->write ( BUF,
3476 LEN [, OFFSET }\] ), $fh->opened, $fh->untaint
3486 =head2 IO::Pipe, IO::pipe - supply object methods for pipes
3494 new ( [READER, WRITER] )
3498 reader ([ARGS]), writer ([ARGS]), handles ()
3506 =head2 IO::Seekable - supply seek based methods for I/O objects
3516 =head2 IO::Select - OO interface to the select system call
3528 add ( HANDLES ), remove ( HANDLES ), exists ( HANDLE ), handles, can_read (
3529 [ TIMEOUT ] ), can_write ( [ TIMEOUT ] ), has_error ( [ TIMEOUT ] ), count
3530 (), bits(), bits(), select ( READ, WRITE, ERROR [, TIMEOUT ] )
3538 =head2 IO::Socket - Object interface to socket communications
3550 accept([PKG]), timeout([VAL]), sockopt(OPT [, VAL]), sockdomain, socktype,
3557 =item IO::Socket::INET
3561 sockaddr (), sockport (), sockhost (), peeraddr (), peerport (), peerhost
3564 =item IO::Socket::UNIX
3568 hostpath(), peerpath()
3578 =head2 IO::lib::IO::File, IO::File - supply object methods for filehandles
3586 new ([ ARGS ] ), new_tmpfile
3590 open( FILENAME [,MODE [,PERMS]] )
3596 =head2 IO::lib::IO::Handle, IO::Handle - supply object methods for I/O
3605 new (), new_from_fd ( FD, MODE )
3609 $fh->getline, $fh->getlines, $fh->fdopen ( FD, MODE ), $fh->write ( BUF,
3610 LEN [, OFFSET }\] ), $fh->opened, $fh->untaint
3620 =head2 IO::lib::IO::Pipe, IO::pipe - supply object methods for pipes
3628 new ( [READER, WRITER] )
3632 reader ([ARGS]), writer ([ARGS]), handles ()
3640 =head2 IO::lib::IO::Seekable, IO::Seekable - supply seek based methods for
3651 =head2 IO::lib::IO::Select, IO::Select - OO interface to the select system
3664 add ( HANDLES ), remove ( HANDLES ), exists ( HANDLE ), handles, can_read (
3665 [ TIMEOUT ] ), can_write ( [ TIMEOUT ] ), has_error ( [ TIMEOUT ] ), count
3666 (), bits(), bits(), select ( READ, WRITE, ERROR [, TIMEOUT ] )
3674 =head2 IO::lib::IO::Socket, IO::Socket - Object interface to socket
3687 accept([PKG]), timeout([VAL]), sockopt(OPT [, VAL]), sockdomain, socktype,
3694 =item IO::Socket::INET
3698 sockaddr (), sockport (), sockhost (), peeraddr (), peerport (), peerhost
3701 =item IO::Socket::UNIX
3705 hostpath(), peerpath()
3715 =head2 IPC::Open2, open2 - open a process for both reading and writing
3725 =head2 IPC::Open3, open3 - open a process for reading, writing, and error
3734 =head2 Math::BigFloat - Arbitrary length float math package
3740 number format, Error returns 'NaN', Division is computed to
3746 =head2 Math::BigInt - Arbitrary size integer math package
3752 Canonical notation, Input, Output
3760 =head2 Math::Complex - complex numbers and associated mathematical
3771 =item STRINGIFICATION
3779 =head2 NDBM_File - Tied access to ndbm files
3785 =head2 Net::Ping - check a remote host for reachability
3795 Net::Ping->new([$proto [, $def_timeout [, $bytes]]]);, $p->ping($host [,
3796 $timeout]);, $p->close();, pingecho($host [, $timeout]);
3804 =head2 Net::hostent - by-name interface to Perl's built-in gethost*()
3817 =head2 Net::netent - by-name interface to Perl's built-in getnet*()
3830 =head2 Net::protoent - by-name interface to Perl's built-in getproto*()
3841 =head2 Net::servent - by-name interface to Perl's built-in getserv*()
3854 =head2 ODBM_File - Tied access to odbm files
3860 =head2 Opcode - Disable named opcodes when compiling perl code
3870 =item Operator Names and Operator Lists
3872 an operator name (opname), an operator tag name (optag), a negated opname
3873 or optag, an operator set (opset)
3875 =item Opcode Functions
3877 opcodes, opset (OP, ...), opset_to_ops (OPSET), opset_to_hex (OPSET),
3878 full_opset, empty_opset, invert_opset (OPSET), verify_opset (OPSET, ...),
3879 define_optag (OPTAG, OPSET), opmask_add (OPSET), opmask, opdesc (OP, ...),
3882 =item Manipulating Opsets
3886 =item Predefined Opcode Tags
3888 :base_core, :base_mem, :base_loop, :base_io, :base_orig, :base_math,
3889 :default, :filesys_read, :sys_db, :browse, :filesys_open, :filesys_write,
3890 :subprocess, :ownprocess, :others, :still_to_be_decided, :dangerous
3896 =head2 Opcode::Safe, Safe - Compile and execute code in restricted
3903 a new namespace, an operator mask
3909 =item RECENT CHANGES
3911 =item Methods in class Safe
3913 permit (OP, ...), permit_only (OP, ...), deny (OP, ...), deny_only (OP,
3914 ...), trap (OP, ...), untrap (OP, ...), share (NAME, ...), share_from
3915 (PACKAGE, ARRAYREF), varglob (VARNAME), reval (STRING), rdo (FILENAME),
3916 root (NAMESPACE), mask (MASK)
3918 =item Some Safety Issues
3920 Memory, CPU, Snooping, Signals, State Changes
3926 =head2 Opcode::ops, ops - Perl pragma to restrict unsafe operations when
3935 =head2 POSIX - Perl interface to IEEE Std 1003.1
3947 _exit, abort, abs, access, acos, alarm, asctime, asin, assert, atan, atan2,
3948 atexit, atof, atoi, atol, bsearch, calloc, ceil, chdir, chmod, chown,
3949 clearerr, clock, close, closedir, cos, cosh, creat, ctermid, ctime,
3950 cuserid, difftime, div, dup, dup2, errno, execl, execle, execlp, execv,
3951 execve, execvp, exit, exp, fabs, fclose, fcntl, fdopen, feof, ferror,
3952 fflush, fgetc, fgetpos, fgets, fileno, floor, fmod, fopen, fork, fpathconf,
3953 fprintf, fputc, fputs, fread, free, freopen, frexp, fscanf, fseek, fsetpos,
3954 fstat, ftell, fwrite, getc, getchar, getcwd, getegid, getenv, geteuid,
3955 getgid, getgrgid, getgrnam, getgroups, getlogin, getpgrp, getpid, getppid,
3956 getpwnam, getpwuid, gets, getuid, gmtime, isalnum, isalpha, isatty,
3957 iscntrl, isdigit, isgraph, islower, isprint, ispunct, isspace, isupper,
3958 isxdigit, kill, labs, ldexp, ldiv, link, localeconv, localtime, log, log10,
3959 longjmp, lseek, malloc, mblen, mbstowcs, mbtowc, memchr, memcmp, memcpy,
3960 memmove, memset, mkdir, mkfifo, mktime, modf, nice, offsetof, open,
3961 opendir, pathconf, pause, perror, pipe, pow, printf, putc, putchar, puts,
3962 qsort, raise, rand, read, readdir, realloc, remove, rename, rewind,
3963 rewinddir, rmdir, scanf, setgid, setjmp, setlocale, setpgid, setsid,
3964 setuid, sigaction, siglongjmp, sigpending, sigprocmask, sigsetjmp,
3965 sigsuspend, sin, sinh, sleep, sprintf, sqrt, srand, sscanf, stat, strcat,
3966 strchr, strcmp, strcoll, strcpy, strcspn, strerror, strftime, strlen,
3967 strncat, strncmp, strncpy, stroul, strpbrk, strrchr, strspn, strstr,
3968 strtod, strtok, strtol, strtoul, strxfrm, sysconf, system, tan, tanh,
3969 tcdrain, tcflow, tcflush, tcgetpgrp, tcsendbreak, tcsetpgrp, time, times,
3970 tmpfile, tmpnam, tolower, toupper, ttyname, tzname, tzset, umask, uname,
3971 ungetc, unlink, utime, vfprintf, vprintf, vsprintf, wait, waitpid,
3972 wcstombs, wctomb, write
3978 =item POSIX::SigAction
3984 new, addset, delset, emptyset, fillset, ismember
3986 =item POSIX::Termios
3988 new, getattr, getcc, getcflag, getiflag, getispeed, getlflag, getoflag,
3989 getospeed, setattr, setcc, setcflag, setiflag, setispeed, setlflag,
3990 setoflag, setospeed, Baud rate values, Terminal interface values, c_cc
3991 field values, c_cflag field values, c_iflag field values, c_lflag field
3992 values, c_oflag field values
3996 =item PATHNAME CONSTANTS
4000 =item POSIX CONSTANTS
4004 =item SYSTEM CONFIGURATION
4062 =head2 Pod::Text - convert POD data to formatted ASCII text
4072 =head2 SDBM_File - Tied access to sdbm files
4078 =head2 Safe - Compile and execute code in restricted compartments
4084 a new namespace, an operator mask
4090 =item RECENT CHANGES
4092 =item Methods in class Safe
4094 permit (OP, ...), permit_only (OP, ...), deny (OP, ...), deny_only (OP,
4095 ...), trap (OP, ...), untrap (OP, ...), share (NAME, ...), share_from
4096 (PACKAGE, ARRAYREF), varglob (VARNAME), reval (STRING), rdo (FILENAME),
4097 root (NAMESPACE), mask (MASK)
4099 =item Some Safety Issues
4101 Memory, CPU, Snooping, Signals, State Changes
4107 =head2 Search::Dict, look - search for key in dictionary file
4113 =head2 SelectSaver - save and restore selected file handle
4119 =head2 SelfLoader - load functions only on demand
4127 =item The __DATA__ token
4129 =item SelfLoader autoloading
4131 =item Autoloading and package lexicals
4133 =item SelfLoader and AutoLoader
4135 =item __DATA__, __END__, and the FOOBAR::DATA filehandle.
4137 =item Classes and inherited methods.
4141 =item Multiple packages and fully qualified subroutine names
4143 =head2 Shell - run shell commands transparently within perl
4151 =head2 Socket, sockaddr_in, sockaddr_un, inet_aton, inet_ntoa - load the C
4152 socket.h defines and structure manipulators
4158 inet_aton HOSTNAME, inet_ntoa IP_ADDRESS, INADDR_ANY, INADDR_BROADCAST,
4159 INADDR_LOOPBACK, INADDR_NONE, sockaddr_in PORT, ADDRESS, sockaddr_in
4160 SOCKADDR_IN, pack_sockaddr_in PORT, IP_ADDRESS, unpack_sockaddr_in
4161 SOCKADDR_IN, sockaddr_un PATHNAME, sockaddr_un SOCKADDR_UN,
4162 pack_sockaddr_un PATH, unpack_sockaddr_un SOCKADDR_UN
4164 =head2 Symbol - manipulate Perl symbols and their names
4170 =head2 Sys::Hostname - Try every conceivable way to get hostname
4178 =head2 Syslog, Sys::Syslog, openlog, closelog, setlogmask, syslog - Perl
4179 interface to the UNIX syslog(3) calls
4185 openlog $ident, $logopt, $facility, syslog $priority, $format, @args,
4186 setlogmask $mask_priority, closelog
4196 =head2 Term::Cap - Perl termcap interface
4204 =head2 Term::Complete - Perl word completion module
4210 E<lt>tabE<gt>Attempts word completion.
4211 Cannot be changed, ^D, ^U, E<lt>delE<gt>, E<lt>bsE<gt>
4219 =head2 Term::ReadLine - Perl interface to various C<readline> packages. If
4220 no real package is found, substitutes stubs instead of basic functions.
4226 =item Minimal set of supported functions
4228 C<ReadLine>, C<new>, C<readline>, C<addhistory>, C<IN>, $C<OUT>,
4229 C<MinLine>, C<findConsole>, Attribs, C<Features>
4231 =item Additional supported functions
4237 =head2 Test::Harness - run perl standard test scripts with statistics
4245 =item The test script output
4253 C<All tests successful.\nFiles=%d, Tests=%d, %s>, C<FAILED tests
4254 %s\n\tFailed %d/%d tests, %.2f%% okay.>, C<Test returned status %d (wstat
4255 %d)>, C<Failed 1 test, %.2f%% okay. %s>, C<Failed %d/%d tests, %.2f%% okay.
4264 =head2 Text::Abbrev, abbrev - create an abbreviation table from a list
4272 =head2 Text::ParseWords - parse text into an array of tokens
4280 =head2 Text::Soundex - Implementation of the Soundex Algorithm as Described
4293 =head2 Text::Tabs -- expand and unexpand tabs per the unix expand(1) and
4304 =head2 Text::Wrap - line wrapping to form simple paragraphs
4316 =head2 Tie::Hash, Tie::StdHash - base class definitions for tied hashes
4322 TIEHASH classname, LIST, STORE this, key, value, FETCH this, key, FIRSTKEY
4323 this, NEXTKEY this, lastkey, EXISTS this, key, DELETE this, key, CLEAR this
4327 =item MORE INFORMATION
4329 =head2 Tie::RefHash - use references as hash keys
4343 =head2 Tie::Scalar, Tie::StdScalar - base class definitions for tied
4350 TIESCALAR classname, LIST, FETCH this, STORE this, value, DESTROY this
4352 =item MORE INFORMATION
4354 =head2 Tie::SubstrHash - Fixed-table-size, fixed-key-length hashing
4362 =head2 Time::Local - efficiently compute time from local and GMT time
4368 =head2 Time::gmtime - by-name interface to Perl's built-in gmtime()
4379 =head2 Time::localtime - by-name interface to Perl's built-in localtime()
4390 =head2 Time::tm - internal object used by Time::gmtime and Time::localtime
4398 =head2 UNIVERSAL - base class for ALL classes (blessed references)
4404 isa ( TYPE ), can ( METHOD ), VERSION ( [ REQUIRE ] ), isa ( REF, TYPE )
4406 =head2 User::grent - by-name interface to Perl's built-in getgr*()
4417 =head2 User::pwent - by-name interface to Perl's built-in getpw*()
4428 =head1 AUXILIARY DOCUMENTATION
4430 Here should be listed all the extra programs' documentation, but they
4431 don't all have manual pages yet:
4453 Larry Wall <F<larry@wall.org>>, with the help of oodles