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/25
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 25/March/97, 18/March/97, 17/March/97 Version, Initial Release: 11/March/97
81 =head2 perlfaq1 - General Questions About Perl ($Revision: 1.11 $, $Date:
82 1997/03/19 17:23:09 $)
90 =item Who supports Perl? Who develops it? Why is it free?
92 =item Which version of Perl should I use?
94 =item What are perl4 and perl5?
96 =item How stable is Perl?
98 =item Is Perl difficult to learn?
100 =item How does Perl compare with other languages like Java, Python, REXX,
103 =item Can I do [task] in Perl?
105 =item When shouldn't I program in Perl?
107 =item What's the difference between "perl" and "Perl"?
109 =item Is it a Perl program or a Perl script?
111 =item What is a JAPH?
113 =item Where can I get a list of Larry Wall witticisms?
115 =item How can I convince my sysadmin/supervisor/employees to use version
116 (5/5.004/Perl instead of some other language)?
120 =item AUTHOR AND COPYRIGHT
122 =head2 perlfaq2 - Obtaining and Learning about Perl ($Revision: 1.15 $,
123 $Date: 1997/03/25 18:15:48 $)
129 =item What machines support Perl? Where do I get it?
131 =item How can I get a binary version of Perl?
133 =item I don't have a C compiler on my system. How can I compile perl?
135 =item I copied the Perl binary from one machine to another, but scripts
138 =item I grabbed the sources and tried to compile but gdbm/dynamic
139 loading/malloc/linking/... failed. How do I make it work?
141 =item What modules and extensions are available for Perl? What is CPAN?
142 What does CPAN/src/... mean?
144 =item Is there an ISO or ANSI certified version of Perl?
146 =item Where can I get information on Perl?
148 =item What are the Perl newsgroups on USENET? Where do I post questions?
150 =item Where should I post source code?
154 =item Perl in Magazines
156 =item Perl on the Net: FTP and WWW Access
158 =item What mailing lists are there for perl?
160 MacPerl, Perl5-Porters, NTPerl, Perl-Packrats
162 =item Archives of comp.lang.perl.misc
166 =item Where can I buy a commercial version of Perl?
168 =item Where do I send bug reports?
170 =item What is perl.com? perl.org? The Perl Institute?
172 =item How do I learn about object-oriented Perl programming?
176 =item AUTHOR AND COPYRIGHT
178 =head2 perlfaq3 - Programming Tools ($Revision: 1.20 $, $Date: 1997/03/19
185 =item How do I do (anything)?
187 =item How can I use Perl interactively?
189 =item Is there a Perl shell?
191 =item How do I debug my Perl programs?
193 =item How do I profile my Perl programs?
195 =item How do I cross-reference my Perl programs?
197 =item Is there a pretty-printer (formatter) for Perl?
199 =item Is there a ctags for Perl?
201 =item Where can I get Perl macros for vi?
203 =item Where can I get perl-mode for emacs?
205 =item How can I use curses with Perl?
207 =item How can I use X or Tk with Perl?
209 =item How can I generate simple menus without using CGI or Tk?
211 =item Can I dynamically load C routines into Perl?
213 =item What is undump?
215 =item How can I make my Perl program run faster?
217 =item How can I make my Perl program take less memory?
219 =item Is it unsafe to return a pointer to local data?
221 =item How can I free an array or hash so my program shrinks?
223 =item How can I make my CGI script more efficient?
225 =item How can I hide the source for my Perl program?
227 =item How can I compile my Perl program into byte-code or C?
229 =item How can I get '#!perl' to work on [MSDOS,NT,...]?
231 =item Can I write useful perl programs on the command line?
233 =item Why don't perl one-liners work on my DOS/Mac/VMS system?
235 =item Where can I learn about CGI or Web programming in Perl?
237 =item Where can I learn about object-oriented Perl programming?
239 =item Where can I learn about linking C with Perl? [h2xs, xsubpp]
241 =item I've read perlembed, perlguts, etc., but I can't embed perl in
242 my C program, what am I doing wrong?
244 =item When I tried to run my script, I got this message. What does it
247 =item What's MakeMaker?
251 =item AUTHOR AND COPYRIGHT
253 =head2 perlfaq4 - Data Manipulation ($Revision: 1.17 $, $Date: 1997/03/25
262 =item Why isn't my octal data interpreted correctly?
264 =item Does perl have a round function? What about ceil() and floor()?
267 =item How do I convert bits into ints?
269 =item How do I multiply matrices?
271 =item How do I perform an operation on a series of integers?
273 =item How can I output Roman numerals?
275 =item Why aren't my random numbers random?
283 =item How do I find the week-of-the-year/day-of-the-year?
285 =item How can I compare two date strings?
287 =item How can I take a string and turn it into epoch seconds?
289 =item How can I find the Julian Day?
291 =item Does Perl have a year 2000 problem?
299 =item How do I validate input?
301 =item How do I unescape a string?
303 =item How do I remove consecutive pairs of characters?
305 =item How do I expand function calls in a string?
307 =item How do I find matching/nesting anything?
309 =item How do I reverse a string?
311 =item How do I expand tabs in a string?
313 =item How do I reformat a paragraph?
315 =item How can I access/change the first N letters of a string?
317 =item How do I change the Nth occurrence of something?
319 =item How can I count the number of occurrences of a substring within a
322 =item How do I capitalize all the words on one line?
324 =item How can I split a [character] delimited string except when inside
325 [character]? (Comma-separated files)
327 =item How do I strip blank space from the beginning/end of a string?
329 =item How do I extract selected columns from a string?
331 =item How do I find the soundex value of a string?
333 =item How can I expand variables in text strings?
335 =item What's wrong with always quoting "$vars"?
337 =item Why don't my <<HERE documents work?
339 1. There must be no space after the << part, 2. There (probably) should be
340 a semicolon at the end, 3. You can't (easily) have any space in front of
349 =item What is the difference between $array[1] and @array[1]?
351 =item How can I extract just the unique elements of an array?
353 a) If @in is sorted, and you want @out to be sorted:, b) If you don't know
354 whether @in is sorted:, c) Like (b), but @in contains only small integers:,
355 d) A way to do (b) without any loops or greps:, e) Like (d), but @in
356 contains only small positive integers:
358 =item How can I tell whether an array contains a certain element?
360 =item How do I compute the difference of two arrays? How do I compute the
361 intersection of two arrays?
363 =item How do I find the first array element for which a condition is true?
365 =item How do I handle linked lists?
367 =item How do I handle circular lists?
369 =item How do I shuffle an array randomly?
371 =item How do I process/modify each element of an array?
373 =item How do I select a random element from an array?
375 =item How do I permute N elements of a list?
377 =item How do I sort an array by (anything)?
379 =item How do I manipulate arrays of bits?
381 =item Why does defined() return true on empty arrays and hashes?
385 =item Data: Hashes (Associative Arrays)
389 =item How do I process an entire hash?
391 =item What happens if I add or remove keys from a hash while iterating over
394 =item How do I look up a hash element by value?
396 =item How can I know how many entries are in a hash?
398 =item How do I sort a hash (optionally by value instead of key)?
400 =item How can I always keep my hash sorted?
402 =item What's the difference between "delete" and "undef" with hashes?
404 =item Why don't my tied hashes make the defined/exists distinction?
406 =item How do I reset an each() operation part-way through?
408 =item How can I get the unique keys from two hashes?
410 =item How can I store a multidimensional array in a DBM file?
412 =item How can I make my hash remember the order I put elements into it?
414 =item Why does passing a subroutine an undefined element in a hash create
417 =item How can I make the Perl equivalent of a C structure/C++ class/hash
418 or array of hashes or arrays?
420 =item How can I use a reference as a hash key?
428 =item How do I handle binary data correctly?
430 =item How do I determine whether a scalar is a number/whole/integer/float?
432 =item How do I keep persistent data across program calls?
434 =item How do I print out or copy a recursive data structure?
436 =item How do I define methods for every class/object?
438 =item How do I verify a credit card checksum?
442 =item AUTHOR AND COPYRIGHT
444 =head2 perlfaq5 - Files and Formats ($Revision: 1.20 $, $Date: 1997/03/19
451 =item How do I flush/unbuffer a filehandle? Why must I do this?
453 =item How do I change one line in a file/delete a line in a file/insert a
454 line in the middle of a file/append to the beginning of a file?
456 =item How do I count the number of lines in a file?
458 =item How do I make a temporary file name?
460 =item How can I manipulate fixed-record-length files?
462 =item How can I make a filehandle local to a subroutine? How do I pass
463 filehandles between subroutines? How do I make an array of filehandles?
465 =item How can I set up a footer format to be used with write()?
467 =item How can I write() into a string?
469 =item How can I output my numbers with commas added?
471 =item How can I translate tildes (~) in a filename?
473 =item How come when I open the file read-write it wipes it out?
475 =item Why do I sometimes get an "Argument list too long" when I use <*>?
477 =item Is there a leak/bug in glob()?
479 =item How can I open a file with a leading "E<gt>" or trailing blanks?
481 =item How can I reliably rename a file?
483 =item How can I lock a file?
485 =item What can't I just open(FH, ">file.lock")?
487 =item I still don't get locking. I just want to increment the number
488 in the file. How can I do this?
490 =item How do I randomly update a binary file?
492 =item How do I get a file's timestamp in perl?
494 =item How do I set a file's timestamp in perl?
496 =item How do I print to more than one file at once?
498 =item How can I read in a file by paragraphs?
500 =item How can I read a single character from a file? From the keyboard?
502 =item How can I tell if there's a character waiting on a filehandle?
504 =item How do I open a file without blocking?
506 =item How do I create a file only if it doesn't exist?
508 =item How do I do a C<tail -f> in perl?
510 =item How do I dup() a filehandle in Perl?
512 =item How do I close a file descriptor by number?
514 =item Why can't I use "C:\temp\foo" in DOS paths? What doesn't
515 `C:\temp\foo.exe` work?
517 =item Why doesn't glob("*.*") get all the files?
519 =item Why does Perl let me delete read-only files? Why does C<-i> clobber
520 protected files? Isn't this a bug in Perl?
522 =item How do I select a random line from a file?
526 =item AUTHOR AND COPYRIGHT
528 =head2 perlfaq6 - Regexps ($Revision: 1.16 $, $Date: 1997/03/25 18:16:56 $)
534 =item How can I hope to use regular expressions without creating illegible
535 and unmaintainable code?
537 Comments Outside the Regexp, Comments Inside the Regexp, Different
540 =item I'm having trouble matching over more than one line. What's wrong?
542 =item How can I pull out lines between two patterns that are themselves on
545 =item I put a regular expression into $/ but it didn't work. What's wrong?
547 =item How do I substitute case insensitively on the LHS, but preserving
550 =item How can I make C<\w> match accented characters?
552 =item How can I match a locale-smart version of C</[a-zA-Z]/>?
554 =item How can I quote a variable to use in a regexp?
556 =item What is C</o> really for?
558 =item How do I use a regular expression to strip C style comments from a
561 =item Can I use Perl regular expressions to match balanced text?
563 =item What does it mean that regexps are greedy? How can I get around it?
565 =item How do I process each word on each line?
567 =item How can I print out a word-frequency or line-frequency summary?
569 =item How can I do approximate matching?
571 =item How do I efficiently match many regular expressions at once?
573 =item Why don't word-boundary searches with C<\b> work for me?
575 =item Why does using $&, $`, or $' slow my program down?
577 =item What good is C<\G> in a regular expression?
579 =item Are Perl regexps DFAs or NFAs? Are they POSIX compliant?
581 =item What's wrong with using grep or map in a void context?
583 =item How can I match strings with multi-byte characters?
587 =item AUTHOR AND COPYRIGHT
589 =head2 perlfaq7 - Perl Language Issues ($Revision: 1.16 $, $Date:
590 1997/03/19 17:25:23 $)
596 =item Can I get a BNF/yacc/RE for the Perl language?
598 =item What are all these $@%* punctuation signs, and how do I know when to
601 =item Do I always/never have to quote my strings or use semicolons and
604 =item How do I skip some return values?
606 =item How do I temporarily block warnings?
608 =item What's an extension?
610 =item Why do Perl operators have different precedence than C operators?
612 =item How do I declare/create a structure?
614 =item How do I create a module?
616 =item How do I create a class?
618 =item How can I tell if a variable is tainted?
620 =item What's a closure?
622 =item How can I pass/return a {Function, FileHandle, Array, Hash, Method,
625 Passing Variables and Functions, Passing Filehandles, Passing Regexps,
628 =item How do I create a static variable?
630 =item What's the difference between dynamic and lexical (static) scoping?
631 Between local() and my()?
633 =item How can I access a dynamic variable while a similarly named lexical
636 =item What's the difference between deep and shallow binding?
638 =item Why doesn't "local($foo) = <FILE>;" work right?
640 =item How do I redefine a built-in function, operator, or method?
642 =item What's the difference between calling a function as &foo and foo()?
644 =item How do I create a switch or case statement?
646 =item How can I catch accesses to undefined variables/functions/methods?
648 =item Why can't a method included in this same file be found?
650 =item How can I find out my current package?
654 =item AUTHOR AND COPYRIGHT
656 =head2 perlfaq8 - System Interaction ($Revision: 1.17 $, $Date: 1997/03/25
663 =item How do I find out which operating system I'm running under?
665 =item How come exec() doesn't return?
667 =item How do I do fancy stuff with the keyboard/screen/mouse?
669 Keyboard, Screen, Mouse
671 =item How do I ask the user for a password?
673 =item How do I read and write the serial port?
675 lockfiles, open mode, end of line, flushing output, non-blocking input
677 =item How do I decode encrypted password files?
679 =item How do I start a process in the background?
681 STDIN, STDOUT and STDERR are shared, Signals, Zombies
683 =item How do I trap control characters/signals?
685 =item How do I modify the shadow password file on a Unix system?
687 =item How do I set the time and date?
689 =item How can I sleep() or alarm() for under a second?
691 =item How can I measure time under a second?
693 =item How can I do an atexit() or setjmp()/longjmp()? (Exception handling)
695 =item Why doesn't my sockets program work under System V (Solaris)? What
696 does the error message "Protocol not supported" mean?
698 =item How can I call my system's unique C functions from Perl?
700 =item Where do I get the include files to do ioctl() or syscall()?
702 =item Why do setuid perl scripts complain about kernel problems?
704 =item How can I open a pipe both to and from a command?
706 =item Why can't I get the output of a command with system()?
708 =item How can I capture STDERR from an external command?
710 =item Why doesn't open() return an error when a pipe open fails?
712 =item What's wrong with using backticks in a void context?
714 =item How can I call backticks without shell processing?
716 =item Why can't my script read from STDIN after I gave it EOF (^D on Unix,
719 =item How can I convert my shell script to perl?
721 =item Can I use perl to run a telnet or ftp session?
723 =item How can I write expect in Perl?
725 =item Is there a way to hide perl's command line from programs such as
728 =item I {changed directory, modified my environment} in a perl script. How
729 come the change disappeared when I exited the script? How do I get my
730 changes to be visible?
734 =item How do I close a process's filehandle without waiting for it to
737 =item How do I fork a daemon process?
739 =item How do I make my program run with sh and csh?
741 =item How do I keep my own module/library directory?
743 =item How do I find out if I'm running interactively or not?
745 =item How do I timeout a slow event?
747 =item How do I set CPU limits?
749 =item How do I avoid zombies on a Unix system?
751 =item How do I use an SQL database?
753 =item How do I make a system() exit on control-C?
755 =item How do I open a file without blocking?
757 =item How do I install a CPAN module?
761 =item AUTHOR AND COPYRIGHT
763 =head2 perlfaq9 - Networking ($Revision: 1.15 $, $Date: 1997/03/25 18:17:20
770 =item My CGI script runs from the command line but not the browser. Can
773 =item How do I remove HTML from a string?
775 =item How do I extract URLs?
777 =item How do I download a file from the user's machine? How do I open a
778 file on another machine?
780 =item How do I make a pop-up menu in HTML?
782 =item How do I fetch an HTML file?
784 =item how do I decode or create those %-encodings on the web?
786 =item How do I redirect to another page?
788 =item How do I put a password on my web pages?
790 =item How do I edit my .htpasswd and .htgroup files with Perl?
792 =item How do I parse an email header?
794 =item How do I decode a CGI form?
796 =item How do I check a valid email address?
798 =item How do I decode a MIME/BASE64 string?
800 =item How do I return the user's email address?
802 =item How do I send/read mail?
804 =item How do I find out my hostname/domainname/IP address?
806 =item How do I fetch a news article or the active newsgroups?
808 =item How do I fetch/put an FTP file?
810 =item How can I do RPC in Perl?
814 =item AUTHOR AND COPYRIGHT
816 =head2 perldelta - what's new for perl5.004
820 =item Supported Environments
826 =item Compilation Option: Binary Compatibility With 5.003
828 =item Subroutine arguments created only when they're modified
830 =item Fixed Parsing of $$<digit>, &$<digit>, etc.
832 =item No Resetting of $. on Implicit Close
834 =item Changes to Tainting Checks
836 =item New Opcode Module and Revised Safe Module
838 =item Embedding Improvements
840 =item Internal Change: FileHandle Class Based on IO::* Classes
842 =item Internal Change: PerlIO internal IO abstraction interface
844 =item New and Changed Built-in Variables
848 =item New and Changed Built-in Functions
850 delete on slices, flock, printf and sprintf, keys as an lvalue, my() in
851 Control Structures, unpack() and pack(), use VERSION, use Module VERSION
852 LIST, prototype(FUNCTION), srand, $_ as Default, C<m//g> does not trigger a
853 pos() reset on failure, C<m//x> ignores whitespace before ?*+{}, nested
854 C<sub{}> closures work now, formats work right on changing lexicals
856 =item New Built-in Methods
858 isa(CLASS), can(METHOD), VERSION( [NEED] )
860 =item TIEHANDLE Now Supported
862 TIEHANDLE classname, LIST, PRINT this, LIST, READ this LIST, READLINE this,
863 GETC this, DESTROY this
865 =item Malloc Enhancements
867 -DDEBUGGING_MSTATS, -DEMERGENCY_SBRK, -DPACK_MALLOC, -DTWO_POT_OPTIMIZE
869 =item Miscellaneous Efficiency Enhancements
875 use blib, use blib 'dir', use locale, use ops, use vmsish
881 =item Installation Directories
885 =item Module Information Summary
895 =item Overridden Built-ins
899 =item Utility Changes
905 C<void> XSUBs now default to returning nothing
909 =item C Language API Changes
911 C<gv_fetchmethod> and C<perl_call_sv>, Extended API for manipulating hashes
913 =item Documentation Changes
915 L<perldelta>, L<perllocale>, L<perltoot>, L<perlapio>, L<perldebug>,
918 =item New Diagnostics
920 "my" variable %s masks earlier declaration in same scope, %s argument is
921 not a HASH element or slice, Allocation too large: %lx, Allocation too
922 large, Attempt to free non-existent shared string, Attempt to use reference
923 as lvalue in substr, Unsupported function fork, Ill-formed logical name
924 |%s| in prime_env_iter, Can't use bareword ("%s") as %s ref while "strict
925 refs" in use, Constant subroutine %s redefined, Died, Integer overflow in
926 hex number, Integer overflow in octal number, Name "%s::%s" used only once:
927 possible typo, Null picture in formline, Offset outside string, Stub found
928 while resolving method `%s' overloading `%s' in package `%s', Cannot
929 resolve method `%s' overloading `%s' in package `s', Out of memory!, Out of
930 memory during request for %s, Possible attempt to put comments in qw()
931 list, Possible attempt to separate words with commas, Scalar value @%s{%s}
932 better written as $%s{%s}, untie attempted while %d inner references still
933 exist, Value of %s construct can be "0"; test with defined(), Variable "%s"
934 may be unavailable, Variable "%s" will not stay shared, Warning:
935 something's wrong, Got an error from DosAllocMem, Malformed PERLLIB_PREFIX,
936 PERL_SH_DIR too long, Process terminated by SIG%s
944 =head2 perldata - Perl data types
956 =item Scalar value constructors
958 =item List value constructors
960 =item Typeglobs and Filehandles
964 =head2 perlsyn - Perl syntax
972 =item Simple statements
974 =item Compound statements
982 =item Basic BLOCKs and Switch Statements
986 =item PODs: Embedded Documentation
988 =item Plain Old Comments (Not!)
992 =head2 perlop - Perl operators and precedence
1000 =item Terms and List Operators (Leftward)
1002 =item The Arrow Operator
1004 =item Auto-increment and Auto-decrement
1006 =item Exponentiation
1008 =item Symbolic Unary Operators
1010 =item Binding Operators
1012 =item Multiplicative Operators
1014 =item Additive Operators
1016 =item Shift Operators
1018 =item Named Unary Operators
1020 =item Relational Operators
1022 =item Equality Operators
1026 =item Bitwise Or and Exclusive Or
1028 =item C-style Logical And
1030 =item C-style Logical Or
1032 =item Range Operator
1034 =item Conditional Operator
1036 =item Assignment Operators
1038 =item Comma Operator
1040 =item List Operators (Rightward)
1046 =item Logical or and Exclusive Or
1048 =item C Operators Missing From Perl
1050 unary &, unary *, (TYPE)
1052 =item Quote and Quote-like Operators
1054 =item Regexp Quote-Like Operators
1056 ?PATTERN?, m/PATTERN/gimosx, /PATTERN/gimosx, q/STRING/, C<'STRING'>,
1057 qq/STRING/, "STRING", qx/STRING/, `STRING`, qw/STRING/,
1058 s/PATTERN/REPLACEMENT/egimosx, tr/SEARCHLIST/REPLACEMENTLIST/cds,
1059 y/SEARCHLIST/REPLACEMENTLIST/cds
1063 =item Constant Folding
1065 =item Integer Arithmetic
1067 =item Floating-point Arithmetic
1071 =head2 perlre - Perl regular expressions
1079 =item Regular Expressions
1081 (?#text), (?:regexp), (?=regexp), (?!regexp), (?imsx)
1085 =item Version 8 Regular Expressions
1087 =item WARNING on \1 vs $1
1091 =head2 perlrun - how to execute the Perl interpreter
1099 =item #! and quoting on non-Unix systems
1101 OS/2, DOS, Win95/NT, Macintosh
1105 B<-0>[I<digits>], B<-a>, B<-c>, B<-d>, B<-d:>I<foo>, B<-D>I<number>,
1106 B<-D>I<list>, B<-e> I<commandline>, B<-F>I<pattern>, B<-h>,
1107 B<-i>[I<extension>], B<-I>I<directory>, B<-l>[I<octnum>],
1108 B<-m>[B<->]I<module>, B<-M>[B<->]I<module>, B<-M>[B<->]I<'module ...'>,
1109 B<-[mM]>[B<->]I<module=arg[,arg]...>, B<-n>, B<-p>, B<-P>, B<-s>, B<-S>,
1110 B<-T>, B<-u>, B<-U>, B<-v>, B<-V>, B<-V:>I<name>, B<-w>, B<-x> I<directory>
1116 HOME, LOGDIR, PATH, PERL5LIB, PERLLIB, PERL5DB, PERL_DEBUG_MSTATS,
1119 =head2 perlfunc - Perl builtin functions
1123 I<THERE IS NO GENERAL RULE FOR CONVERTING A LIST INTO A SCALAR!>
1127 =item Perl Functions by Category
1129 Functions for SCALARs or strings, Regular expressions and pattern matching,
1130 Numeric functions, Functions for real @ARRAYs, Functions for list data,
1131 Functions for real %HASHes, Input and output functions, Functions for fixed
1132 length data or records, Functions for filehandles, files, or directories,
1133 Keywords related to the control flow of your perl program, Keywords related
1134 to scoping, Miscellaneous functions, Functions for processes and process
1135 groups, Keywords related to perl modules, Keywords related to classes and
1136 object-orientedness, Low-level socket functions, System V interprocess
1137 communication functions, Fetching user and group info, Fetching network
1138 info, Time-related functions, Functions new in perl5, Functions obsoleted
1141 =item Alphabetical Listing of Perl Functions
1143 -I<X> FILEHANDLE, -I<X> EXPR, -I<X>, abs VALUE, abs, accept
1144 NEWSOCKET,GENERICSOCKET, alarm SECONDS, alarm, atan2 Y,X, bind SOCKET,NAME,
1145 binmode FILEHANDLE, bless REF,CLASSNAME, bless REF, caller EXPR, caller,
1146 chdir EXPR, chmod LIST, chomp VARIABLE, chomp LIST, chomp, chop VARIABLE,
1147 chop LIST, chop, chown LIST, chr NUMBER, chr, chroot FILENAME, chroot,
1148 close FILEHANDLE, closedir DIRHANDLE, connect SOCKET,NAME, continue BLOCK,
1149 cos EXPR, crypt PLAINTEXT,SALT, dbmclose HASH, dbmopen HASH,DBNAME,MODE,
1150 defined EXPR, defined, delete EXPR, die LIST, do BLOCK, do
1151 SUBROUTINE(LIST), do EXPR, dump LABEL, each HASH, eof FILEHANDLE, eof (),
1152 eof, eval EXPR, eval BLOCK, exec LIST, exists EXPR, exit EXPR, exp EXPR,
1153 exp, fcntl FILEHANDLE,FUNCTION,SCALAR, fileno FILEHANDLE, flock
1154 FILEHANDLE,OPERATION, fork, format, formline PICTURE, LIST, getc
1155 FILEHANDLE, getc, getlogin, getpeername SOCKET, getpgrp PID, getppid,
1156 getpriority WHICH,WHO, getpwnam NAME, getgrnam NAME, gethostbyname NAME,
1157 getnetbyname NAME, getprotobyname NAME, getpwuid UID, getgrgid GID,
1158 getservbyname NAME,PROTO, gethostbyaddr ADDR,ADDRTYPE, getnetbyaddr
1159 ADDR,ADDRTYPE, getprotobynumber NUMBER, getservbyport PORT,PROTO, getpwent,
1160 getgrent, gethostent, getnetent, getprotoent, getservent, setpwent,
1161 setgrent, sethostent STAYOPEN, setnetent STAYOPEN, setprotoent STAYOPEN,
1162 setservent STAYOPEN, endpwent, endgrent, endhostent, endnetent,
1163 endprotoent, endservent, getsockname SOCKET, getsockopt
1164 SOCKET,LEVEL,OPTNAME, glob EXPR, glob, gmtime EXPR, goto LABEL, goto EXPR,
1165 goto &NAME, grep BLOCK LIST, grep EXPR,LIST, hex EXPR, hex, import, index
1166 STR,SUBSTR,POSITION, index STR,SUBSTR, int EXPR, int, ioctl
1167 FILEHANDLE,FUNCTION,SCALAR, join EXPR,LIST, keys HASH, kill LIST, last
1168 LABEL, last, lc EXPR, lc, lcfirst EXPR, lcfirst, length EXPR, length, link
1169 OLDFILE,NEWFILE, listen SOCKET,QUEUESIZE, local EXPR, localtime EXPR, log
1170 EXPR, log, lstat FILEHANDLE, lstat EXPR, lstat, m//, map BLOCK LIST, map
1171 EXPR,LIST, mkdir FILENAME,MODE, msgctl ID,CMD,ARG, msgget KEY,FLAGS, msgsnd
1172 ID,MSG,FLAGS, msgrcv ID,VAR,SIZE,TYPE,FLAGS, my EXPR, next LABEL, next, no
1173 Module LIST, oct EXPR, oct, open FILEHANDLE,EXPR, open FILEHANDLE, opendir
1174 DIRHANDLE,EXPR, ord EXPR, ord, pack TEMPLATE,LIST, package NAMESPACE, pipe
1175 READHANDLE,WRITEHANDLE, pop ARRAY, pop, pos SCALAR, pos, print FILEHANDLE
1176 LIST, print LIST, print, printf FILEHANDLE FORMAT, LIST, printf FORMAT,
1177 LIST, prototype FUNCTION, push ARRAY,LIST, q/STRING/, qq/STRING/,
1178 qx/STRING/, qw/STRING/, quotemeta EXPR, quotemeta, rand EXPR, rand, read
1179 FILEHANDLE,SCALAR,LENGTH,OFFSET, read FILEHANDLE,SCALAR,LENGTH, readdir
1180 DIRHANDLE, readlink EXPR, readlink, recv SOCKET,SCALAR,LEN,FLAGS, redo
1181 LABEL, redo, ref EXPR, ref, rename OLDNAME,NEWNAME, require EXPR, require,
1182 reset EXPR, reset, return LIST, reverse LIST, rewinddir DIRHANDLE, rindex
1183 STR,SUBSTR,POSITION, rindex STR,SUBSTR, rmdir FILENAME, rmdir, s///, scalar
1184 EXPR, seek FILEHANDLE,POSITION,WHENCE, seekdir DIRHANDLE,POS, select
1185 FILEHANDLE, select, select RBITS,WBITS,EBITS,TIMEOUT, semctl
1186 ID,SEMNUM,CMD,ARG, semget KEY,NSEMS,FLAGS, semop KEY,OPSTRING, send
1187 SOCKET,MSG,FLAGS,TO, send SOCKET,MSG,FLAGS, setpgrp PID,PGRP, setpriority
1188 WHICH,WHO,PRIORITY, setsockopt SOCKET,LEVEL,OPTNAME,OPTVAL, shift ARRAY,
1189 shift, shmctl ID,CMD,ARG, shmget KEY,SIZE,FLAGS, shmread ID,VAR,POS,SIZE,
1190 shmwrite ID,STRING,POS,SIZE, shutdown SOCKET,HOW, sin EXPR, sin, sleep
1191 EXPR, sleep, socket SOCKET,DOMAIN,TYPE,PROTOCOL, socketpair
1192 SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL, sort SUBNAME LIST, sort BLOCK LIST,
1193 sort LIST, splice ARRAY,OFFSET,LENGTH,LIST, splice ARRAY,OFFSET,LENGTH,
1194 splice ARRAY,OFFSET, split /PATTERN/,EXPR,LIMIT, split /PATTERN/,EXPR,
1195 split /PATTERN/, split, sprintf FORMAT, LIST, sqrt EXPR, sqrt, srand EXPR,
1196 srand, stat FILEHANDLE, stat EXPR, stat, study SCALAR, study, sub BLOCK,
1197 sub NAME, sub NAME BLOCK, substr EXPR,OFFSET,LEN, substr EXPR,OFFSET,
1198 symlink OLDFILE,NEWFILE, syscall LIST, sysopen FILEHANDLE,FILENAME,MODE,
1199 sysopen FILEHANDLE,FILENAME,MODE,PERMS, sysread
1200 FILEHANDLE,SCALAR,LENGTH,OFFSET, sysread FILEHANDLE,SCALAR,LENGTH, system
1201 LIST, syswrite FILEHANDLE,SCALAR,LENGTH,OFFSET, syswrite
1202 FILEHANDLE,SCALAR,LENGTH, tell FILEHANDLE, tell, telldir DIRHANDLE, tie
1203 VARIABLE,CLASSNAME,LIST, tied VARIABLE, time, times, tr///, truncate
1204 FILEHANDLE,LENGTH, truncate EXPR,LENGTH, uc EXPR, uc, ucfirst EXPR,
1205 ucfirst, umask EXPR, umask, undef EXPR, undef, unlink LIST, unlink, unpack
1206 TEMPLATE,EXPR, untie VARIABLE, unshift ARRAY,LIST, use Module LIST, use
1207 Module, use Module VERSION LIST, use VERSION, utime LIST, values HASH, vec
1208 EXPR,OFFSET,BITS, wait, waitpid PID,FLAGS, wantarray, warn LIST, write
1209 FILEHANDLE, write EXPR, write, y///
1213 =head2 perlvar - Perl predefined variables
1219 =item Predefined Names
1221 $ARG, $_, $E<lt>I<digit>E<gt>, $MATCH, $&, $PREMATCH, $`, $POSTMATCH, $',
1222 $LAST_PAREN_MATCH, $+, $MULTILINE_MATCHING, $*, input_line_number HANDLE
1223 EXPR, $INPUT_LINE_NUMBER, $NR, $, input_record_separator HANDLE EXPR,
1224 $INPUT_RECORD_SEPARATOR, $RS, $/, autoflush HANDLE EXPR, $OUTPUT_AUTOFLUSH,
1225 $|, output_field_separator HANDLE EXPR, $OUTPUT_FIELD_SEPARATOR, $OFS, $,,
1226 output_record_separator HANDLE EXPR, $OUTPUT_RECORD_SEPARATOR, $ORS, $\,
1227 $LIST_SEPARATOR, $", $SUBSCRIPT_SEPARATOR, $SUBSEP, $;, $OFMT, $#,
1228 format_page_number HANDLE EXPR, $FORMAT_PAGE_NUMBER, $%,
1229 format_lines_per_page HANDLE EXPR, $FORMAT_LINES_PER_PAGE, $=,
1230 format_lines_left HANDLE EXPR, $FORMAT_LINES_LEFT, $-, format_name HANDLE
1231 EXPR, $FORMAT_NAME, $~, format_top_name HANDLE EXPR, $FORMAT_TOP_NAME, $^,
1232 format_line_break_characters HANDLE EXPR, $FORMAT_LINE_BREAK_CHARACTERS,
1233 $:, format_formfeed HANDLE EXPR, $FORMAT_FORMFEED, $^L, $ACCUMULATOR, $^A,
1234 $CHILD_ERROR, $?, $OS_ERROR, $ERRNO, $!, $EXTENDED_OS_ERROR, $^E,
1235 $EVAL_ERROR, $@, $PROCESS_ID, $PID, $$, $REAL_USER_ID, $UID, $<,
1236 $EFFECTIVE_USER_ID, $EUID, $>, $REAL_GROUP_ID, $GID, $(,
1237 $EFFECTIVE_GROUP_ID, $EGID, $), $PROGRAM_NAME, $0, $[, $PERL_VERSION, $],
1238 $DEBUGGING, $^D, $SYSTEM_FD_MAX, $^F, $^H, $INPLACE_EDIT, $^I, $OSNAME,
1239 $^O, $PERLDB, $^P, $BASETIME, $^T, $WARNING, $^W, $EXECUTABLE_NAME, $^X,
1240 $ARGV, @ARGV, @INC, %INC, $ENV{expr}, $SIG{expr}, $^M
1244 =head2 perlsub - Perl subroutines
1252 =item Private Variables via my()
1254 =item Temporary Values via local()
1256 =item Passing Symbol Table Entries (typeglobs)
1258 =item Pass by Reference
1262 =item Constant Functions
1264 =item Overriding Builtin Functions
1272 =head2 perlmod - Perl modules (packages)
1282 =item Package Constructors and Destructors
1292 =item THE PERL MODULE LIBRARY
1296 =item Pragmatic Modules
1298 blib, diagnostics, integer, less, lib, locale, ops, overload, sigtrap,
1299 strict, subs, vmsish, vars
1301 =item Standard Modules
1303 AnyDBM_File, AutoLoader, AutoSplit, Benchmark, CPAN, CPAN::FirstTime,
1304 CPAN::Nox, Carp, Class::Template, Config, Cwd, DB_File, Devel::SelfStubber,
1305 DirHandle, DynaLoader, English, Env, Exporter, ExtUtils::Embed,
1306 ExtUtils::Install, ExtUtils::Liblist, ExtUtils::MM_OS2, ExtUtils::MM_Unix,
1307 ExtUtils::MM_VMS, ExtUtils::MakeMaker, ExtUtils::Manifest,
1308 ExtUtils::Mkbootstrap, ExtUtils::Mksymlists, ExtUtils::testlib, Fcntl,
1309 File::Basename, File::CheckTree, File::Compare, File::Copy, File::Find,
1310 File::Path, File::stat, FileCache, FileHandle, FindBin, GDBM_File,
1311 Getopt::Long, Getopt::Std, I18N::Collate, IO, IO::File, IO::Handle,
1312 IO::Pipe, IO::Seekable, IO::Select, IO::Socket, IPC::Open2, IPC::Open3,
1313 Math::BigFloat, Math::BigInt, Math::Complex, NDBM_File, Net::Ping,
1314 Net::hostent, Net::netent, Net::protoent, Net::servent, Opcode, Pod::Text,
1315 POSIX, SDBM_File, Safe, Search::Dict, SelectSaver, SelfLoader, Shell,
1316 Socket, Symbol, Sys::Hostname, Sys::Syslog, Term::Cap, Term::Complete,
1317 Term::ReadLine, Test::Harness, Text::Abbrev, Text::ParseWords,
1318 Text::Soundex, Text::Tabs, Text::Wrap, Tie::Hash, Tie::RefHash,
1319 Tie::Scalar, Tie::SubstrHash, Time::Local, Time::gmtime, Time::localtime,
1320 Time::tm, UNIVERSAL, User::grent, User::pwent
1322 =item Extension Modules
1328 Language Extensions and Documentation Tools, Development Support, Operating
1329 System Interfaces, Networking, Device Control (modems) and InterProcess
1330 Communication, Data Types and Data Type Utilities, Database Interfaces,
1331 User Interfaces, Interfaces to / Emulations of Other Programming Languages,
1332 File Names, File Systems and File Locking (see also File Handles), String
1333 Processing, Language Text Processing, Parsing, and Searching, Option,
1334 Argument, Parameter, and Configuration File Processing,
1335 Internationalization and Locale, Authentication, Security, and Encryption,
1336 World Wide Web, HTML, HTTP, CGI, MIME, Server and Daemon Utilities,
1337 Archiving and Compression, Images, Pixmap and Bitmap Manipulation, Drawing,
1338 and Graphing, Mail and Usenet News, Control Flow Utilities (callbacks and
1339 exceptions etc), File Handle and Input/Output Stream Utilities,
1340 Miscellaneous Modules, Africa, Asia, Australasia, Europe, North America,
1343 =item Modules: Creation, Use, and Abuse
1347 =item Guidelines for Module Creation
1349 Do similar modules already exist in some form?, Try to design the new
1350 module to be easy to extend and reuse, Some simple style guidelines, Select
1351 what to export, Select a name for the module, Have you got it right?,
1352 README and other Additional Files, A description of the
1353 module/package/extension etc, A copyright notice - see below, Prerequisites
1354 - what else you may need to have, How to build it - possible changes to
1355 Makefile.PL etc, How to install it, Recent changes in this release,
1356 especially incompatibilities, Changes / enhancements you plan to make in
1357 the future, Adding a Copyright Notice, Give the module a
1358 version/issue/release number, How to release and distribute a module, Take
1359 care when changing a released module
1361 =item Guidelines for Converting Perl 4 Library Scripts into Modules
1363 There is no requirement to convert anything, Consider the implications,
1364 Make the most of the opportunity, The pl2pm utility will get you started,
1365 Adds the standard Module prologue lines, Converts package specifiers from '
1366 to ::, Converts die(...) to croak(...), Several other minor changes
1368 =item Guidelines for Reusing Application Code
1370 Complete applications rarely belong in the Perl Module Library, Many
1371 applications contain some perl code which could be reused, Break-out the
1372 reusable code into one or more separate module files, Take the opportunity
1373 to reconsider and redesign the interfaces, In some cases the 'application'
1374 can then be reduced to a small
1378 =head2 perlform - Perl formats
1384 =item Format Variables
1394 =item Accessing Formatting Internals
1400 =head2 perllocale - Perl locale handling (internationalization and
1405 =item PREPARING TO USE LOCALES
1411 =item The use locale pragma
1413 =item The setlocale function
1415 =item The localeconv function
1419 =item LOCALE CATEGORIES
1423 =item Category LC_COLLATE: Collation
1425 =item Category LC_CTYPE: Character Types
1427 =item Category LC_NUMERIC: Numeric Formatting
1429 =item Category LC_MONETARY: Formatting of monetary amounts
1433 =item Other categories
1439 B<Comparison operators> (C<lt>, C<le>, C<ge>, C<gt> and C<cmp>):,
1440 B<Case-mapping interpolation> (with C<\l>, C<\L>, C<\u> or <\U>),
1441 B<Matching operator> (C<m//>):, B<Substitution operator> (C<s///>):,
1442 B<In-memory formatting function> (sprintf()):, B<Output formatting
1443 functions> (printf() and write()):, B<Case-mapping functions> (lc(),
1444 lcfirst(), uc(), ucfirst()):, B<POSIX locale-dependent functions>
1445 (localeconv(), strcoll(),strftime(), strxfrm()):, B<POSIX character class
1446 tests> (isalnum(), isalpha(), isdigit(),isgraph(), islower(), isprint(),
1447 ispunct(), isspace(), isupper(),
1452 PERL_BADLANG, LC_ALL, LC_CTYPE, LC_COLLATE, LC_MONETARY, LC_NUMERIC,
1459 =item Backward compatibility
1461 =item I18N:Collate obsolete
1463 =item Sort speed and memory use impacts
1465 =item write() and LC_NUMERIC
1467 =item Freely available locale definitions
1471 =item An imperfect standard
1479 =item Broken systems
1487 =head2 perlref - Perl references and nested data structures
1493 =item Symbolic references
1495 =item Not-so-symbolic references
1503 =head2 perldsc - Perl Data Structures Cookbook
1507 arrays of arrays, hashes of arrays, arrays of hashes, hashes of hashes,
1508 more elaborate constructs
1512 =item COMMON MISTAKES
1514 =item CAVEAT ON PRECEDENCE
1516 =item WHY YOU SHOULD ALWAYS C<use strict>
1522 =item LISTS OF LISTS
1526 =item Declaration of a LIST OF LISTS
1528 =item Generation of a LIST OF LISTS
1530 =item Access and Printing of a LIST OF LISTS
1534 =item HASHES OF LISTS
1538 =item Declaration of a HASH OF LISTS
1540 =item Generation of a HASH OF LISTS
1542 =item Access and Printing of a HASH OF LISTS
1546 =item LISTS OF HASHES
1550 =item Declaration of a LIST OF HASHES
1552 =item Generation of a LIST OF HASHES
1554 =item Access and Printing of a LIST OF HASHES
1558 =item HASHES OF HASHES
1562 =item Declaration of a HASH OF HASHES
1564 =item Generation of a HASH OF HASHES
1566 =item Access and Printing of a HASH OF HASHES
1570 =item MORE ELABORATE RECORDS
1574 =item Declaration of MORE ELABORATE RECORDS
1576 =item Declaration of a HASH OF COMPLEX RECORDS
1578 =item Generation of a HASH OF COMPLEX RECORDS
1588 =head2 perllol, perlLoL - Manipulating Lists of Lists in Perl
1592 =item Declaration and Access of Lists of Lists
1594 =item Growing Your Own
1596 =item Access and Printing
1604 =head2 perltoot - Tom's object-oriented tutorial for perl
1608 =item Creating a Class
1612 =item Object Representation
1614 =item Class Interface
1616 =item Constructors and Instance Methods
1618 =item Planning for the Future: Better Constructors
1622 =item Other Object Methods
1630 =item Accessing Class Data
1632 =item Debugging Methods
1634 =item Class Destructors
1636 =item Documenting the Interface
1646 =item Overridden Methods
1648 =item Multiple Inheritance
1650 =item UNIVERSAL: The Root of All Objects
1654 =item Alternate Object Representations
1658 =item Arrays as Objects
1660 =item Closures as Objects
1664 =item AUTOLOAD: Proxy Methods
1668 =item Autoloaded Data Methods
1670 =item Inherited Autoloaded Data Methods
1674 =item Metaclassical Tools
1678 =item Class::Template
1680 =item Data Members as Variables
1684 =item Object Terminology
1694 =item Acknowledgments
1698 =head2 perlobj - Perl objects
1704 =item An Object is Simply a Reference
1706 =item A Class is Simply a Package
1708 =item A Method is Simply a Subroutine
1710 =item Method Invocation
1712 =item Default UNIVERSAL methods
1714 isa(CLASS), can(METHOD), VERSION( [NEED] )
1722 =item Two-Phased Garbage Collection
1728 =head2 perltie - how to hide an object class in a simple variable
1738 TIESCALAR classname, LIST, FETCH this, STORE this, value, DESTROY this
1742 TIEARRAY classname, LIST, FETCH this, index, STORE this, index, value,
1747 USER, HOME, CLOBBER, LIST, TIEHASH classname, LIST, FETCH this, key, STORE
1748 this, key, value, DELETE this, key, CLEAR this, EXISTS this, key, FIRSTKEY
1749 this, NEXTKEY this, lastkey, DESTROY this
1751 =item Tying FileHandles
1753 TIEHANDLE classname, LIST, PRINT this, LIST, READ this LIST, READLINE this,
1754 GETC this, DESTROY this
1756 =item The C<untie> Gotcha
1766 =head2 perlbot - Bag'o Object Tricks (the BOT)
1770 =item OO SCALING TIPS
1772 =item INSTANCE VARIABLES
1774 =item SCALAR INSTANCE VARIABLES
1776 =item INSTANCE VARIABLE INHERITANCE
1778 =item OBJECT RELATIONSHIPS
1780 =item OVERRIDING SUPERCLASS METHODS
1782 =item USING RELATIONSHIP WITH SDBM
1784 =item THINKING OF CODE REUSE
1786 =item CLASS CONTEXT AND THE OBJECT
1788 =item INHERITING A CONSTRUCTOR
1792 =head2 perlipc - Perl interprocess communication (signals, fifos, pipes,
1793 safe subprocesses, sockets, and semaphores)
1801 =item Using open() for IPC
1807 =item Background Processes
1809 =item Complete Dissociation of Child from Parent
1811 =item Safe Pipe Opens
1813 =item Bidirectional Communication
1817 =item Sockets: Client/Server Communication
1821 =item Internet TCP Clients and Servers
1823 =item Unix-Domain TCP Clients and Servers
1825 =item UDP: Message Passing
1841 =head2 perldebug - Perl debugging
1845 =item The Perl Debugger
1849 =item Debugger Commands
1851 h [command], p expr, x expr, V [pkg [vars]], X [vars], T, s [expr], n
1852 [expr], E<lt>CRE<gt>, c [line|sub], l, l min+incr, l min-max, l line, l
1853 subname, -, w [line], f filename, /pattern/, ?pattern?, L, S [[!]pattern],
1854 t, t expr, b [line] [condition], b subname [condition], b postpone subname
1855 [condition], b load filename, b compile subname, d [line], D, a [line]
1856 command, A, O [opt[=val]] [opt"val"] [opt?].., C<recallCommand>,
1857 C<ShellBang>, C<pager>, C<tkRunning>, C<signalLevel>, C<warnLevel>,
1858 C<dieLevel>, C<AutoTrace>, C<LineInfo>, C<inhibit_exit>, C<PrintRet>,
1859 C<frame>, C<maxTraceLen>, C<arrayDepth>, C<hashDepth>, C<compactDump>,
1860 C<veryCompact>, C<globPrint>, C<DumpDBFiles>, C<DumpPackages>, C<quote>,
1861 C<HighBit>, C<undefPrint>, C<UsageOnly>, C<TTY>, C<noTTY>, C<ReadLine>,
1862 C<NonStop>, E<lt> [ command ], E<lt>E<lt> command, E<gt> command,
1863 E<gt>E<gt> command, { [ command ], {{ command, ! number, ! -number, !
1864 pattern, !! cmd, H -number, q or ^D, R, |dbcmd, ||dbcmd, = [alias value],
1865 command, m expr, m package
1867 =item Debugger input/output
1869 Prompt, Multi-line commands, Stack backtrace, Listing, Frame listing
1871 =item Debugging compile-time statements
1873 =item Debugger Customization
1875 =item Readline Support
1877 =item Editor Support for Debugging
1879 =item The Perl Profiler
1881 =item Debugger support in perl
1883 =item Debugger Internals
1885 =item Other resources
1891 =head2 perldiag - various Perl diagnostics
1895 =head2 perlsec - Perl security
1901 =item Laundering and Detecting Tainted Data
1903 =item Switches On the "#!" Line
1905 =item Cleaning Up Your Path
1909 =item Protecting Your Programs
1913 =head2 perltrap - Perl traps for the unwary
1929 =item Perl4 to Perl5 Traps
1931 Discontinuance, Deprecation, and BugFix traps, Parsing Traps, Numerical
1932 Traps, General data type traps, Context Traps - scalar, list contexts,
1933 Precedence Traps, General Regular Expression Traps using s///, etc,
1934 Subroutine, Signal, Sorting Traps, OS Traps, DBM Traps, Unclassified Traps
1936 =item Discontinuance, Deprecation, and BugFix traps
1938 Discontinuance, Deprecation, BugFix, Discontinuance, Discontinuance,
1939 Discontinuance, BugFix, Discontinuance, Discontinuance, BugFix,
1940 Discontinuance, Discontinuance, Deprecation, Discontinuance
1944 Parsing, Parsing, Parsing
1946 =item Numerical Traps
1948 Numerical, Numerical, Numerical
1950 =item General data type traps
1952 (Arrays), (Arrays), (Hashes), (Globs), (Scalar String), (Constants),
1953 (Scalars), (Variable Suicide)
1955 =item Context Traps - scalar, list contexts
1957 (list context), (scalar context), (scalar context), (list, builtin)
1959 =item Precedence Traps
1961 Precedence, Precedence, Precedence, Precedence, Precedence, Precedence,
1964 =item General Regular Expression Traps using s///, etc.
1966 Regular Expression, Regular Expression, Regular Expression, Regular
1967 Expression, Regular Expression, Regular Expression, Regular Expression,
1968 Regular Expression, Regular Expression
1970 =item Subroutine, Signal, Sorting Traps
1972 (Signals), (Sort Subroutine), warn() won't let you specify a filehandle
1978 =item Interpolation Traps
1980 Interpolation, Interpolation, Interpolation, Interpolation, Interpolation,
1981 Interpolation, Interpolation, Interpolation, Interpolation
1987 =item Unclassified Traps
1993 =head2 perlstyle - Perl style guide
1997 =head2 perlpod - plain old documentation
2001 =item Embedding Pods in Perl Modules
2003 =item Common Pod Pitfalls
2009 =head2 perlbook - Perl book information
2013 =head2 perlembed - how to embed perl in your C program
2021 B<Use C from Perl?>, B<Use a UNIX program from Perl?>, B<Use Perl from
2022 Perl?>, B<Use C from C?>, B<Use Perl from C?>
2026 =item Compiling your C program
2028 =item Adding a Perl interpreter to your C program
2030 =item Calling a Perl subroutine from your C program
2032 =item Evaluating a Perl statement from your C program
2034 =item Performing Perl pattern matches and substitutions from your C program
2036 =item Fiddling with the Perl stack from your C program
2038 =item Maintaining a persistent interpreter
2040 =item Maintaining multiple interpreter instances
2042 =item Using Perl modules, which themselves use C libraries, from your C
2053 =head2 perlapio - perl's IO abstraction interface.
2059 B<PerlIO *>, B<PerlIO_stdin()>, B<PerlIO_stdout()>, B<PerlIO_stderr()>,
2060 B<PerlIO_open(path, mode)>, B<PerlIO_fdopen(fd,mode)>,
2061 B<PerlIO_printf(f,fmt,...)>, B<PerlIO_vprintf(f,fmt,a)>,
2062 B<PerlIO_stdoutf(fmt,...)>, B<PerlIO_read(f,buf,count)>,
2063 B<PerlIO_write(f,buf,count)>, B<PerlIO_close(f)>, B<PerlIO_puts(s,f)>,
2064 B<PerlIO_putc(c,f)>, B<PerlIO_ungetc(c,f)>, B<PerlIO_getc(f)>,
2065 B<PerlIO_eof(f)>, B<PerlIO_error(f)>, B<PerlIO_fileno(f)>,
2066 B<PerlIO_clearerr(f)>, B<PerlIO_flush(f)>, B<PerlIO_tell(f)>,
2067 B<PerlIO_seek(f,o,w)>, B<PerlIO_getpos(f,p)>, B<PerlIO_setpos(f,p)>,
2068 B<PerlIO_rewind(f)>, B<PerlIO_tmpfile()>
2072 =item Co-existence with stdio
2074 B<PerlIO_importFILE(f,flags)>, B<PerlIO_exportFILE(f,flags)>,
2075 B<PerlIO_findFILE(f)>, B<PerlIO_releaseFILE(p,f)>, B<PerlIO_setlinebuf(f)>,
2076 B<PerlIO_has_cntptr(f)>, B<PerlIO_get_ptr(f)>, B<PerlIO_get_cnt(f)>,
2077 B<PerlIO_canset_cnt(f)>, B<PerlIO_fast_gets(f)>,
2078 B<PerlIO_set_ptrcnt(f,p,c)>, B<PerlIO_set_cnt(f,c)>, B<PerlIO_has_base(f)>,
2079 B<PerlIO_get_base(f)>, B<PerlIO_get_bufsiz(f)>
2083 =head2 perlxs - XS language reference manual
2093 =item The Anatomy of an XSUB
2095 =item The Argument Stack
2097 =item The RETVAL Variable
2099 =item The MODULE Keyword
2101 =item The PACKAGE Keyword
2103 =item The PREFIX Keyword
2105 =item The OUTPUT: Keyword
2107 =item The CODE: Keyword
2109 =item The INIT: Keyword
2111 =item The NO_INIT Keyword
2113 =item Initializing Function Parameters
2115 =item Default Parameter Values
2117 =item The PREINIT: Keyword
2119 =item The SCOPE: Keyword
2121 =item The INPUT: Keyword
2123 =item Variable-length Parameter Lists
2125 =item The PPCODE: Keyword
2127 =item Returning Undef And Empty Lists
2129 =item The REQUIRE: Keyword
2131 =item The CLEANUP: Keyword
2133 =item The BOOT: Keyword
2135 =item The VERSIONCHECK: Keyword
2137 =item The PROTOTYPES: Keyword
2139 =item The PROTOTYPE: Keyword
2141 =item The ALIAS: Keyword
2143 =item The INCLUDE: Keyword
2145 =item The CASE: Keyword
2147 =item The & Unary Operator
2149 =item Inserting Comments and C Preprocessor Directives
2151 =item Using XS With C++
2153 =item Interface Strategy
2155 =item Perl Objects And C Structures
2167 =head2 perlxstut, perlXStut - Tutorial for XSUBs
2173 =item VERSION CAVEAT
2175 =item DYNAMIC VERSUS STATIC
2181 =item WHAT HAS GONE ON?
2183 =item WRITING GOOD TEST SCRIPTS
2187 =item WHAT'S NEW HERE?
2189 =item INPUT AND OUTPUT PARAMETERS
2191 =item THE XSUBPP COMPILER
2193 =item THE TYPEMAP FILE
2199 =item WHAT HAS HAPPENED HERE?
2201 =item SPECIFYING ARGUMENTS TO XSUBPP
2203 =item THE ARGUMENT STACK
2205 =item EXTENDING YOUR EXTENSION
2207 =item DOCUMENTING YOUR EXTENSION
2209 =item INSTALLING YOUR EXTENSION
2219 =head2 perlguts - Perl's Internal Functions
2229 =item What is an "IV"?
2231 =item Working with SV's
2233 =item What's Really Stored in an SV?
2235 =item Working with AV's
2237 =item Working with HV's
2239 =item Hash API Extensions
2243 =item Blessed References and Class Objects
2245 =item Creating New Variables
2247 =item Reference Counts and Mortality
2249 =item Stashes and Globs
2251 =item Double-Typed SV's
2253 =item Magic Variables
2255 =item Assigning Magic
2257 =item Magic Virtual Tables
2267 =item XSUBs and the Argument Stack
2269 =item Calling Perl Routines from within C Programs
2271 =item Memory Allocation
2275 =item Putting a C value on Perl stack
2279 =item Scratchpads and recursion
2289 =item Examining the tree
2291 =item Compile pass 1: check routines
2293 =item Compile pass 1a: constant folding
2295 =item Compile pass 2: context propagation
2297 =item Compile pass 3: peephole optimization
2303 AvFILL, av_clear, av_extend, av_fetch, av_len, av_make, av_pop, av_push,
2304 av_shift, av_store, av_undef, av_unshift, CLASS, Copy, croak, CvSTASH,
2305 DBsingle, DBsub, DBtrace, dMARK, dORIGMARK, dowarn, dSP, dXSARGS, dXSI32,
2306 dXSI32, ENTER, EXTEND, FREETMPS, G_ARRAY, G_DISCARD, G_EVAL, GIMME,
2307 G_NOARGS, G_SCALAR, gv_fetchmeth, gv_fetchmethod, gv_stashpv, gv_stashsv,
2308 GvSV, HEf_SVKEY, HeHASH, HeKEY, HeKLEN, HePV, HeSVKEY, HeSVKEY_force,
2309 HeSVKEY_set, HeVAL, hv_clear, hv_delayfree_ent, hv_delete, hv_delete_ent,
2310 hv_exists, hv_exists_ent, hv_fetch, hv_fetch_ent, hv_free_ent, hv_iterinit,
2311 hv_iterkey, hv_iterkeysv, hv_iternext, hv_iternextsv, hv_iterval, hv_magic,
2312 HvNAME, hv_store, hv_store_ent, hv_undef, isALNUM, isALPHA, isDIGIT,
2313 isLOWER, isSPACE, isUPPER, items, ix, LEAVE, MARK, mg_clear, mg_copy,
2314 mg_find, mg_free, mg_get, mg_len, mg_magical, mg_set, Move, na, New, Newc,
2315 Newz, newAV, newHV, newRV_inc, newRV_noinc, newSV, newSViv, newSVnv,
2316 newSVpv, newSVrv, newSVsv, newXS, newXSproto, Nullav, Nullch, Nullcv,
2317 Nullhv, Nullsv, ORIGMARK, perl_alloc, perl_call_argv, perl_call_method,
2318 perl_call_pv, perl_call_sv, perl_construct, perl_destruct, perl_eval_sv,
2319 perl_free, perl_get_av, perl_get_cv, perl_get_hv, perl_get_sv, perl_parse,
2320 perl_require_pv, perl_run, POPi, POPl, POPp, POPn, POPs, PUSHMARK, PUSHi,
2321 PUSHn, PUSHp, PUSHs, PUTBACK, Renew, Renewc, RETVAL, safefree, safemalloc,
2322 saferealloc, savepv, savepvn, SAVETMPS, SP, SPAGAIN, ST, strEQ, strGE,
2323 strGT, strLE, strLT, strNE, strnEQ, strnNE, sv_2mortal, sv_bless, sv_catpv,
2324 sv_catpvn, sv_catsv, sv_cmp, sv_cmp, SvCUR, SvCUR_set, sv_dec, sv_dec,
2325 SvEND, sv_eq, SvGROW, sv_grow, sv_inc, SvIOK, SvIOK_off, SvIOK_on,
2326 SvIOK_only, SvIOK_only, SvIOKp, sv_isa, SvIV, sv_isobject, SvIVX, SvLEN,
2327 sv_len, sv_len, sv_magic, sv_mortalcopy, SvOK, sv_newmortal, sv_no, SvNIOK,
2328 SvNIOK_off, SvNIOKp, SvNOK, SvNOK_off, SvNOK_on, SvNOK_only, SvNOK_only,
2329 SvNOKp, SvNV, SvNVX, SvPOK, SvPOK_off, SvPOK_on, SvPOK_only, SvPOK_only,
2330 SvPOKp, SvPV, SvPVX, SvREFCNT, SvREFCNT_dec, SvREFCNT_inc, SvROK,
2331 SvROK_off, SvROK_on, SvRV, sv_setiv, sv_setnv, sv_setpv, sv_setpvn,
2332 sv_setref_iv, sv_setref_nv, sv_setref_pv, sv_setref_pvn, sv_setsv, SvSTASH,
2333 SVt_IV, SVt_PV, SVt_PVAV, SVt_PVCV, SVt_PVHV, SVt_PVMG, SVt_NV, SvTRUE,
2334 SvTYPE, svtype, SvUPGRADE, sv_upgrade, sv_undef, sv_unref, sv_usepvn,
2335 sv_yes, THIS, toLOWER, toUPPER, warn, XPUSHi, XPUSHn, XPUSHp, XPUSHs, XS,
2336 XSRETURN, XSRETURN_EMPTY, XSRETURN_IV, XSRETURN_NO, XSRETURN_NV,
2337 XSRETURN_PV, XSRETURN_UNDEF, XSRETURN_YES, XST_mIV, XST_mNV, XST_mNO,
2338 XST_mPV, XST_mUNDEF, XST_mYES, XS_VERSION, XS_VERSION_BOOTCHECK, Zero
2344 =head2 perlcall - Perl calling conventions from C
2348 An Error Handler, An Event Driven Program
2350 =item THE PERL_CALL FUNCTIONS
2352 B<perl_call_sv>, B<perl_call_pv>, B<perl_call_method>, B<perl_call_argv>
2370 =item Determining the Context
2374 =item KNOWN PROBLEMS
2380 =item No Parameters, Nothing returned
2382 =item Passing Parameters
2384 =item Returning a Scalar
2386 =item Returning a list of values
2388 =item Returning a list in a scalar context
2390 =item Returning Data from Perl via the parameter list
2394 =item Using G_KEEPERR
2396 =item Using perl_call_sv
2398 =item Using perl_call_argv
2400 =item Using perl_call_method
2404 =item Using Perl to dispose of temporaries
2406 =item Strategies for storing Callback Context Information
2408 1. Ignore the problem - Allow only 1 callback, 2. Create a sequence of
2409 callbacks - hard wired limit, 3. Use a parameter to map to the Perl
2412 =item Alternate Stack Manipulation
2422 =head1 PRAGMA DOCUMENTATION
2424 =head2 autouse - postpone load of modules until a function is used
2438 =head2 blib - Use MakeMaker's uninstalled version of a package
2448 =head2 diagnostics - Perl compiler pragma to force verbose warning
2457 =item The C<diagnostics> Pragma
2459 =item The I<splain> Program
2471 =head2 integer - Perl pragma to compute arithmetic in integer instead of
2478 =head2 less - perl pragma to request less of something from the compiler
2484 =head2 lib - manipulate @INC at compile time
2492 =item ADDING DIRECTORIES TO @INC
2494 =item DELETING DIRECTORIES FROM @INC
2496 =item RESTORING ORIGINAL @INC
2504 =head2 locale - Perl pragma to use and avoid POSIX locales for built-in
2511 =head2 ops - Perl pragma to restrict unsafe operations when compiling
2519 =head2 overload - Package for overloading perl operations
2523 =item CAVEAT SCRIPTOR
2529 =item Declaration of overloaded functions
2531 =item Calling Conventions for Binary Operations
2533 FALSE, TRUE, C<undef>
2535 =item Calling Conventions for Unary Operations
2537 =item Overloadable Operations
2539 I<Arithmetic operations>, I<Comparison operations>, I<Bit operations>,
2540 I<Increment and decrement>, I<Transcendental functions>, I<Boolean, string
2541 and numeric conversion>, I<Special>
2543 =item Inheritance and overloading
2545 Strings as values of C<use overload> directive, Overloading of an operation
2546 is inherited by derived classes
2550 =item SPECIAL SYMBOLS FOR C<use overload>
2558 C<undef>, TRUE, defined, but FALSE
2560 =item Copy Constructor
2566 =item MAGIC AUTOGENERATION
2568 I<Assignment forms of arithmetic operations>, I<Conversion operations>,
2569 I<Increment and decrement>, C<abs($a)>, I<Unary minus>, I<Negation>,
2570 I<Concatenation>, I<Comparison operations>, I<Copy operator>
2574 =item Run-time Overloading
2576 =item Public functions
2578 overload::StrVal(arg), overload::Overloaded(arg), overload::Method(obj,op)
2580 =item IMPLEMENTATION
2588 =head2 sigtrap - Perl pragma to enable simple signal handling
2598 =item SIGNAL HANDLERS
2600 B<stack-trace>, B<die>, B<handler> I<your-handler>
2604 B<normal-signals>, B<error-signals>, B<old-interface-signals>
2608 B<untrapped>, B<any>, I<signal>, I<number>
2614 =head2 strict - Perl pragma to restrict unsafe constructs
2620 C<strict refs>, C<strict vars>, C<strict subs>
2622 =head2 subs - Perl pragma to predeclare sub names
2628 =head2 vars - Perl pragma to predeclare global variable names
2634 =head1 MODULE DOCUMENTATION
2636 =head2 AnyDBM_File - provide framework for multiple DBMs
2644 =item DBM Comparisons
2652 =head2 AutoLoader - load functions only on demand
2664 =item Package Lexicals
2666 =item AutoLoader vs. SelfLoader
2672 =head2 AutoSplit - split a package for autoloading
2682 =head2 Benchmark - benchmark running times of code
2694 =item Standard Exports
2696 timeit(COUNT, CODE), timethis, timethese, timediff, timestr
2698 =item Optional Exports
2710 =item MODIFICATION HISTORY
2712 =head2 Bundle::CPAN - A bundle to play with all the other modules on CPAN
2722 =head2 CPAN - query, download and build perl modules from CPAN sites
2730 =item Interactive Mode
2732 Searching for authors, bundles, distribution files and modules, make, test,
2733 install, clean modules or distributions, readme, look module or
2742 =item ProgrammerE<39>s interface
2752 =item Floppy, Zip, and all that Jazz
2758 o conf E<lt>scalar optionE<gt>, o conf E<lt>scalar optionE<gt>
2759 E<lt>valueE<gt>, o conf E<lt>list optionE<gt>, o conf E<lt>list optionE<gt>
2760 [shift|pop], o conf E<lt>list optionE<gt> [unshift|push|splice]
2773 =head2 CPAN::FirstTime - Utility for CPAN::Config file Initialization
2779 =head2 CPANox, CPAN::Nox - Wrapper around CPAN.pm without using any XS
2788 =head2 Carp, carp - warn of errors (from perspective of caller)
2794 =head2 Class::Template - struct/member template builder
2802 Example 1, Example 2
2806 =head2 Config - access Perl configuration information
2812 myconfig(), config_sh(), config_vars(@names)
2820 =head2 Cwd, getcwd - get pathname of current working directory
2826 =head2 DB_File - Perl5 access to Berkeley DB
2832 B<DB_HASH>, B<DB_BTREE>, B<DB_RECNO>
2836 =item Interface to Berkeley DB
2838 =item Opening a Berkeley DB Database File
2840 =item Default Parameters
2842 =item In Memory Databases
2850 =item A Simple Example
2858 =item Changing the BTREE sort order
2860 =item Handling Duplicate Keys
2862 =item The get_dup() Method
2864 =item Matching Partial Keys
2872 =item The 'bval' Option
2874 =item A Simple Example
2878 B<$X-E<gt>push(list) ;>, B<$value = $X-E<gt>pop ;>, B<$X-E<gt>shift>,
2879 B<$X-E<gt>unshift(list) ;>, B<$X-E<gt>length>
2881 =item Another Example
2885 =item THE API INTERFACE
2887 B<$status = $X-E<gt>get($key, $value [, $flags]) ;>, B<$status =
2888 $X-E<gt>put($key, $value [, $flags]) ;>, B<$status = $X-E<gt>del($key [,
2889 $flags]) ;>, B<$status = $X-E<gt>fd ;>, B<$status = $X-E<gt>seq($key,
2890 $value, $flags) ;>, B<$status = $X-E<gt>sync([$flags]) ;>
2892 =item HINTS AND TIPS
2896 =item Locking Databases
2898 =item Sharing Databases With C Applications
2900 =item The untie() Gotcha
2904 =item COMMON QUESTIONS
2908 =item Why is there Perl source in my database?
2910 =item How do I store complex data structures with DB_File?
2912 =item What does "Invalid Argument" mean?
2914 =item What does "Bareword 'DB_File' not allowed" mean?
2928 =head2 Devel::SelfStubber - generate stubs for a SelfLoading module
2934 =head2 DirHandle - supply object methods for directory handles
2940 =head2 DynaLoader - Dynamically load C libraries into Perl code
2946 @dl_library_path, @dl_resolve_using, @dl_require_symbols, @dl_librefs,
2947 @dl_modules, dl_error(), $dl_debug, dl_findfile(), dl_expandspec(),
2948 dl_load_file(), dl_loadflags(), dl_find_symbol(),
2949 dl_find_symbol_anywhere(), dl_undef_symbols(), dl_install_xsub(),
2954 =head2 English - use nice English (or awk) names for ugly punctuation
2961 =head2 Env - perl module that imports environment variables
2969 =head2 Exporter - Implements default import method for modules
2977 =item Selecting What To Export
2979 =item Specialised Import Lists
2981 =item Module Version Checking
2983 =item Managing Unknown Symbols
2985 =item Tag Handling Utility Functions
2989 =head2 ExtUtils::Command - utilities to replace common UNIX commands in
2996 cat, eqtime src dst, rm_f files..., rm_f files..., touch files .., mv
2997 source... destination, cp source... destination, chmod mode files.., mkpath
2998 directory.., test_f file
3006 =head2 ExtUtils::Embed - Utilities for embedding Perl in C/C++ applications
3016 xsinit(), Examples, ldopts(), Examples, perl_inc(), ccflags(), ccdlflags(),
3017 ccopts(), xsi_header(), xsi_protos(@modules), xsi_body(@modules)
3025 =head2 ExtUtils::Install - install files from here to there
3031 =head2 ExtUtils::Liblist - determine libraries to use and how to use them
3037 For static extensions, For dynamic extensions, For dynamic extensions
3043 =item LDLOADLIBS and LD_RUN_PATH
3053 =item VMS implementation
3059 =head2 ExtUtils::MM_OS2 - methods to override UN*X behaviour in
3066 =head2 ExtUtils::MM_Unix - methods used by ExtUtils::MakeMaker
3076 =item Preloaded methods
3078 canonpath, catdir, catfile, curdir, rootdir, updir
3080 =item SelfLoaded methods
3082 c_o (o), cflags (o), clean (o), const_cccmd (o), const_config (o),
3083 const_loadlibs (o), constants (o), depend (o), dir_target (o), dist (o),
3084 dist_basics (o), dist_ci (o), dist_core (o), dist_dir (o), dist_test (o),
3085 dlsyms (o), dynamic (o), dynamic_bs (o), dynamic_lib (o), exescan,
3086 extliblist, file_name_is_absolute, find_perl
3088 =item Methods to actually produce chunks of text for the Makefile
3090 force (o), guess_name, has_link_code, init_dirscan, init_main, init_others,
3091 install (o), installbin (o), libscan (o), linkext (o), lsdir, macro (o),
3092 makeaperl (o), makefile (o), manifypods (o), maybe_command,
3093 maybe_command_in_dirs, needs_linking (o), nicetext, parse_version, pasthru
3094 (o), path, perl_script, perldepend (o), pm_to_blib, post_constants (o),
3095 post_initialize (o), postamble (o), prefixify, processPL (o), realclean
3096 (o), replace_manpage_separator, static (o), static_lib (o), staticmake (o),
3097 subdir_x (o), subdirs (o), test (o), test_via_harness (o), test_via_script
3098 (o), tool_autosplit (o), tools_other (o), tool_xsubpp (o), top_targets (o),
3099 writedoc, xs_c (o), xs_o (o), perl_archive, export_list
3105 =head2 ExtUtils::MM_VMS - methods to override UN*X behaviour in
3114 =item Methods always loaded
3116 eliminate_macros, fixpath, catdir, catfile, wraplist, curdir (override),
3117 rootdir (override), updir (override)
3119 =item SelfLoaded methods
3121 guess_name (override), find_perl (override), path (override), maybe_command
3122 (override), maybe_command_in_dirs (override), perl_script (override),
3123 file_name_is_absolute (override), replace_manpage_separator, init_others
3124 (override), constants (override), cflags (override), const_cccmd
3125 (override), pm_to_blib (override), tool_autosplit (override), tool_sxubpp
3126 (override), xsubpp_version (override), tools_other (override), dist
3127 (override), c_o (override), xs_c (override), xs_o (override), top_targets
3128 (override), dlsyms (override), dynamic_lib (override), dynamic_bs
3129 (override), static_lib (override), manifypods (override), processPL
3130 (override), installbin (override), subdir_x (override), clean (override),
3131 realclean (override), dist_basics (override), dist_core (override),
3132 dist_dir (override), dist_test (override), install (override), perldepend
3133 (override), makefile (override), test (override), test_via_harness
3134 (override), test_via_script (override), makeaperl (override), nicetext
3139 =head2 ExtUtils::MM_Win32 - methods to override UN*X behaviour in
3146 catfile, static_lib (o), dynamic_lib (o), canonpath, perl_script,
3147 pm_to_blib, test_via_harness (o), tool_autosplit (override), tools_other
3148 (o), manifypods (o), dist_ci (o), dist_core (o), pasthru (o)
3150 =head2 ExtUtils::MakeMaker - create an extension Makefile
3158 =item How To Write A Makefile.PL
3160 =item Default Makefile Behaviour
3168 =item PREFIX and LIB attribute
3172 =item Static Linking of a new Perl Binary
3174 =item Determination of Perl Library and Installation Locations
3176 =item Which architecture dependent directory?
3178 =item Using Attributes and Parameters
3180 C, CONFIG, CONFIGURE, DEFINE, DIR, DISTNAME, DL_FUNCS, DL_VARS,
3181 EXCLUDE_EXT, EXE_FILES, NO_VC, FIRST_MAKEFILE, FULLPERL, H, INC,
3182 INCLUDE_EXT, INSTALLARCHLIB, INSTALLBIN, INSTALLDIRS, INSTALLMAN1DIR,
3183 INSTALLMAN3DIR, INSTALLPRIVLIB, INSTALLSCRIPT, INSTALLSITELIB,
3184 INSTALLSITEARCH, INST_ARCHLIB, INST_BIN, INST_EXE, INST_LIB, INST_MAN1DIR,
3185 INST_MAN3DIR, INST_SCRIPT, LDFROM, LIBPERL_A, LIB, LIBS, LINKTYPE,
3186 MAKEAPERL, MAKEFILE, MAN1PODS, MAN3PODS, MAP_TARGET, MYEXTLIB, NAME,
3187 NEEDS_LINKING, NOECHO, NORECURS, OBJECT, OPTIMIZE, PERL, PERLMAINCC,
3188 PERL_ARCHLIB, PERL_LIB, PERL_SRC, PL_FILES, PM, PMLIBDIRS, PREFIX,
3189 PREREQ_PM, SKIP, TYPEMAPS, VERSION, VERSION_FROM, XS, XSOPT, XSPROTOARG,
3192 =item Additional lowercase attributes
3194 clean, depend, dist, dynamic_lib, installpm, linkext, macro, realclean,
3197 =item Overriding MakeMaker Methods
3199 =item Hintsfile support
3201 =item Distribution Support
3203 make distcheck, make skipcheck, make distclean, make manifest,
3204 make distdir, make tardist, make dist, make uutardist, make
3205 shdist, make zipdist, make ci
3213 =head2 ExtUtils::Manifest - utilities to write and check a MANIFEST file
3223 =item GLOBAL VARIABLES
3227 C<Not in MANIFEST:> I<file>, C<No such file:> I<file>, C<MANIFEST:> I<$!>,
3228 C<Added to MANIFEST:> I<file>
3234 =head2 ExtUtils::Miniperl, writemain - write the C code for perlmain.c
3242 =head2 ExtUtils::Mkbootstrap - make a bootstrap file for use by DynaLoader
3248 =head2 ExtUtils::Mksymlists - write linker options files for dynamic
3255 NAME, DL_FUNCS, DL_VARS, FILE, FUNCLIST, DLBASE
3261 =head2 ExtUtils::testlib - add blib/* directories to @INC
3267 =head2 Fcntl - load the C Fcntl.h defines
3275 =item EXPORTED SYMBOLS
3277 =head2 File::Basename, fileparse - split a pathname into pieces
3283 fileparse_set_fstype, fileparse
3287 C<basename>, C<dirname>
3289 =head2 File::CheckTree, validate - run many filetest checks on a tree
3295 =head2 File::Compare - Compare files or filehandles
3305 =head2 File::Copy - Copy files or filehandles
3313 =item Special behavior if C<syscopy> is defined (VMS and OS/2)
3315 rmscopy($from,$to[,$date_flag])
3323 =head2 File::Find, find - traverse a file tree
3329 =head2 File::Path - create or remove a series of directories
3339 =head2 File::stat - by-name interface to Perl's built-in stat() functions
3349 =head2 FileCache - keep more files open than the system permits
3357 =head2 FileHandle - supply object methods for filehandles
3363 $fh->print, $fh->printf, $fh->getline, $fh->getlines
3367 =head2 FindBin - Locate directory of original perl script
3373 =item EXPORTABLE VARIABLES
3383 =head2 GDBM_File - Perl5 access to the gdbm library.
3395 =head2 Getopt::Long, GetOptions - extended processing of command line
3402 E<lt>noneE<gt>, !, =s, :s, =i, :i, =f, :f
3406 =item Linkage specification
3408 =item Aliases and abbreviations
3410 =item Non-option call-back routine
3412 =item Option starters
3422 =item CONFIGURATION OPTIONS
3424 default, auto_abbrev, getopt_compat, require_order, permute, bundling
3425 (default: reset), bundling_override (default: reset), ignore_case
3426 (default: set), ignore_case_always (default: reset), pass_through (default:
3427 reset), debug (default: reset)
3429 =item OTHER USEFUL VARIABLES
3431 $Getopt::Long::VERSION, $Getopt::Long::error
3433 =head2 Getopt::Std, getopt - Process single-character switches with switch
3440 =head2 I18N::Collate - compare 8-bit scalar data according to the current
3447 =head2 IO - load various IO modules
3453 =head2 IO::File - supply object methods for filehandles
3461 new ([ ARGS ] ), new_tmpfile
3465 open( FILENAME [,MODE [,PERMS]] )
3471 =head2 IO::Handle - supply object methods for I/O handles
3479 new (), new_from_fd ( FD, MODE )
3483 $fh->getline, $fh->getlines, $fh->fdopen ( FD, MODE ), $fh->write ( BUF,
3484 LEN [, OFFSET }\] ), $fh->opened, $fh->untaint
3494 =head2 IO::Pipe, IO::pipe - supply object methods for pipes
3502 new ( [READER, WRITER] )
3506 reader ([ARGS]), writer ([ARGS]), handles ()
3514 =head2 IO::Seekable - supply seek based methods for I/O objects
3524 =head2 IO::Select - OO interface to the select system call
3536 add ( HANDLES ), remove ( HANDLES ), exists ( HANDLE ), handles, can_read (
3537 [ TIMEOUT ] ), can_write ( [ TIMEOUT ] ), has_error ( [ TIMEOUT ] ), count
3538 (), bits(), bits(), select ( READ, WRITE, ERROR [, TIMEOUT ] )
3546 =head2 IO::Socket - Object interface to socket communications
3558 accept([PKG]), timeout([VAL]), sockopt(OPT [, VAL]), sockdomain, socktype,
3565 =item IO::Socket::INET
3569 sockaddr (), sockport (), sockhost (), peeraddr (), peerport (), peerhost
3572 =item IO::Socket::UNIX
3576 hostpath(), peerpath()
3586 =head2 IO::lib::IO::File, IO::File - supply object methods for filehandles
3594 new ([ ARGS ] ), new_tmpfile
3598 open( FILENAME [,MODE [,PERMS]] )
3604 =head2 IO::lib::IO::Handle, IO::Handle - supply object methods for I/O
3613 new (), new_from_fd ( FD, MODE )
3617 $fh->getline, $fh->getlines, $fh->fdopen ( FD, MODE ), $fh->write ( BUF,
3618 LEN [, OFFSET }\] ), $fh->opened, $fh->untaint
3628 =head2 IO::lib::IO::Pipe, IO::pipe - supply object methods for pipes
3636 new ( [READER, WRITER] )
3640 reader ([ARGS]), writer ([ARGS]), handles ()
3648 =head2 IO::lib::IO::Seekable, IO::Seekable - supply seek based methods for
3659 =head2 IO::lib::IO::Select, IO::Select - OO interface to the select system
3672 add ( HANDLES ), remove ( HANDLES ), exists ( HANDLE ), handles, can_read (
3673 [ TIMEOUT ] ), can_write ( [ TIMEOUT ] ), has_error ( [ TIMEOUT ] ), count
3674 (), bits(), bits(), select ( READ, WRITE, ERROR [, TIMEOUT ] )
3682 =head2 IO::lib::IO::Socket, IO::Socket - Object interface to socket
3695 accept([PKG]), timeout([VAL]), sockopt(OPT [, VAL]), sockdomain, socktype,
3702 =item IO::Socket::INET
3706 sockaddr (), sockport (), sockhost (), peeraddr (), peerport (), peerhost
3709 =item IO::Socket::UNIX
3713 hostpath(), peerpath()
3723 =head2 IPC::Open2, open2 - open a process for both reading and writing
3733 =head2 IPC::Open3, open3 - open a process for reading, writing, and error
3742 =head2 Math::BigFloat - Arbitrary length float math package
3748 number format, Error returns 'NaN', Division is computed to
3754 =head2 Math::BigInt - Arbitrary size integer math package
3760 Canonical notation, Input, Output
3768 =head2 Math::Complex - complex numbers and associated mathematical
3779 =item STRINGIFICATION
3787 =head2 NDBM_File - Tied access to ndbm files
3793 =head2 Net::Ping - check a remote host for reachability
3803 Net::Ping->new([$proto [, $def_timeout [, $bytes]]]);, $p->ping($host [,
3804 $timeout]);, $p->close();, pingecho($host [, $timeout]);
3812 =head2 Net::hostent - by-name interface to Perl's built-in gethost*()
3825 =head2 Net::netent - by-name interface to Perl's built-in getnet*()
3838 =head2 Net::protoent - by-name interface to Perl's built-in getproto*()
3849 =head2 Net::servent - by-name interface to Perl's built-in getserv*()
3862 =head2 ODBM_File - Tied access to odbm files
3868 =head2 Opcode - Disable named opcodes when compiling perl code
3878 =item Operator Names and Operator Lists
3880 an operator name (opname), an operator tag name (optag), a negated opname
3881 or optag, an operator set (opset)
3883 =item Opcode Functions
3885 opcodes, opset (OP, ...), opset_to_ops (OPSET), opset_to_hex (OPSET),
3886 full_opset, empty_opset, invert_opset (OPSET), verify_opset (OPSET, ...),
3887 define_optag (OPTAG, OPSET), opmask_add (OPSET), opmask, opdesc (OP, ...),
3890 =item Manipulating Opsets
3894 =item Predefined Opcode Tags
3896 :base_core, :base_mem, :base_loop, :base_io, :base_orig, :base_math,
3897 :default, :filesys_read, :sys_db, :browse, :filesys_open, :filesys_write,
3898 :subprocess, :ownprocess, :others, :still_to_be_decided, :dangerous
3904 =head2 Opcode::Safe, Safe - Compile and execute code in restricted
3911 a new namespace, an operator mask
3917 =item RECENT CHANGES
3919 =item Methods in class Safe
3921 permit (OP, ...), permit_only (OP, ...), deny (OP, ...), deny_only (OP,
3922 ...), trap (OP, ...), untrap (OP, ...), share (NAME, ...), share_from
3923 (PACKAGE, ARRAYREF), varglob (VARNAME), reval (STRING), rdo (FILENAME),
3924 root (NAMESPACE), mask (MASK)
3926 =item Some Safety Issues
3928 Memory, CPU, Snooping, Signals, State Changes
3934 =head2 Opcode::ops, ops - Perl pragma to restrict unsafe operations when
3943 =head2 POSIX - Perl interface to IEEE Std 1003.1
3955 _exit, abort, abs, access, acos, alarm, asctime, asin, assert, atan, atan2,
3956 atexit, atof, atoi, atol, bsearch, calloc, ceil, chdir, chmod, chown,
3957 clearerr, clock, close, closedir, cos, cosh, creat, ctermid, ctime,
3958 cuserid, difftime, div, dup, dup2, errno, execl, execle, execlp, execv,
3959 execve, execvp, exit, exp, fabs, fclose, fcntl, fdopen, feof, ferror,
3960 fflush, fgetc, fgetpos, fgets, fileno, floor, fmod, fopen, fork, fpathconf,
3961 fprintf, fputc, fputs, fread, free, freopen, frexp, fscanf, fseek, fsetpos,
3962 fstat, ftell, fwrite, getc, getchar, getcwd, getegid, getenv, geteuid,
3963 getgid, getgrgid, getgrnam, getgroups, getlogin, getpgrp, getpid, getppid,
3964 getpwnam, getpwuid, gets, getuid, gmtime, isalnum, isalpha, isatty,
3965 iscntrl, isdigit, isgraph, islower, isprint, ispunct, isspace, isupper,
3966 isxdigit, kill, labs, ldexp, ldiv, link, localeconv, localtime, log, log10,
3967 longjmp, lseek, malloc, mblen, mbstowcs, mbtowc, memchr, memcmp, memcpy,
3968 memmove, memset, mkdir, mkfifo, mktime, modf, nice, offsetof, open,
3969 opendir, pathconf, pause, perror, pipe, pow, printf, putc, putchar, puts,
3970 qsort, raise, rand, read, readdir, realloc, remove, rename, rewind,
3971 rewinddir, rmdir, scanf, setgid, setjmp, setlocale, setpgid, setsid,
3972 setuid, sigaction, siglongjmp, sigpending, sigprocmask, sigsetjmp,
3973 sigsuspend, sin, sinh, sleep, sprintf, sqrt, srand, sscanf, stat, strcat,
3974 strchr, strcmp, strcoll, strcpy, strcspn, strerror, strftime, strlen,
3975 strncat, strncmp, strncpy, stroul, strpbrk, strrchr, strspn, strstr,
3976 strtod, strtok, strtol, strtoul, strxfrm, sysconf, system, tan, tanh,
3977 tcdrain, tcflow, tcflush, tcgetpgrp, tcsendbreak, tcsetpgrp, time, times,
3978 tmpfile, tmpnam, tolower, toupper, ttyname, tzname, tzset, umask, uname,
3979 ungetc, unlink, utime, vfprintf, vprintf, vsprintf, wait, waitpid,
3980 wcstombs, wctomb, write
3986 =item POSIX::SigAction
3992 new, addset, delset, emptyset, fillset, ismember
3994 =item POSIX::Termios
3996 new, getattr, getcc, getcflag, getiflag, getispeed, getlflag, getoflag,
3997 getospeed, setattr, setcc, setcflag, setiflag, setispeed, setlflag,
3998 setoflag, setospeed, Baud rate values, Terminal interface values, c_cc
3999 field values, c_cflag field values, c_iflag field values, c_lflag field
4000 values, c_oflag field values
4004 =item PATHNAME CONSTANTS
4008 =item POSIX CONSTANTS
4012 =item SYSTEM CONFIGURATION
4070 =head2 Pod::Text - convert POD data to formatted ASCII text
4080 =head2 SDBM_File - Tied access to sdbm files
4086 =head2 Safe - Compile and execute code in restricted compartments
4092 a new namespace, an operator mask
4098 =item RECENT CHANGES
4100 =item Methods in class Safe
4102 permit (OP, ...), permit_only (OP, ...), deny (OP, ...), deny_only (OP,
4103 ...), trap (OP, ...), untrap (OP, ...), share (NAME, ...), share_from
4104 (PACKAGE, ARRAYREF), varglob (VARNAME), reval (STRING), rdo (FILENAME),
4105 root (NAMESPACE), mask (MASK)
4107 =item Some Safety Issues
4109 Memory, CPU, Snooping, Signals, State Changes
4115 =head2 Search::Dict, look - search for key in dictionary file
4121 =head2 SelectSaver - save and restore selected file handle
4127 =head2 SelfLoader - load functions only on demand
4135 =item The __DATA__ token
4137 =item SelfLoader autoloading
4139 =item Autoloading and package lexicals
4141 =item SelfLoader and AutoLoader
4143 =item __DATA__, __END__, and the FOOBAR::DATA filehandle.
4145 =item Classes and inherited methods.
4149 =item Multiple packages and fully qualified subroutine names
4151 =head2 Shell - run shell commands transparently within perl
4159 =head2 Socket, sockaddr_in, sockaddr_un, inet_aton, inet_ntoa - load the C
4160 socket.h defines and structure manipulators
4166 inet_aton HOSTNAME, inet_ntoa IP_ADDRESS, INADDR_ANY, INADDR_BROADCAST,
4167 INADDR_LOOPBACK, INADDR_NONE, sockaddr_in PORT, ADDRESS, sockaddr_in
4168 SOCKADDR_IN, pack_sockaddr_in PORT, IP_ADDRESS, unpack_sockaddr_in
4169 SOCKADDR_IN, sockaddr_un PATHNAME, sockaddr_un SOCKADDR_UN,
4170 pack_sockaddr_un PATH, unpack_sockaddr_un SOCKADDR_UN
4172 =head2 Symbol - manipulate Perl symbols and their names
4178 =head2 Sys::Hostname - Try every conceivable way to get hostname
4186 =head2 Syslog, Sys::Syslog, openlog, closelog, setlogmask, syslog - Perl
4187 interface to the UNIX syslog(3) calls
4193 openlog $ident, $logopt, $facility, syslog $priority, $format, @args,
4194 setlogmask $mask_priority, closelog
4204 =head2 Term::Cap - Perl termcap interface
4212 =head2 Term::Complete - Perl word completion module
4218 E<lt>tabE<gt>, ^D, ^U, E<lt>delE<gt>, E<lt>bsE<gt>
4226 =head2 Term::ReadLine - Perl interface to various C<readline> packages. If
4227 no real package is found, substitutes stubs instead of basic functions.
4233 =item Minimal set of supported functions
4235 C<ReadLine>, C<new>, C<readline>, C<addhistory>, C<IN>, $C<OUT>,
4236 C<MinLine>, C<findConsole>, Attribs, C<Features>
4238 =item Additional supported functions
4244 =head2 Test::Harness - run perl standard test scripts with statistics
4252 =item The test script output
4260 C<All tests successful.\nFiles=%d, Tests=%d, %s>, C<FAILED tests
4261 %s\n\tFailed %d/%d tests, %.2f%% okay.>, C<Test returned status %d (wstat
4262 %d)>, C<Failed 1 test, %.2f%% okay. %s>, C<Failed %d/%d tests, %.2f%% okay.
4271 =head2 Text::Abbrev, abbrev - create an abbreviation table from a list
4279 =head2 Text::ParseWords - parse text into an array of tokens
4287 =head2 Text::Soundex - Implementation of the Soundex Algorithm as Described
4300 =head2 Text::Tabs -- expand and unexpand tabs per the unix expand(1) and
4311 =head2 Text::Wrap - line wrapping to form simple paragraphs
4323 =head2 Tie::Hash, Tie::StdHash - base class definitions for tied hashes
4329 TIEHASH classname, LIST, STORE this, key, value, FETCH this, key, FIRSTKEY
4330 this, NEXTKEY this, lastkey, EXISTS this, key, DELETE this, key, CLEAR this
4334 =item MORE INFORMATION
4336 =head2 Tie::RefHash - use references as hash keys
4350 =head2 Tie::Scalar, Tie::StdScalar - base class definitions for tied
4357 TIESCALAR classname, LIST, FETCH this, STORE this, value, DESTROY this
4359 =item MORE INFORMATION
4361 =head2 Tie::SubstrHash - Fixed-table-size, fixed-key-length hashing
4369 =head2 Time::Local - efficiently compute time from local and GMT time
4375 =head2 Time::gmtime - by-name interface to Perl's built-in gmtime()
4386 =head2 Time::localtime - by-name interface to Perl's built-in localtime()
4397 =head2 Time::tm - internal object used by Time::gmtime and Time::localtime
4405 =head2 UNIVERSAL - base class for ALL classes (blessed references)
4411 isa ( TYPE ), can ( METHOD ), VERSION ( [ REQUIRE ] ), isa ( VAL, TYPE ),
4414 =head2 User::grent - by-name interface to Perl's built-in getgr*()
4425 =head2 User::pwent - by-name interface to Perl's built-in getpw*()
4436 =head1 AUXILIARY DOCUMENTATION
4438 Here should be listed all the extra programs' documentation, but they
4439 don't all have manual pages yet:
4461 Larry Wall <F<larry@wall.org>>, with the help of oodles