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 perldelta - what's new for perl5.004
45 =item Supported Environments
51 =item Compilation Option: Binary Compatibility With 5.003
53 =item Subroutine Parameters Are Not Autovivified
55 =item Fixed Parsing of $$<digit>, &$<digit>, etc.
57 =item Changes to Tainting Checks
59 =item New Opcode Module and Revised Safe Module
61 =item Internal Change: FileHandle Class Based on IO::* Classes
63 =item Internal Change: PerlIO internal IO abstraction interface
65 =item New and Changed Built-in Variables
69 =item New and Changed Built-in Functions
71 delete on slices, flock, printf and sprintf, keys as an lvalue, my() in
72 Control Structures, unpack() and pack(), use VERSION, use Module VERSION
73 LIST, prototype(FUNCTION), srand, $_ as Default, C<m//g> does not trigger a
74 pos() reset on failure, nested C<sub{}> closures work now, formats work
75 right on changing lexicals
77 =item New Built-in Methods
79 isa(CLASS), can(METHOD), VERSION( [NEED] )
81 =item TIEHANDLE Now Supported
83 TIEHANDLE classname, LIST, PRINT this, LIST, READ this LIST, READLINE this,
84 GETC this, DESTROY this
86 =item Malloc Enhancements
88 -DDEBUGGING_MSTATS, -DEMERGENCY_SBRK, -DPACK_MALLOC, -DTWO_POT_OPTIMIZE
90 =item Miscellaneous Efficiency Enhancements
96 use blib, use blib 'dir', use locale, use ops, use vmsish
102 =item Installation Directories
106 =item Module Information Summary
116 =item Overridden Built-ins
120 =item Utility Changes
126 C<void> XSUBs now default to returning nothing
130 =item C Language API Changes
132 C<gv_fetchmethod> and C<perl_call_sv>, Extended API for manipulating hashes
134 =item Documentation Changes
136 L<perldelta>, L<perllocale>, L<perltoot>, L<perlapio>, L<perldebug>,
139 =item New Diagnostics
141 "my" variable %s masks earlier declaration in same scope, %s argument is
142 not a HASH element or slice, Allocation too large: %lx, Allocation too
143 large, Attempt to free non-existent shared string, Attempt to use reference
144 as lvalue in substr, Unsupported function fork, Ill-formed logical name
145 |%s| in prime_env_iter, Can't use bareword ("%s") as %s ref while "strict
146 refs" in use, Constant subroutine %s redefined, Died, Integer overflow in
147 hex number, Integer overflow in octal number, Name "%s::%s" used only once:
148 possible typo, Null picture in formline, Offset outside string, Stub found
149 while resolving method `%s' overloading `%s' in package `%s', Cannot
150 resolve method `%s' overloading `%s' in package `s', Out of memory!, Out of
151 memory during request for %s, Possible attempt to put comments in qw()
152 list, Possible attempt to separate words with commas, Scalar value @%s{%s}
153 better written as $%s{%s}, untie attempted while %d inner references still
154 exist, Value of %s construct can be "0"; test with defined(), Variable "%s"
155 may be unavailable, Variable "%s" will not stay shared, Warning:
156 something's wrong, Got an error from DosAllocMem, Malformed PERLLIB_PREFIX,
157 PERL_SH_DIR too long, Process terminated by SIG%s
165 =head2 perldata - Perl data types
177 =item Scalar value constructors
179 =item List value constructors
181 =item Typeglobs and Filehandles
185 =head2 perlsyn - Perl syntax
193 =item Simple statements
195 =item Compound statements
203 =item Basic BLOCKs and Switch Statements
207 =item PODs: Embedded Documentation
209 =item Plain Old Comments (Not!)
213 =head2 perlop - Perl operators and precedence
221 =item Terms and List Operators (Leftward)
223 =item The Arrow Operator
225 =item Auto-increment and Auto-decrement
229 =item Symbolic Unary Operators
231 =item Binding Operators
233 =item Multiplicative Operators
235 =item Additive Operators
237 =item Shift Operators
239 =item Named Unary Operators
241 =item Relational Operators
243 =item Equality Operators
247 =item Bitwise Or and Exclusive Or
249 =item C-style Logical And
251 =item C-style Logical Or
255 =item Conditional Operator
257 =item Assignment Operators
261 =item List Operators (Rightward)
267 =item Logical or and Exclusive Or
269 =item C Operators Missing From Perl
271 unary &, unary *, (TYPE)
273 =item Quote and Quote-like Operators
275 =item Regexp Quote-Like Operators
277 ?PATTERN?, m/PATTERN/gimosx, /PATTERN/gimosx, q/STRING/, C<'STRING'>,
278 qq/STRING/, "STRING", qx/STRING/, `STRING`, qw/STRING/,
279 s/PATTERN/REPLACEMENT/egimosx, tr/SEARCHLIST/REPLACEMENTLIST/cds,
280 y/SEARCHLIST/REPLACEMENTLIST/cds
284 =item Constant Folding
286 =item Integer Arithmetic
290 =head2 perlre - Perl regular expressions
298 =item Regular Expressions
300 (?#text), (?:regexp), (?=regexp), (?!regexp), (?imsx)
304 =item Version 8 Regular Expressions
306 =item WARNING on \1 vs $1
310 =head2 perlrun - how to execute the Perl interpreter
320 B<-0>[I<digits>], B<-a>, B<-c>, B<-d>, B<-d:>I<foo>, B<-D>I<number>,
321 B<-D>I<list>, B<-e> I<commandline>, B<-F>I<pattern>, B<-h>,
322 B<-i>[I<extension>], B<-I>I<directory>, B<-l>[I<octnum>],
323 B<-m>[B<->]I<module>, B<-M>[B<->]I<module>, B<-M>[B<->]I<'module ...'>,
324 B<-[mM]>[B<->]I<module=arg[,arg]...>, B<-n>, B<-p>, B<-P>, B<-s>, B<-S>,
325 B<-T>, B<-u>, B<-U>, B<-v>, B<-V>, B<-V:>I<name>, B<-w>, B<-x> I<directory>
331 HOME, LOGDIR, PATH, PERL5LIB, PERLLIB, PERL5DB, PERL_DEBUG_MSTATS,
334 =head2 perlfunc - Perl builtin functions
338 I<THERE IS NO GENERAL RULE FOR CONVERTING A LIST INTO A SCALAR!>
342 =item Perl Functions by Category
344 Functions for SCALARs or strings, Regular expressions and pattern matching,
345 Numeric functions, Functions for real @ARRAYs, Functions for list data,
346 Functions for real %HASHes, Input and output functions, Functions for fixed
347 length data or records, Functions for filehandles, files, or directories,
348 Keywords related to the control flow of your perl program, Keywords related
349 to scoping, Miscellaneous functions, Functions for processes and process
350 groups, Keywords related to perl modules, Keywords related to classes and
351 object-orientedness, Low-level socket functions, System V interprocess
352 communication functions, Fetching user and group info, Fetching network
353 info, Time-related functions, Functions new in perl5, Functions obsoleted
356 =item Alphabetical Listing of Perl Functions
358 -I<X> FILEHANDLE, -I<X> EXPR, -I<X>, abs VALUE, abs, accept
359 NEWSOCKET,GENERICSOCKET, alarm SECONDS, alarm, atan2 Y,X, bind SOCKET,NAME,
360 binmode FILEHANDLE, bless REF,CLASSNAME, bless REF, caller EXPR, caller,
361 chdir EXPR, chmod LIST, chomp VARIABLE, chomp LIST, chomp, chop VARIABLE,
362 chop LIST, chop, chown LIST, chr NUMBER, chr, chroot FILENAME, chroot,
363 close FILEHANDLE, closedir DIRHANDLE, connect SOCKET,NAME, continue BLOCK,
364 cos EXPR, crypt PLAINTEXT,SALT, dbmclose HASH, dbmopen HASH,DBNAME,MODE,
365 defined EXPR, defined, delete EXPR, die LIST, do BLOCK, do
366 SUBROUTINE(LIST), do EXPR, dump LABEL, each HASH, eof FILEHANDLE, eof (),
367 eof, eval EXPR, eval BLOCK, exec LIST, exists EXPR, exit EXPR, exp EXPR,
368 exp, fcntl FILEHANDLE,FUNCTION,SCALAR, fileno FILEHANDLE, flock
369 FILEHANDLE,OPERATION, fork, format, formline PICTURE, LIST, getc
370 FILEHANDLE, getc, getlogin, getpeername SOCKET, getpgrp PID, getppid,
371 getpriority WHICH,WHO, getpwnam NAME, getgrnam NAME, gethostbyname NAME,
372 getnetbyname NAME, getprotobyname NAME, getpwuid UID, getgrgid GID,
373 getservbyname NAME,PROTO, gethostbyaddr ADDR,ADDRTYPE, getnetbyaddr
374 ADDR,ADDRTYPE, getprotobynumber NUMBER, getservbyport PORT,PROTO, getpwent,
375 getgrent, gethostent, getnetent, getprotoent, getservent, setpwent,
376 setgrent, sethostent STAYOPEN, setnetent STAYOPEN, setprotoent STAYOPEN,
377 setservent STAYOPEN, endpwent, endgrent, endhostent, endnetent,
378 endprotoent, endservent, getsockname SOCKET, getsockopt
379 SOCKET,LEVEL,OPTNAME, glob EXPR, glob, gmtime EXPR, goto LABEL, goto EXPR,
380 goto &NAME, grep BLOCK LIST, grep EXPR,LIST, hex EXPR, hex, import, index
381 STR,SUBSTR,POSITION, index STR,SUBSTR, int EXPR, int, ioctl
382 FILEHANDLE,FUNCTION,SCALAR, join EXPR,LIST, keys HASH, kill LIST, last
383 LABEL, last, lc EXPR, lc, lcfirst EXPR, lcfirst, length EXPR, length, link
384 OLDFILE,NEWFILE, listen SOCKET,QUEUESIZE, local EXPR, localtime EXPR, log
385 EXPR, log, lstat FILEHANDLE, lstat EXPR, lstat, m//, map BLOCK LIST, map
386 EXPR,LIST, mkdir FILENAME,MODE, msgctl ID,CMD,ARG, msgget KEY,FLAGS, msgsnd
387 ID,MSG,FLAGS, msgrcv ID,VAR,SIZE,TYPE,FLAGS, my EXPR, next LABEL, next, no
388 Module LIST, oct EXPR, oct, open FILEHANDLE,EXPR, open FILEHANDLE, opendir
389 DIRHANDLE,EXPR, ord EXPR, ord, pack TEMPLATE,LIST, package NAMESPACE, pipe
390 READHANDLE,WRITEHANDLE, pop ARRAY, pop, pos SCALAR, pos, print FILEHANDLE
391 LIST, print LIST, print, printf FILEHANDLE FORMAT, LIST, printf FORMAT,
392 LIST, prototype FUNCTION, push ARRAY,LIST, q/STRING/, qq/STRING/,
393 qx/STRING/, qw/STRING/, quotemeta EXPR, quotemeta, rand EXPR, rand, read
394 FILEHANDLE,SCALAR,LENGTH,OFFSET, read FILEHANDLE,SCALAR,LENGTH, readdir
395 DIRHANDLE, readlink EXPR, readlink, recv SOCKET,SCALAR,LEN,FLAGS, redo
396 LABEL, redo, ref EXPR, ref, rename OLDNAME,NEWNAME, require EXPR, require,
397 reset EXPR, reset, return LIST, reverse LIST, rewinddir DIRHANDLE, rindex
398 STR,SUBSTR,POSITION, rindex STR,SUBSTR, rmdir FILENAME, rmdir, s///, scalar
399 EXPR, seek FILEHANDLE,POSITION,WHENCE, seekdir DIRHANDLE,POS, select
400 FILEHANDLE, select, select RBITS,WBITS,EBITS,TIMEOUT, semctl
401 ID,SEMNUM,CMD,ARG, semget KEY,NSEMS,FLAGS, semop KEY,OPSTRING, send
402 SOCKET,MSG,FLAGS,TO, send SOCKET,MSG,FLAGS, setpgrp PID,PGRP, setpriority
403 WHICH,WHO,PRIORITY, setsockopt SOCKET,LEVEL,OPTNAME,OPTVAL, shift ARRAY,
404 shift, shmctl ID,CMD,ARG, shmget KEY,SIZE,FLAGS, shmread ID,VAR,POS,SIZE,
405 shmwrite ID,STRING,POS,SIZE, shutdown SOCKET,HOW, sin EXPR, sin, sleep
406 EXPR, sleep, socket SOCKET,DOMAIN,TYPE,PROTOCOL, socketpair
407 SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL, sort SUBNAME LIST, sort BLOCK LIST,
408 sort LIST, splice ARRAY,OFFSET,LENGTH,LIST, splice ARRAY,OFFSET,LENGTH,
409 splice ARRAY,OFFSET, split /PATTERN/,EXPR,LIMIT, split /PATTERN/,EXPR,
410 split /PATTERN/, split, sprintf FORMAT, LIST, sqrt EXPR, sqrt, srand EXPR,
411 srand, stat FILEHANDLE, stat EXPR, stat, study SCALAR, study, sub BLOCK,
412 sub NAME, sub NAME BLOCK, substr EXPR,OFFSET,LEN, substr EXPR,OFFSET,
413 symlink OLDFILE,NEWFILE, syscall LIST, sysopen FILEHANDLE,FILENAME,MODE,
414 sysopen FILEHANDLE,FILENAME,MODE,PERMS, sysread
415 FILEHANDLE,SCALAR,LENGTH,OFFSET, sysread FILEHANDLE,SCALAR,LENGTH, system
416 LIST, syswrite FILEHANDLE,SCALAR,LENGTH,OFFSET, syswrite
417 FILEHANDLE,SCALAR,LENGTH, tell FILEHANDLE, tell, telldir DIRHANDLE, tie
418 VARIABLE,CLASSNAME,LIST, tied VARIABLE, time, times, tr///, truncate
419 FILEHANDLE,LENGTH, truncate EXPR,LENGTH, uc EXPR, uc, ucfirst EXPR,
420 ucfirst, umask EXPR, umask, undef EXPR, undef, unlink LIST, unlink, unpack
421 TEMPLATE,EXPR, untie VARIABLE, unshift ARRAY,LIST, use Module LIST, use
422 Module, use Module VERSION LIST, use VERSION, utime LIST, values HASH, vec
423 EXPR,OFFSET,BITS, wait, waitpid PID,FLAGS, wantarray, warn LIST, write
424 FILEHANDLE, write EXPR, write, y///
428 =head2 perlvar - Perl predefined variables
434 =item Predefined Names
436 $ARG, $_, $E<lt>I<digit>E<gt>, $MATCH, $&, $PREMATCH, $`, $POSTMATCH, $',
437 $LAST_PAREN_MATCH, $+, $MULTILINE_MATCHING, $*, input_line_number HANDLE
438 EXPR, $INPUT_LINE_NUMBER, $NR, $, input_record_separator HANDLE EXPR,
439 $INPUT_RECORD_SEPARATOR, $RS, $/, autoflush HANDLE EXPR, $OUTPUT_AUTOFLUSH,
440 $|, output_field_separator HANDLE EXPR, $OUTPUT_FIELD_SEPARATOR, $OFS, $,,
441 output_record_separator HANDLE EXPR, $OUTPUT_RECORD_SEPARATOR, $ORS, $\,
442 $LIST_SEPARATOR, $", $SUBSCRIPT_SEPARATOR, $SUBSEP, $;, $OFMT, $#,
443 format_page_number HANDLE EXPR, $FORMAT_PAGE_NUMBER, $%,
444 format_lines_per_page HANDLE EXPR, $FORMAT_LINES_PER_PAGE, $=,
445 format_lines_left HANDLE EXPR, $FORMAT_LINES_LEFT, $-, format_name HANDLE
446 EXPR, $FORMAT_NAME, $~, format_top_name HANDLE EXPR, $FORMAT_TOP_NAME, $^,
447 format_line_break_characters HANDLE EXPR, $FORMAT_LINE_BREAK_CHARACTERS,
448 $:, format_formfeed HANDLE EXPR, $FORMAT_FORMFEED, $^L, $ACCUMULATOR, $^A,
449 $CHILD_ERROR, $?, $OS_ERROR, $ERRNO, $!, $EXTENDED_OS_ERROR, $^E,
450 $EVAL_ERROR, $@, $PROCESS_ID, $PID, $$, $REAL_USER_ID, $UID, $<,
451 $EFFECTIVE_USER_ID, $EUID, $>, $REAL_GROUP_ID, $GID, $(,
452 $EFFECTIVE_GROUP_ID, $EGID, $), $PROGRAM_NAME, $0, $[, $PERL_VERSION, $],
453 $DEBUGGING, $^D, $SYSTEM_FD_MAX, $^F, $^H, $INPLACE_EDIT, $^I, $OSNAME,
454 $^O, $PERLDB, $^P, $BASETIME, $^T, $WARNING, $^W, $EXECUTABLE_NAME, $^X,
455 $ARGV, @ARGV, @INC, %INC, $ENV{expr}, $SIG{expr}
459 =head2 perlsub - Perl subroutines
467 =item Private Variables via my()
469 =item Temporary Values via local()
471 =item Passing Symbol Table Entries (typeglobs)
473 =item Pass by Reference
477 =item Constant Functions
479 =item Overriding Builtin Functions
487 =head2 perlmod - Perl modules (packages)
497 =item Package Constructors and Destructors
507 =item THE PERL MODULE LIBRARY
511 =item Pragmatic Modules
513 blib, diagnostics, integer, less, lib, locale, ops, overload, sigtrap,
514 strict, subs, vmsish, vars
516 =item Standard Modules
518 AnyDBM_File, AutoLoader, AutoSplit, Benchmark, CPAN, CPAN::FirstTime,
519 CPAN::Nox, Carp, Class::Template, Config, Cwd, DB_File, Devel::SelfStubber,
520 DirHandle, DynaLoader, English, Env, Exporter, ExtUtils::Embed,
521 ExtUtils::Install, ExtUtils::Liblist, ExtUtils::MM_OS2, ExtUtils::MM_Unix,
522 ExtUtils::MM_VMS, ExtUtils::MakeMaker, ExtUtils::Manifest,
523 ExtUtils::Mkbootstrap, ExtUtils::Mksymlists, ExtUtils::testlib, Fcntl,
524 File::Basename, File::CheckTree, File::Compare, File::Copy, File::Find,
525 File::Path, File::stat, FileCache, FileHandle, FindBin, GDBM_File,
526 Getopt::Long, Getopt::Std, I18N::Collate, IO, IO::File, IO::Handle,
527 IO::Pipe, IO::Seekable, IO::Select, IO::Socket, IPC::Open2, IPC::Open3,
528 Math::BigFloat, Math::BigInt, Math::Complex, NDBM_File, Net::Ping,
529 Net::hostent, Net::netent, Net::protoent, Net::servent, Opcode, Pod::Text,
530 POSIX, SDBM_File, Safe, Search::Dict, SelectSaver, SelfLoader, Shell,
531 Socket, Symbol, Sys::Hostname, Sys::Syslog, Term::Cap, Term::Complete,
532 Term::ReadLine, Test::Harness, Text::Abbrev, Text::ParseWords,
533 Text::Soundex, Text::Tabs, Text::Wrap, Tie::Hash, Tie::RefHash,
534 Tie::Scalar, Tie::SubstrHash, Time::Local, Time::gmtime, Time::localtime,
535 Time::tm, UNIVERSAL, User::grent, User::pwent
537 =item Extension Modules
543 Language Extensions and Documentation Tools, Development Support, Operating
544 System Interfaces, Networking, Device Control (modems) and InterProcess
545 Communication, Data Types and Data Type Utilities, Database Interfaces,
546 User Interfaces, Interfaces to / Emulations of Other Programming Languages,
547 File Names, File Systems and File Locking (see also File Handles), String
548 Processing, Language Text Processing, Parsing, and Searching, Option,
549 Argument, Parameter, and Configuration File Processing,
550 Internationalization and Locale, Authentication, Security, and Encryption,
551 World Wide Web, HTML, HTTP, CGI, MIME, Server and Daemon Utilities,
552 Archiving and Compression, Images, Pixmap and Bitmap Manipulation, Drawing,
553 and Graphing, Mail and Usenet News, Control Flow Utilities (callbacks and
554 exceptions etc), File Handle and Input/Output Stream Utilities,
555 Miscellaneous Modules, Africa, Asia, Australasia, Europe, North America,
558 =item Modules: Creation, Use, and Abuse
562 =item Guidelines for Module Creation
564 Do similar modules already exist in some form?, Try to design the new
565 module to be easy to extend and reuse, Some simple style guidelines, Select
566 what to export, Select a name for the module, Have you got it right?,
567 README and other Additional Files, A description of the
568 module/package/extension etc, A copyright notice - see below, Prerequisites
569 - what else you may need to have, How to build it - possible changes to
570 Makefile.PL etc, How to install it, Recent changes in this release,
571 especially incompatibilities, Changes / enhancements you plan to make in
572 the future, Adding a Copyright Notice, Give the module a
573 version/issue/release number, How to release and distribute a module, Take
574 care when changing a released module
576 =item Guidelines for Converting Perl 4 Library Scripts into Modules
578 There is no requirement to convert anything, Consider the implications,
579 Make the most of the opportunity, The pl2pm utility will get you started,
580 Adds the standard Module prologue lines, Converts package specifiers from '
581 to ::, Converts die(...) to croak(...), Several other minor changes
583 =item Guidelines for Reusing Application Code
585 Complete applications rarely belong in the Perl Module Library, Many
586 applications contain some perl code which could be reused, Break-out the
587 reusable code into one or more separate module files, Take the opportunity
588 to reconsider and redesign the interfaces, In some cases the 'application'
589 can then be reduced to a small
593 =head2 perlform - Perl formats
599 =item Format Variables
609 =item Accessing Formatting Internals
615 =head2 perllocale - Perl locale handling (internationalization and
620 =item PREPARING TO USE LOCALES
626 =item The use locale pragma
628 =item The setlocale function
630 =item The localeconv function
634 =item LOCALE CATEGORIES
638 =item Category LC_COLLATE: Collation
640 =item Category LC_CTYPE: Character Types
642 =item Category LC_NUMERIC: Numeric Formatting
644 =item Category LC_MONETARY: Formatting of monetary amounts
648 =item Other categories
654 B<Comparison operators> (C<lt>, C<le>, C<ge>, C<gt> and C<cmp>):,
655 B<Case-mapping interpolation> (with C<\l>, C<\L>, C<\u> or <\U>),
656 B<Matching operator> (C<m//>):, B<Substitution operator> (C<s///>):,
657 B<In-memory formatting function> (sprintf()):, B<Output formatting
658 functions> (printf() and write()):, B<Case-mapping functions> (lc(),
659 lcfirst(), uc(), ucfirst()):, B<POSIX locale-dependent functions>
660 (localeconv(), strcoll(),strftime(), strxfrm()):, B<POSIX character class
661 tests> (isalnum(), isalpha(), isdigit(),isgraph(), islower(), isprint(),
662 ispunct(), isspace(), isupper(),
667 PERL_BADLANG, LC_ALL, LC_CTYPE, LC_COLLATE, LC_MONETARY, LC_NUMERIC,
674 =item Backward compatibility
676 =item I18N:Collate obsolete
678 =item Sort speed and memory use impacts
680 =item write() and LC_NUMERIC
682 =item Freely available locale definitions
686 =item An imperfect standard
702 =head2 perlref - Perl references and nested data structures
708 =item Symbolic references
710 =item Not-so-symbolic references
718 =head2 perldsc - Perl Data Structures Cookbook
722 arrays of arrays, hashes of arrays, arrays of hashes, hashes of hashes,
723 more elaborate constructs
727 =item COMMON MISTAKES
729 =item CAVEAT ON PRECEDENCE
731 =item WHY YOU SHOULD ALWAYS C<use strict>
741 =item Declaration of a LIST OF LISTS
743 =item Generation of a LIST OF LISTS
745 =item Access and Printing of a LIST OF LISTS
749 =item HASHES OF LISTS
753 =item Declaration of a HASH OF LISTS
755 =item Generation of a HASH OF LISTS
757 =item Access and Printing of a HASH OF LISTS
761 =item LISTS OF HASHES
765 =item Declaration of a LIST OF HASHES
767 =item Generation of a LIST OF HASHES
769 =item Access and Printing of a LIST OF HASHES
773 =item HASHES OF HASHES
777 =item Declaration of a HASH OF HASHES
779 =item Generation of a HASH OF HASHES
781 =item Access and Printing of a HASH OF HASHES
785 =item MORE ELABORATE RECORDS
789 =item Declaration of MORE ELABORATE RECORDS
791 =item Declaration of a HASH OF COMPLEX RECORDS
793 =item Generation of a HASH OF COMPLEX RECORDS
803 =head2 perllol, perlLoL - Manipulating Lists of Lists in Perl
807 =item Declaration and Access of Lists of Lists
809 =item Growing Your Own
811 =item Access and Printing
819 =head2 perltoot - Tom's object-oriented tutorial for perl
823 =item Creating a Class
827 =item Object Representation
829 =item Class Interface
831 =item Constructors and Instance Methods
833 =item Planning for the Future: Better Constructors
837 =item Other Object Methods
845 =item Accessing Class Data
847 =item Debugging Methods
849 =item Class Destructors
851 =item Documenting the Interface
861 =item Overridden Methods
863 =item Multiple Inheritance
865 =item UNIVERSAL: The Root of All Objects
869 =item Alternate Object Representations
873 =item Arrays as Objects
875 =item Closures as Objects
879 =item AUTOLOAD: Proxy Methods
883 =item Autoloaded Data Methods
885 =item Inherited Autoloaded Data Methods
889 =item Metaclassical Tools
893 =item Class::Template
895 =item Data Members as Variables
899 =item Object Terminology
909 =item Acknowledgments
913 =head2 perlobj - Perl objects
919 =item An Object is Simply a Reference
921 =item A Class is Simply a Package
923 =item A Method is Simply a Subroutine
925 =item Method Invocation
927 =item Default UNIVERSAL methods
929 isa(CLASS), can(METHOD), VERSION( [NEED] )
937 =item Two-Phased Garbage Collection
943 =head2 perltie - how to hide an object class in a simple variable
953 TIESCALAR classname, LIST, FETCH this, STORE this, value, DESTROY this
957 TIEARRAY classname, LIST, FETCH this, index, STORE this, index, value,
962 USER, HOME, CLOBBER, LIST, TIEHASH classname, LIST, FETCH this, key, STORE
963 this, key, value, DELETE this, key, CLEAR this, EXISTS this, key, FIRSTKEY
964 this, NEXTKEY this, lastkey, DESTROY this
966 =item Tying FileHandles
968 TIEHANDLE classname, LIST, PRINT this, LIST, READ this LIST, READLINE this,
969 GETC this, DESTROY this
971 =item The C<untie> Gotcha
981 =head2 perlbot - Bag'o Object Tricks (the BOT)
985 =item OO SCALING TIPS
987 =item INSTANCE VARIABLES
989 =item SCALAR INSTANCE VARIABLES
991 =item INSTANCE VARIABLE INHERITANCE
993 =item OBJECT RELATIONSHIPS
995 =item OVERRIDING SUPERCLASS METHODS
997 =item USING RELATIONSHIP WITH SDBM
999 =item THINKING OF CODE REUSE
1001 =item CLASS CONTEXT AND THE OBJECT
1003 =item INHERITING A CONSTRUCTOR
1007 =head2 perlipc - Perl interprocess communication (signals, fifos, pipes,
1008 safe subprocesses, sockets, and semaphores)
1016 =item Using open() for IPC
1020 =item Safe Pipe Opens
1022 =item Bidirectional Communication
1026 =item Sockets: Client/Server Communication
1030 =item Internet TCP Clients and Servers
1032 =item Unix-Domain TCP Clients and Servers
1034 =item UDP: Message Passing
1050 =head2 perldebug - Perl debugging
1054 =item The Perl Debugger
1058 =item Debugger Commands
1060 h [command], p expr, x expr, V [pkg [vars]], X [vars], T, s [expr], n
1061 [expr], E<lt>CRE<gt>, c [line|sub], l, l min+incr, l min-max, l line, l
1062 subname, -, w [line], f filename, /pattern/, ?pattern?, L, S [[!]pattern],
1063 t, t expr, b [line] [condition], b subname [condition], b postpone subname
1064 [condition], b load filename, b compile subname, d [line], D, a [line]
1065 command, A, O [opt[=val]] [opt"val"] [opt?].., C<recallCommand>,
1066 C<ShellBang>, C<pager>, C<tkRunning>, C<signalLevel>, C<warnLevel>,
1067 C<dieLevel>, C<AutoTrace>, C<LineInfo>, C<inhibit_exit>, C<PrintRet>,
1068 C<frame>, C<maxTraceLen>, C<arrayDepth>, C<hashDepth>, C<compactDump>,
1069 C<veryCompact>, C<globPrint>, C<DumpDBFiles>, C<DumpPackages>, C<quote>,
1070 C<HighBit>, C<undefPrint>, C<UsageOnly>, C<TTY>, C<noTTY>, C<ReadLine>,
1071 C<NonStop>, E<lt> [ command ], E<lt>E<lt> command, E<gt> command,
1072 E<gt>E<gt> command, { [ command ], {{ command, ! number, ! -number, !
1073 pattern, !! cmd, H -number, q or ^D, R, |dbcmd, ||dbcmd, = [alias value],
1074 command, m expr, m package
1076 =item Debugger input/output
1078 Prompt, Multi-line commands, Stack backtrace, Listing, Frame listing
1080 =item Debugging compile-time statements
1082 =item Debugger Customization
1084 =item Readline Support
1086 =item Editor Support for Debugging
1088 =item The Perl Profiler
1090 =item Debugger support in perl
1092 =item Debugger Internals
1094 =item Other resources
1100 =head2 perldiag - various Perl diagnostics
1104 =head2 perlsec - Perl security
1110 =item Laundering and Detecting Tainted Data
1112 =item Switches On the "#!" Line
1114 =item Cleaning Up Your Path
1120 =head2 perltrap - Perl traps for the unwary
1136 =item Perl4 to Perl5 Traps
1138 Discontinuance, Deprecation, and BugFix traps, Parsing Traps, Numerical
1139 Traps, General data type traps, Context Traps - scalar, list contexts,
1140 Precedence Traps, General Regular Expression Traps using s///, etc,
1141 Subroutine, Signal, Sorting Traps, OS Traps, DBM Traps, Unclassified Traps
1143 =item Discontinuance, Deprecation, and BugFix traps
1145 Discontinuance, Deprecation, BugFix, Discontinuance, Discontinuance,
1146 Discontinuance, BugFix, Discontinuance, Discontinuance, BugFix,
1147 Discontinuance, Deprecation, Discontinuance
1151 Parsing, Parsing, Parsing
1153 =item Numerical Traps
1155 Numerical, Numerical, Numerical
1157 =item General data type traps
1159 (Arrays), (Arrays), (Hashes), (Globs), (Scalar String), (Constants),
1160 (Scalars), (Variable Suicide)
1162 =item Context Traps - scalar, list contexts
1164 (list context), (scalar context), (scalar context), (list, builtin)
1166 =item Precedence Traps
1168 Precedence, Precedence, Precedence, Precedence, Precedence, Precedence,
1171 =item General Regular Expression Traps using s///, etc.
1173 Regular Expression, Regular Expression, Regular Expression, Regular
1174 Expression, Regular Expression, Regular Expression, Regular Expression,
1177 =item Subroutine, Signal, Sorting Traps
1179 (Signals), (Sort Subroutine), warn() won't let you specify a filehandle
1185 =item Interpolation Traps
1187 Interpolation, Interpolation, Interpolation, Interpolation, Interpolation,
1188 Interpolation, Interpolation, Interpolation, Interpolation
1194 =item Unclassified Traps
1200 =head2 perlstyle - Perl style guide
1204 =head2 perlpod - plain old documentation
1208 =item Embedding Pods in Perl Modules
1210 =item Common Pod Pitfalls
1216 =head2 perlbook - Perl book information
1220 =head2 perlembed - how to embed perl in your C program
1228 B<Use C from Perl?>, B<Use a UNIX program from Perl?>, B<Use Perl from
1229 Perl?>, B<Use C from C?>, B<Use Perl from C?>
1233 =item Compiling your C program
1235 =item Adding a Perl interpreter to your C program
1237 =item Calling a Perl subroutine from your C program
1239 =item Evaluating a Perl statement from your C program
1241 =item Performing Perl pattern matches and substitutions from your C program
1243 =item Fiddling with the Perl stack from your C program
1245 =item Maintaining a persistent interpreter
1247 =item Maintaining multiple interpreter instances
1249 =item Using Perl modules, which themselves use C libraries, from your C
1260 =head2 perlapio - perl's IO abstraction interface.
1266 B<PerlIO *>, B<PerlIO_stdin()>, B<PerlIO_stdout()>, B<PerlIO_stderr()>,
1267 B<PerlIO_open(path, mode)>, B<PerlIO_fdopen(fd,mode)>,
1268 B<PerlIO_printf(f,fmt,...)>, B<PerlIO_vprintf(f,fmt,a)>,
1269 B<PerlIO_stdoutf(fmt,...)>, B<PerlIO_read(f,buf,count)>,
1270 B<PerlIO_write(f,buf,count)>, B<PerlIO_close(f)>, B<PerlIO_puts(s,f)>,
1271 B<PerlIO_putc(c,f)>, B<PerlIO_ungetc(c,f)>, B<PerlIO_getc(f)>,
1272 B<PerlIO_eof(f)>, B<PerlIO_error(f)>, B<PerlIO_fileno(f)>,
1273 B<PerlIO_clearerr(f)>, B<PerlIO_flush(f)>, B<PerlIO_tell(f)>,
1274 B<PerlIO_seek(f,o,w)>, B<PerlIO_getpos(f,p)>, B<PerlIO_setpos(f,p)>,
1275 B<PerlIO_rewind(f)>, B<PerlIO_tmpfile()>
1279 =item Co-existence with stdio
1281 B<PerlIO_importFILE(f,flags)>, B<PerlIO_exportFILE(f,flags)>,
1282 B<PerlIO_findFILE(f)>, B<PerlIO_releaseFILE(p,f)>, B<PerlIO_setlinebuf(f)>,
1283 B<PerlIO_has_cntptr(f)>, B<PerlIO_get_ptr(f)>, B<PerlIO_get_cnt(f)>,
1284 B<PerlIO_canset_cnt(f)>, B<PerlIO_fast_gets(f)>,
1285 B<PerlIO_set_ptrcnt(f,p,c)>, B<PerlIO_set_cnt(f,c)>, B<PerlIO_has_base(f)>,
1286 B<PerlIO_get_base(f)>, B<PerlIO_get_bufsiz(f)>
1290 =head2 perlxs - XS language reference manual
1300 =item The Anatomy of an XSUB
1302 =item The Argument Stack
1304 =item The RETVAL Variable
1306 =item The MODULE Keyword
1308 =item The PACKAGE Keyword
1310 =item The PREFIX Keyword
1312 =item The OUTPUT: Keyword
1314 =item The CODE: Keyword
1316 =item The INIT: Keyword
1318 =item The NO_INIT Keyword
1320 =item Initializing Function Parameters
1322 =item Default Parameter Values
1324 =item The PREINIT: Keyword
1326 =item The SCOPE: Keyword
1328 =item The INPUT: Keyword
1330 =item Variable-length Parameter Lists
1332 =item The PPCODE: Keyword
1334 =item Returning Undef And Empty Lists
1336 =item The REQUIRE: Keyword
1338 =item The CLEANUP: Keyword
1340 =item The BOOT: Keyword
1342 =item The VERSIONCHECK: Keyword
1344 =item The PROTOTYPES: Keyword
1346 =item The PROTOTYPE: Keyword
1348 =item The ALIAS: Keyword
1350 =item The INCLUDE: Keyword
1352 =item The CASE: Keyword
1354 =item The & Unary Operator
1356 =item Inserting Comments and C Preprocessor Directives
1358 =item Using XS With C++
1360 =item Interface Strategy
1362 =item Perl Objects And C Structures
1374 =head2 perlxstut, perlXStut - Tutorial for XSUBs
1380 =item VERSION CAVEAT
1382 =item DYNAMIC VERSUS STATIC
1388 =item WHAT HAS GONE ON?
1390 =item WRITING GOOD TEST SCRIPTS
1394 =item WHAT'S NEW HERE?
1396 =item INPUT AND OUTPUT PARAMETERS
1398 =item THE XSUBPP COMPILER
1400 =item THE TYPEMAP FILE
1406 =item WHAT HAS HAPPENED HERE?
1408 =item SPECIFYING ARGUMENTS TO XSUBPP
1410 =item THE ARGUMENT STACK
1412 =item EXTENDING YOUR EXTENSION
1414 =item DOCUMENTING YOUR EXTENSION
1416 =item INSTALLING YOUR EXTENSION
1426 =head2 perlguts - Perl's Internal Functions
1436 =item What is an "IV"?
1438 =item Working with SV's
1440 =item What's Really Stored in an SV?
1442 =item Working with AV's
1444 =item Working with HV's
1446 =item Hash API Extensions
1450 =item Blessed References and Class Objects
1452 =item Creating New Variables
1454 =item Reference Counts and Mortality
1456 =item Stashes and Globs
1458 =item Double-Typed SV's
1460 =item Magic Variables
1462 =item Assigning Magic
1464 =item Magic Virtual Tables
1474 =item XSUB's and the Argument Stack
1476 =item Calling Perl Routines from within C Programs
1478 =item Memory Allocation
1482 =item Putting a C value on Perl stack
1486 =item Scratchpads and recursion
1496 =item Examining the tree
1498 =item Compile pass 1: check routines
1500 =item Compile pass 1a: constant folding
1502 =item Compile pass 2: context propagation
1504 =item Compile pass 3: peephole optimization
1510 AvFILL, av_clear, av_extend, av_fetch, av_len, av_make, av_pop, av_push,
1511 av_shift, av_store, av_undef, av_unshift, CLASS, Copy, croak, CvSTASH,
1512 DBsingle, DBsub, DBtrace, dMARK, dORIGMARK, dowarn, dSP, dXSARGS, dXSI32,
1513 dXSI32, ENTER, EXTEND, FREETMPS, G_ARRAY, G_DISCARD, G_EVAL, GIMME,
1514 G_NOARGS, G_SCALAR, gv_fetchmeth, gv_fetchmethod, gv_stashpv, gv_stashsv,
1515 GvSV, he_delayfree, HEf_SVKEY, he_free, HeHASH, HeKEY, HeKLEN, HePV,
1516 HeSVKEY, HeSVKEY_force, HeSVKEY_set, HeVAL, hv_clear, hv_delete,
1517 hv_delete_ent, hv_exists, hv_exists_ent, hv_fetch, hv_fetch_ent,
1518 hv_iterinit, hv_iterkey, hv_iterkeysv
1519 Returns the key as an C<SV*> from the current position of the hash
1520 iterator. The return value will always be a mortal copy of the
1521 key. Also see C<hv_iterinit>, hv_iternext, hv_iternextsv, hv_iterval,
1522 hv_magic, HvNAME, hv_store, hv_store_ent, hv_undef, isALNUM, isALPHA,
1523 isDIGIT, isLOWER, isSPACE, isUPPER, items, ix, LEAVE, MARK, mg_clear,
1524 mg_copy, mg_find, mg_free, mg_get, mg_len, mg_magical, mg_set, Move, na,
1525 New, Newc, Newz, newAV, newHV, newRV_inc, newRV_noinc, newSV, newSViv,
1526 newSVnv, newSVpv, newSVrv, newSVsv, newXS, newXSproto, Nullav, Nullch,
1527 Nullcv, Nullhv, Nullsv, ORIGMARK, perl_alloc, perl_call_argv,
1528 perl_call_method, perl_call_pv, perl_call_sv, perl_construct,
1529 perl_destruct, perl_eval_sv, perl_free, perl_get_av, perl_get_cv,
1530 perl_get_hv, perl_get_sv, perl_parse, perl_require_pv, perl_run, POPi,
1531 POPl, POPp, POPn, POPs, PUSHMARK, PUSHi, PUSHn, PUSHp, PUSHs, PUTBACK,
1532 Renew, Renewc, RETVAL, safefree, safemalloc, saferealloc, savepv, savepvn,
1533 SAVETMPS, SP, SPAGAIN, ST, strEQ, strGE, strGT, strLE, strLT, strNE,
1534 strnEQ, strnNE, sv_2mortal, sv_bless, sv_catpv, sv_catpvn, sv_catsv,
1535 sv_cmp, sv_cmp, SvCUR, SvCUR_set, sv_dec, sv_dec, SvEND, sv_eq, SvGROW,
1536 sv_grow, sv_inc, SvIOK, SvIOK_off, SvIOK_on, SvIOK_only, SvIOK_only,
1537 SvIOKp, sv_isa, SvIV, sv_isobject, SvIVX, SvLEN, sv_len, sv_len, sv_magic,
1538 sv_mortalcopy, SvOK, sv_newmortal, sv_no, SvNIOK, SvNIOK_off, SvNIOKp,
1539 SvNOK, SvNOK_off, SvNOK_on, SvNOK_only, SvNOK_only, SvNOKp, SvNV, SvNVX,
1540 SvPOK, SvPOK_off, SvPOK_on, SvPOK_only, SvPOK_only, SvPOKp, SvPV, SvPVX,
1541 SvREFCNT, SvREFCNT_dec, SvREFCNT_inc, SvROK, SvROK_off, SvROK_on, SvRV,
1542 sv_setiv, sv_setnv, sv_setpv, sv_setpvn, sv_setref_iv, sv_setref_nv,
1543 sv_setref_pv, sv_setref_pvn, sv_setsv, SvSTASH, SVt_IV, SVt_PV, SVt_PVAV,
1544 SVt_PVCV, SVt_PVHV, SVt_PVMG, SVt_NV, SvTRUE, SvTYPE, svtype, SvUPGRADE,
1545 sv_upgrade, sv_undef, sv_unref, sv_usepvn, sv_yes, THIS, toLOWER, toUPPER,
1546 warn, XPUSHi, XPUSHn, XPUSHp, XPUSHs, XS, XSRETURN, XSRETURN_EMPTY,
1547 XSRETURN_IV, XSRETURN_NO, XSRETURN_NV, XSRETURN_PV, XSRETURN_UNDEF,
1548 XSRETURN_YES, XST_mIV, XST_mNV, XST_mNO, XST_mPV, XST_mUNDEF, XST_mYES,
1549 XS_VERSION, XS_VERSION_BOOTCHECK, Zero
1555 =head2 perlcall - Perl calling conventions from C
1559 An Error Handler, An Event Driven Program
1561 =item THE PERL_CALL FUNCTIONS
1563 B<perl_call_sv>, B<perl_call_pv>, B<perl_call_method>, B<perl_call_argv>
1581 =item Determining the Context
1585 =item KNOWN PROBLEMS
1591 =item No Parameters, Nothing returned
1593 =item Passing Parameters
1595 =item Returning a Scalar
1597 =item Returning a list of values
1599 =item Returning a list in a scalar context
1601 =item Returning Data from Perl via the parameter list
1605 =item Using G_KEEPERR
1607 =item Using perl_call_sv
1609 =item Using perl_call_argv
1611 =item Using perl_call_method
1615 =item Using Perl to dispose of temporaries
1617 =item Strategies for storing Callback Context Information
1619 1. Ignore the problem - Allow only 1 callback, 2. Create a sequence of
1620 callbacks - hard wired limit, 3. Use a parameter to map to the Perl
1623 =item Alternate Stack Manipulation
1633 =head1 PRAGMA DOCUMENTATION
1635 =head2 blib - Use MakeMaker's uninstalled version of a package
1645 =head2 diagnostics - Perl compiler pragma to force verbose warning
1654 =item The C<diagnostics> Pragma
1656 =item The I<splain> Program
1668 =head2 integer - Perl pragma to compute arithmetic in integer instead of
1675 =head2 less - perl pragma to request less of something from the compiler
1681 =head2 lib - manipulate @INC at compile time
1689 =item ADDING DIRECTORIES TO @INC
1691 =item DELETING DIRECTORIES FROM @INC
1693 =item RESTORING ORIGINAL @INC
1701 =head2 locale - Perl pragma to use and avoid POSIX locales for built-in
1708 =head2 ops - Perl pragma to restrict unsafe operations when compiling
1716 =head2 overload - Package for overloading perl operations
1720 =item CAVEAT SCRIPTOR
1726 =item Declaration of overloaded functions
1728 =item Calling Conventions for Binary Operations
1730 FALSE, TRUE, C<undef>
1732 =item Calling Conventions for Unary Operations
1734 =item Overloadable Operations
1736 I<Arithmetic operations>, I<Comparison operations>, I<Bit operations>,
1737 I<Increment and decrement>, I<Transcendental functions>, I<Boolean, string
1738 and numeric conversion>, I<Special>
1740 =item Inheritance and overloading
1742 Strings as values of C<use overload> directive, Overloading of an operation
1743 is inherited by derived classes
1747 =item SPECIAL SYMBOLS FOR C<use overload>
1755 C<undef>, TRUE, defined, but FALSE
1757 =item Copy Constructor
1763 =item MAGIC AUTOGENERATION
1765 I<Assignment forms of arithmetic operations>, I<Conversion operations>,
1766 I<Increment and decrement>, C<abs($a)>, I<Unary minus>, I<Negation>,
1767 I<Concatenation>, I<Comparison operations>, I<Copy operator>
1771 =item Run-time Overloading
1773 =item Public functions
1775 overload::StrVal(arg), overload::Overloaded(arg), overload::Method(obj,op)
1777 =item IMPLEMENTATION
1785 =head2 sigtrap - Perl pragma to enable simple signal handling
1795 =item SIGNAL HANDLERS
1797 B<stack-trace>, B<die>, B<handler> I<your-handler>
1801 B<normal-signals>, B<error-signals>, B<old-interface-signals>
1805 B<untrapped>, B<any>, I<signal>, I<number>
1811 =head2 strict - Perl pragma to restrict unsafe constructs
1817 C<strict refs>, C<strict vars>, C<strict subs>
1819 =head2 subs - Perl pragma to predeclare sub names
1825 =head2 vars - Perl pragma to predeclare global variable names
1831 =head1 MODULE DOCUMENTATION
1833 =head2 AnyDBM_File - provide framework for multiple DBMs
1841 =item DBM Comparisons
1849 =head2 AutoLoader - load functions only on demand
1861 =item Package Lexicals
1863 =item AutoLoader vs. SelfLoader
1869 =head2 AutoSplit - split a package for autoloading
1879 =head2 Benchmark - benchmark running times of code
1891 =item Standard Exports
1893 timeit(COUNT, CODE), timethis, timethese, timediff, timestr
1895 =item Optional Exports
1907 =item MODIFICATION HISTORY
1909 =head2 Bundle::CPAN - A bundle to play with all the other modules on CPAN
1919 =head2 CPAN - query, download and build perl modules from CPAN sites
1927 =item Interactive Mode
1929 Searching for authors, bundles, distribution files and modules, make, test,
1930 install, clean modules or distributions, readme, look module or
1939 =item ProgrammerE<39>s interface
1949 =item Floppy, Zip, and all that Jazz
1955 o conf E<lt>scalar optionE<gt>, o conf E<lt>scalar optionE<gt>
1956 E<lt>valueE<gt>, o conf E<lt>list optionE<gt>, o conf E<lt>list optionE<gt>
1957 [shift|pop], o conf E<lt>list optionE<gt> [unshift|push|splice]
1970 =head2 CPAN::FirstTime - Utility for CPAN::Config file Initialization
1976 =head2 CPANox, CPAN::Nox - Wrapper around CPAN.pm without using any XS
1985 =head2 Carp, carp - warn of errors (from perspective of caller)
1991 =head2 Class::Template - struct/member template builder
1999 Example 1, Example 2
2003 =head2 Config - access Perl configuration information
2009 myconfig(), config_sh(), config_vars(@names)
2017 =head2 Cwd, getcwd - get pathname of current working directory
2023 =head2 DB_File - Perl5 access to Berkeley DB
2029 B<DB_HASH>, B<DB_BTREE>, B<DB_RECNO>
2033 =item How does DB_File interface to Berkeley DB?
2035 =item Opening a Berkeley DB Database File
2037 =item Default Parameters
2039 =item In Memory Databases
2047 =item A Simple Example.
2055 =item Changing the BTREE sort order
2057 =item Handling duplicate keys
2059 =item The get_dup method.
2061 =item Matching Partial Keys
2069 =item The bval option
2071 =item A Simple Example
2075 B<$X-E<gt>push(list) ;>, B<$value = $X-E<gt>pop ;>, B<$X-E<gt>shift>,
2076 B<$X-E<gt>unshift(list) ;>, B<$X-E<gt>length>
2078 =item Another Example
2082 =item THE API INTERFACE
2084 B<$status = $X-E<gt>get($key, $value [, $flags]) ;>, B<$status =
2085 $X-E<gt>put($key, $value [, $flags]) ;>, B<$status = $X-E<gt>del($key [,
2086 $flags]) ;>, B<$status = $X-E<gt>fd ;>, B<$status = $X-E<gt>seq($key,
2087 $value, $flags) ;>, B<$status = $X-E<gt>sync([$flags]) ;>
2089 =item HINTS AND TIPS
2093 =item Locking Databases
2095 =item Sharing databases with C applications
2097 =item The untie gotcha
2101 =item COMMON QUESTIONS
2105 =item Why is there Perl source in my database?
2107 =item How do I store complex data structures with DB_File?
2109 =item What does "Invalid Argument" mean?
2111 =item What does "Bareword 'DB_File' not allowed" mean?
2125 =head2 Devel::SelfStubber - generate stubs for a SelfLoading module
2131 =head2 DirHandle - supply object methods for directory handles
2137 =head2 DynaLoader - Dynamically load C libraries into Perl code
2143 @dl_library_path, @dl_resolve_using, @dl_require_symbols, @dl_librefs,
2144 @dl_modules, dl_error(), $dl_debug, dl_findfile(), dl_expandspec(),
2145 dl_load_file(), dl_loadflags(), dl_find_symbol(),
2146 dl_find_symbol_anywhere(), dl_undef_symbols(), dl_install_xsub(),
2151 =head2 English - use nice English (or awk) names for ugly punctuation
2158 =head2 Env - perl module that imports environment variables
2166 =head2 Exporter - Implements default import method for modules
2174 =item Selecting What To Export
2176 =item Specialised Import Lists
2178 =item Module Version Checking
2180 =item Managing Unknown Symbols
2182 =item Tag Handling Utility Functions
2186 =head2 ExtUtils::Embed - Utilities for embedding Perl in C/C++ applications
2196 xsinit(), Examples, ldopts(), Examples, perl_inc(), ccflags(), ccdlflags(),
2197 ccopts(), xsi_header(), xsi_protos(@modules), xsi_body(@modules)
2205 =head2 ExtUtils::Install - install files from here to there
2211 =head2 ExtUtils::Liblist - determine libraries to use and how to use them
2217 For static extensions, For dynamic extensions, For dynamic extensions
2223 =item LDLOADLIBS and LD_RUN_PATH
2233 =item VMS implementation
2239 =head2 ExtUtils::MM_OS2 - methods to override UN*X behaviour in
2246 =head2 ExtUtils::MM_Unix - methods used by ExtUtils::MakeMaker
2256 =item Preloaded methods
2258 canonpath, catdir, catfile, curdir, rootdir, updir
2260 =item SelfLoaded methods
2262 c_o (o), cflags (o), clean (o), const_cccmd (o), const_config (o),
2263 const_loadlibs (o), constants (o), depend (o), dir_target (o), dist (o),
2264 dist_basics (o), dist_ci (o), dist_core (o), dist_dir (o), dist_test (o),
2265 dlsyms (o), dynamic (o), dynamic_bs (o), dynamic_lib (o), exescan,
2266 extliblist, file_name_is_absolute, find_perl
2268 =item Methods to actually produce chunks of text for the Makefile
2270 force (o), guess_name, has_link_code, init_dirscan, init_main, init_others,
2271 install (o), installbin (o), libscan (o), linkext (o), lsdir, macro (o),
2272 makeaperl (o), makefile (o), manifypods (o), maybe_command,
2273 maybe_command_in_dirs, needs_linking (o), nicetext, parse_version, pasthru
2274 (o), path, perl_script, perldepend (o), pm_to_blib, post_constants (o),
2275 post_initialize (o), postamble (o), prefixify, processPL (o), realclean
2276 (o), replace_manpage_separator, static (o), static_lib (o), staticmake (o),
2277 subdir_x (o), subdirs (o), test (o), test_via_harness (o), test_via_script
2278 (o), tool_autosplit (o), tools_other (o), tool_xsubpp (o), top_targets (o),
2279 writedoc, xs_c (o), xs_o (o)
2285 =head2 ExtUtils::MM_VMS - methods to override UN*X behaviour in
2294 =item Methods always loaded
2296 eliminate_macros, fixpath, catdir, catfile, wraplist, curdir (override),
2297 rootdir (override), updir (override)
2299 =item SelfLoaded methods
2301 guess_name (override), find_perl (override), path (override), maybe_command
2302 (override), maybe_command_in_dirs (override), perl_script (override),
2303 file_name_is_absolute (override), replace_manpage_separator, init_others
2304 (override), constants (override), cflags (override), const_cccmd
2305 (override), pm_to_blib (override), tool_autosplit (override), tool_sxubpp
2306 (override), xsubpp_version (override), tools_other (override), dist
2307 (override), c_o (override), xs_c (override), xs_o (override), top_targets
2308 (override), dlsyms (override), dynamic_lib (override), dynamic_bs
2309 (override), static_lib (override), manifypods (override), processPL
2310 (override), installbin (override), subdir_x (override), clean (override),
2311 realclean (override), dist_basics (override), dist_core (override),
2312 dist_dir (override), dist_test (override), install (override), perldepend
2313 (override), makefile (override), test (override), test_via_harness
2314 (override), test_via_script (override), makeaperl (override), nicetext
2319 =head2 ExtUtils::MakeMaker - create an extension Makefile
2327 =item How To Write A Makefile.PL
2329 =item Default Makefile Behaviour
2337 =item PREFIX and LIB attribute
2341 =item Static Linking of a new Perl Binary
2343 =item Determination of Perl Library and Installation Locations
2345 =item Which architecture dependent directory?
2347 =item Using Attributes and Parameters
2349 C, CONFIG, CONFIGURE, DEFINE, DIR, DISTNAME, DL_FUNCS, DL_VARS,
2350 EXCLUDE_EXT, EXE_FILES, NO_VC, FIRST_MAKEFILE, FULLPERL, H, INC,
2351 INCLUDE_EXT, INSTALLARCHLIB, INSTALLBIN, INSTALLDIRS, INSTALLMAN1DIR,
2352 INSTALLMAN3DIR, INSTALLPRIVLIB, INSTALLSCRIPT, INSTALLSITELIB,
2353 INSTALLSITEARCH, INST_ARCHLIB, INST_BIN, INST_EXE, INST_LIB, INST_MAN1DIR,
2354 INST_MAN3DIR, INST_SCRIPT, LDFROM, LIBPERL_A, LIB, LIBS, LINKTYPE,
2355 MAKEAPERL, MAKEFILE, MAN1PODS, MAN3PODS, MAP_TARGET, MYEXTLIB, NAME,
2356 NEEDS_LINKING, NOECHO, NORECURS, OBJECT, OPTIMIZE, PERL, PERLMAINCC,
2357 PERL_ARCHLIB, PERL_LIB, PERL_SRC, PL_FILES, PM, PMLIBDIRS, PREFIX,
2358 PREREQ_PM, SKIP, TYPEMAPS, VERSION, VERSION_FROM, XS, XSOPT, XSPROTOARG,
2361 =item Additional lowercase attributes
2363 clean, depend, dist, dynamic_lib, installpm, linkext, macro, realclean,
2366 =item Overriding MakeMaker Methods
2368 =item Hintsfile support
2370 =item Distribution Support
2372 make distcheck, make skipcheck, make distclean, make manifest,
2373 make distdir, make tardist, make dist, make uutardist, make
2374 shdist, make zipdist, make ci
2382 =head2 ExtUtils::Manifest - utilities to write and check a MANIFEST file
2392 =item GLOBAL VARIABLES
2396 C<Not in MANIFEST:> I<file>, C<No such file:> I<file>, C<MANIFEST:> I<$!>,
2397 C<Added to MANIFEST:> I<file>
2403 =head2 ExtUtils::Miniperl, writemain - write the C code for perlmain.c
2411 =head2 ExtUtils::Mkbootstrap - make a bootstrap file for use by DynaLoader
2417 =head2 ExtUtils::Mksymlists - write linker options files for dynamic
2424 NAME, DL_FUNCS, DL_VARS, FILE, FUNCLIST, DLBASE
2430 =head2 ExtUtils::testlib - add blib/* directories to @INC
2436 =head2 Fcntl - load the C Fcntl.h defines
2444 =item EXPORTED SYMBOLS
2446 =head2 File::Basename, fileparse - split a pathname into pieces
2452 fileparse_set_fstype, fileparse
2456 C<basename>, C<dirname>
2458 =head2 File::CheckTree, validate - run many filetest checks on a tree
2464 =head2 File::Compare - Compare files or filehandles
2474 =head2 File::Copy - Copy files or filehandles
2482 =item Special behavior if C<syscopy> is defined (VMS and OS/2)
2484 rmscopy($from,$to[,$date_flag])
2492 =head2 File::Find, find - traverse a file tree
2498 =head2 File::Path - create or remove a series of directories
2508 =head2 File::stat - by-name interface to Perl's built-in stat() functions
2518 =head2 FileCache - keep more files open than the system permits
2526 =head2 FileHandle - supply object methods for filehandles
2532 $fh->print, $fh->printf, $fh->getline, $fh->getlines
2536 =head2 FindBin - Locate directory of original perl script
2542 =item EXPORTABLE VARIABLES
2552 =head2 GDBM_File - Perl5 access to the gdbm library.
2564 =head2 Getopt::Long, GetOptions - extended processing of command line
2571 E<lt>noneE<gt>, !, =s, :s, =i, :i, =f, :f
2575 =item Linkage specification
2577 =item Aliases and abbreviations
2579 =item Non-option call-back routine
2581 =item Option starters
2591 =item CONFIGURATION OPTIONS
2593 default, auto_abbrev, getopt_compat, require_order, permute, bundling
2594 (default: reset), bundling_override (default: reset), ignore_case
2595 (default: set), ignore_case_always (default: reset), pass_through (default:
2596 reset), debug (default: reset)
2598 =item OTHER USEFUL VARIABLES
2600 $Getopt::Long::VERSION, $Getopt::Long::error
2602 =head2 Getopt::Std, getopt - Process single-character switches with switch
2609 =head2 I18N::Collate - compare 8-bit scalar data according to the current
2616 =head2 IO - load various IO modules
2622 =head2 IO::File - supply object methods for filehandles
2630 new ([ ARGS ] ), new_tmpfile
2634 open( FILENAME [,MODE [,PERMS]] )
2640 =head2 IO::Handle - supply object methods for I/O handles
2648 new (), new_from_fd ( FD, MODE )
2652 $fh->getline, $fh->getlines, $fh->fdopen ( FD, MODE ), $fh->write ( BUF,
2653 LEN [, OFFSET }\] ), $fh->opened, $fh->untaint
2663 =head2 IO::Pipe, IO::pipe - supply object methods for pipes
2671 new ( [READER, WRITER] )
2675 reader ([ARGS]), writer ([ARGS]), handles ()
2683 =head2 IO::Seekable - supply seek based methods for I/O objects
2693 =head2 IO::Select - OO interface to the select system call
2705 add ( HANDLES ), remove ( HANDLES ), exists ( HANDLE ), handles, can_read (
2706 [ TIMEOUT ] ), can_write ( [ TIMEOUT ] ), has_error ( [ TIMEOUT ] ), count
2707 (), bits(), bits(), select ( READ, WRITE, ERROR [, TIMEOUT ] )
2715 =head2 IO::Socket - Object interface to socket communications
2727 accept([PKG]), timeout([VAL]), sockopt(OPT [, VAL]), sockdomain, socktype,
2734 =item IO::Socket::INET
2738 sockaddr (), sockport (), sockhost (), peeraddr (), peerport (), peerhost
2741 =item IO::Socket::UNIX
2745 hostpath(), peerpath()
2755 =head2 IO::lib::IO::File, IO::File - supply object methods for filehandles
2763 new ([ ARGS ] ), new_tmpfile
2767 open( FILENAME [,MODE [,PERMS]] )
2773 =head2 IO::lib::IO::Handle, IO::Handle - supply object methods for I/O
2782 new (), new_from_fd ( FD, MODE )
2786 $fh->getline, $fh->getlines, $fh->fdopen ( FD, MODE ), $fh->write ( BUF,
2787 LEN [, OFFSET }\] ), $fh->opened, $fh->untaint
2797 =head2 IO::lib::IO::Pipe, IO::pipe - supply object methods for pipes
2805 new ( [READER, WRITER] )
2809 reader ([ARGS]), writer ([ARGS]), handles ()
2817 =head2 IO::lib::IO::Seekable, IO::Seekable - supply seek based methods for
2828 =head2 IO::lib::IO::Select, IO::Select - OO interface to the select system
2841 add ( HANDLES ), remove ( HANDLES ), exists ( HANDLE ), handles, can_read (
2842 [ TIMEOUT ] ), can_write ( [ TIMEOUT ] ), has_error ( [ TIMEOUT ] ), count
2843 (), bits(), bits(), select ( READ, WRITE, ERROR [, TIMEOUT ] )
2851 =head2 IO::lib::IO::Socket, IO::Socket - Object interface to socket
2864 accept([PKG]), timeout([VAL]), sockopt(OPT [, VAL]), sockdomain, socktype,
2871 =item IO::Socket::INET
2875 sockaddr (), sockport (), sockhost (), peeraddr (), peerport (), peerhost
2878 =item IO::Socket::UNIX
2882 hostpath(), peerpath()
2892 =head2 IPC::Open2, open2 - open a process for both reading and writing
2902 =head2 IPC::Open3, open3 - open a process for reading, writing, and error
2911 =head2 Math::BigFloat - Arbitrary length float math package
2917 number format, Error returns 'NaN', Division is computed to
2923 =head2 Math::BigInt - Arbitrary size integer math package
2929 Canonical notation, Input, Output
2937 =head2 Math::Complex - complex numbers and associated mathematical
2948 =item STRINGIFICATION
2956 =head2 NDBM_File - Tied access to ndbm files
2962 =head2 Net::Ping - check a remote host for reachability
2972 Net::Ping->new([$proto [, $def_timeout [, $bytes]]]);, $p->ping($host [,
2973 $timeout]);, $p->close();, pingecho($host [, $timeout]);
2981 =head2 Net::hostent - by-name interface to Perl's built-in gethost*()
2994 =head2 Net::netent - by-name interface to Perl's built-in getnet*()
3007 =head2 Net::protoent - by-name interface to Perl's built-in getproto*()
3018 =head2 Net::servent - by-name interface to Perl's built-in getserv*()
3031 =head2 ODBM_File - Tied access to odbm files
3037 =head2 Opcode - Disable named opcodes when compiling perl code
3047 =item Operator Names and Operator Lists
3049 an operator name (opname), an operator tag name (optag), a negated opname
3050 or optag, an operator set (opset)
3052 =item Opcode Functions
3054 opcodes, opset (OP, ...), opset_to_ops (OPSET), opset_to_hex (OPSET),
3055 full_opset, empty_opset, invert_opset (OPSET), verify_opset (OPSET, ...),
3056 define_optag (OPTAG, OPSET), opmask_add (OPSET), opmask, opdesc (OP, ...),
3059 =item Manipulating Opsets
3063 =item Predefined Opcode Tags
3065 :base_core, :base_mem, :base_loop, :base_io, :base_orig, :base_math,
3066 :default, :filesys_read, :sys_db, :browse, :filesys_open, :filesys_write,
3067 :subprocess, :ownprocess, :others, :still_to_be_decided, :dangerous
3073 =head2 Opcode::Safe, Safe - Compile and execute code in restricted
3080 a new namespace, an operator mask
3086 =item RECENT CHANGES
3088 =item Methods in class Safe
3090 permit (OP, ...), permit_only (OP, ...), deny (OP, ...), deny_only (OP,
3091 ...), trap (OP, ...), untrap (OP, ...), share (NAME, ...), share_from
3092 (PACKAGE, ARRAYREF), varglob (VARNAME), reval (STRING), rdo (FILENAME),
3093 root (NAMESPACE), mask (MASK)
3095 =item Some Safety Issues
3097 Memory, CPU, Snooping, Signals, State Changes
3103 =head2 Opcode::ops, ops - Perl pragma to restrict unsafe operations when
3112 =head2 POSIX - Perl interface to IEEE Std 1003.1
3124 _exit, abort, abs, access, acos, alarm, asctime, asin, assert, atan, atan2,
3125 atexit, atof, atoi, atol, bsearch, calloc, ceil, chdir, chmod, chown,
3126 clearerr, clock, close, closedir, cos, cosh, creat, ctermid, ctime,
3127 cuserid, difftime, div, dup, dup2, errno, execl, execle, execlp, execv,
3128 execve, execvp, exit, exp, fabs, fclose, fcntl, fdopen, feof, ferror,
3129 fflush, fgetc, fgetpos, fgets, fileno, floor, fmod, fopen, fork, fpathconf,
3130 fprintf, fputc, fputs, fread, free, freopen, frexp, fscanf, fseek, fsetpos,
3131 fstat, ftell, fwrite, getc, getchar, getcwd, getegid, getenv, geteuid,
3132 getgid, getgrgid, getgrnam, getgroups, getlogin, getpgrp, getpid, getppid,
3133 getpwnam, getpwuid, gets, getuid, gmtime, isalnum, isalpha, isatty,
3134 iscntrl, isdigit, isgraph, islower, isprint, ispunct, isspace, isupper,
3135 isxdigit, kill, labs, ldexp, ldiv, link, localeconv, localtime, log, log10,
3136 longjmp, lseek, malloc, mblen, mbstowcs, mbtowc, memchr, memcmp, memcpy,
3137 memmove, memset, mkdir, mkfifo, mktime, modf, nice, offsetof, open,
3138 opendir, pathconf, pause, perror, pipe, pow, printf, putc, putchar, puts,
3139 qsort, raise, rand, read, readdir, realloc, remove, rename, rewind,
3140 rewinddir, rmdir, scanf, setgid, setjmp, setlocale, setpgid, setsid,
3141 setuid, sigaction, siglongjmp, sigpending, sigprocmask, sigsetjmp,
3142 sigsuspend, sin, sinh, sleep, sprintf, sqrt, srand, sscanf, stat, strcat,
3143 strchr, strcmp, strcoll, strcpy, strcspn, strerror, strftime, strlen,
3144 strncat, strncmp, strncpy, stroul, strpbrk, strrchr, strspn, strstr,
3145 strtod, strtok, strtol, strtoul, strxfrm, sysconf, system, tan, tanh,
3146 tcdrain, tcflow, tcflush, tcgetpgrp, tcsendbreak, tcsetpgrp, time, times,
3147 tmpfile, tmpnam, tolower, toupper, ttyname, tzname, tzset, umask, uname,
3148 ungetc, unlink, utime, vfprintf, vprintf, vsprintf, wait, waitpid,
3149 wcstombs, wctomb, write
3155 =item POSIX::SigAction
3161 new, addset, delset, emptyset, fillset, ismember
3163 =item POSIX::Termios
3165 new, getattr, getcc, getcflag, getiflag, getispeed, getlflag, getoflag,
3166 getospeed, setattr, setcc, setcflag, setiflag, setispeed, setlflag,
3167 setoflag, setospeed, Baud rate values, Terminal interface values, c_cc
3168 field values, c_cflag field values, c_iflag field values, c_lflag field
3169 values, c_oflag field values
3173 =item PATHNAME CONSTANTS
3177 =item POSIX CONSTANTS
3181 =item SYSTEM CONFIGURATION
3239 =head2 Pod::Text - convert POD data to formatted ASCII text
3249 =head2 SDBM_File - Tied access to sdbm files
3255 =head2 Safe - Compile and execute code in restricted compartments
3261 a new namespace, an operator mask
3267 =item RECENT CHANGES
3269 =item Methods in class Safe
3271 permit (OP, ...), permit_only (OP, ...), deny (OP, ...), deny_only (OP,
3272 ...), trap (OP, ...), untrap (OP, ...), share (NAME, ...), share_from
3273 (PACKAGE, ARRAYREF), varglob (VARNAME), reval (STRING), rdo (FILENAME),
3274 root (NAMESPACE), mask (MASK)
3276 =item Some Safety Issues
3278 Memory, CPU, Snooping, Signals, State Changes
3284 =head2 Search::Dict, look - search for key in dictionary file
3290 =head2 SelectSaver - save and restore selected file handle
3296 =head2 SelfLoader - load functions only on demand
3304 =item The __DATA__ token
3306 =item SelfLoader autoloading
3308 =item Autoloading and package lexicals
3310 =item SelfLoader and AutoLoader
3312 =item __DATA__, __END__, and the FOOBAR::DATA filehandle.
3314 =item Classes and inherited methods.
3318 =item Multiple packages and fully qualified subroutine names
3320 =head2 Shell - run shell commands transparently within perl
3328 =head2 Socket, sockaddr_in, sockaddr_un, inet_aton, inet_ntoa - load the C
3329 socket.h defines and structure manipulators
3335 inet_aton HOSTNAME, inet_ntoa IP_ADDRESS, INADDR_ANY, INADDR_BROADCAST,
3336 INADDR_LOOPBACK, INADDR_NONE, sockaddr_in PORT, ADDRESS, sockaddr_in
3337 SOCKADDR_IN, pack_sockaddr_in PORT, IP_ADDRESS, unpack_sockaddr_in
3338 SOCKADDR_IN, sockaddr_un PATHNAME, sockaddr_un SOCKADDR_UN,
3339 pack_sockaddr_un PATH, unpack_sockaddr_un SOCKADDR_UN
3341 =head2 Symbol - manipulate Perl symbols and their names
3347 =head2 Sys::Hostname - Try every conceivable way to get hostname
3355 =head2 Syslog, Sys::Syslog, openlog, closelog, setlogmask, syslog - Perl
3356 interface to the UNIX syslog(3) calls
3362 openlog $ident, $logopt, $facility, syslog $priority, $format, @args,
3363 setlogmask $mask_priority, closelog
3373 =head2 Term::Cap - Perl termcap interface
3381 =head2 Term::Complete - Perl word completion module
3387 E<lt>tabE<gt>Attempts word completion.
3388 Cannot be changed, ^D, ^U, E<lt>delE<gt>, E<lt>bsE<gt>
3396 =head2 Term::ReadLine - Perl interface to various C<readline> packages. If
3397 no real package is found, substitutes stubs instead of basic functions.
3403 =item Minimal set of supported functions
3405 C<ReadLine>, C<new>, C<readline>, C<addhistory>, C<IN>, $C<OUT>,
3406 C<MinLine>, C<findConsole>, Attribs, C<Features>
3408 =item Additional supported functions
3414 =head2 Test::Harness - run perl standard test scripts with statistics
3422 =item The test script output
3430 C<All tests successful.\nFiles=%d, Tests=%d, %s>, C<FAILED tests
3431 %s\n\tFailed %d/%d tests, %.2f%% okay.>, C<Test returned status %d (wstat
3432 %d)>, C<Failed 1 test, %.2f%% okay. %s>, C<Failed %d/%d tests, %.2f%% okay.
3441 =head2 Text::Abbrev, abbrev - create an abbreviation table from a list
3449 =head2 Text::ParseWords - parse text into an array of tokens
3457 =head2 Text::Soundex - Implementation of the Soundex Algorithm as Described
3470 =head2 Text::Tabs -- expand and unexpand tabs per the unix expand(1) and
3481 =head2 Text::Wrap - line wrapping to form simple paragraphs
3493 =head2 Tie::Hash, Tie::StdHash - base class definitions for tied hashes
3499 TIEHASH classname, LIST, STORE this, key, value, FETCH this, key, FIRSTKEY
3500 this, NEXTKEY this, lastkey, EXISTS this, key, DELETE this, key, CLEAR this
3504 =item MORE INFORMATION
3506 =head2 Tie::RefHash - use references as hash keys
3520 =head2 Tie::Scalar, Tie::StdScalar - base class definitions for tied
3527 TIESCALAR classname, LIST, FETCH this, STORE this, value, DESTROY this
3529 =item MORE INFORMATION
3531 =head2 Tie::SubstrHash - Fixed-table-size, fixed-key-length hashing
3539 =head2 Time::Local - efficiently compute time from local and GMT time
3545 =head2 Time::gmtime - by-name interface to Perl's built-in gmtime()
3556 =head2 Time::localtime - by-name interface to Perl's built-in localtime()
3567 =head2 Time::tm - internal object used by Time::gmtime and Time::localtime
3575 =head2 UNIVERSAL - base class for ALL classes (blessed references)
3581 isa ( TYPE ), can ( METHOD ), VERSION ( [ REQUIRE ] ), isa ( REF, TYPE )
3583 =head2 User::grent - by-name interface to Perl's built-in getgr*()
3594 =head2 User::pwent - by-name interface to Perl's built-in getpw*()
3605 =head1 AUXILIARY DOCUMENTATION
3607 Here should be listed all the extra programs' documentation, but they
3608 don't all have manual pages yet:
3630 Larry Wall <F<larry@wall.org>>, with the help of oodles