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 New Opcode Module and Revised Safe Module
55 =item Fixed Parsing of $$<digit>, &$<digit>, etc.
57 =item Internal Change: FileHandle Deprecated
59 =item Internal Change: PerlIO internal IO abstraction interface
61 =item New and Changed Built-in Variables
65 =item New and Changed Built-in Functions
67 delete on slices, flock, printf and sprintf, keys as an lvalue, my() in
68 Control Structures, unpack() and pack(), use VERSION, use Module VERSION
69 LIST, prototype(FUNCTION), $_ as Default, C<m//g> does not trigger a pos()
70 reset on failure, nested C<sub{}> closures work now, formats work right on
73 =item New Built-in Methods
75 isa(CLASS), can(METHOD), VERSION( [NEED] )
77 =item TIEHANDLE Now Supported
79 TIEHANDLE classname, LIST, PRINT this, LIST, READLINE this, DESTROY this
81 =item Malloc Enhancements
83 -DEMERGENCY_SBRK, -DPACK_MALLOC, -DTWO_POT_OPTIMIZE
85 =item Miscellaneous Efficiency Enhancements
91 use blib, use blib 'dir', use locale, use ops, use vmsish
97 =item Installation Directories
101 =item Module Information Summary
111 =item Overridden Built-ins
115 =item Utility Changes
121 C<void> XSUBs now default to returning nothing
125 =item C Language API Changes
127 C<gv_fetchmethod> and C<perl_call_sv>, Extended API for manipulating hashes
129 =item Documentation Changes
131 L<perldelta>, L<perllocale>, L<perltoot>, L<perlapio>, L<perldebug>,
134 =item New Diagnostics
136 "my" variable %s masks earlier declaration in same scope, %s argument is
137 not a HASH element or slice, Allocation too large: %lx, Allocation too
138 large, Attempt to free non-existent shared string, Attempt to use reference
139 as lvalue in substr, Unsupported function fork, Ill-formed logical name
140 |%s| in prime_env_iter, Can't use bareword ("%s") as %s ref while "strict
141 refs" in use, Constant subroutine %s redefined, Died, Integer overflow in
142 hex number, Integer overflow in octal number, Name "%s::%s" used only once:
143 possible typo, Null picture in formline, Offset outside string, Stub found
144 while resolving method `%s' overloading `%s' in package `%s', Cannot
145 resolve method `%s' overloading `%s' in package `s', Out of memory!, Out of
146 memory during request for %s, Possible attempt to put comments in qw()
147 list, Possible attempt to separate words with commas, Scalar value @%s{%s}
148 better written as $%s{%s}, untie attempted while %d inner references still
149 exist, Value of %s construct can be "0"; test with defined(), Variable "%s"
150 may be unavailable, Variable "%s" will not stay shared, Warning:
151 something's wrong, Got an error from DosAllocMem, Malformed PERLLIB_PREFIX,
152 PERL_SH_DIR too long, Process terminated by SIG%s
160 =head2 perldata - Perl data types
172 =item Scalar value constructors
174 =item List value constructors
176 =item Typeglobs and Filehandles
180 =head2 perlsyn - Perl syntax
188 =item Simple statements
190 =item Compound statements
198 =item Basic BLOCKs and Switch Statements
202 =item PODs: Embedded Documentation
204 =item Plain Old Comments (Not!)
208 =head2 perlop - Perl operators and precedence
216 =item Terms and List Operators (Leftward)
218 =item The Arrow Operator
220 =item Auto-increment and Auto-decrement
224 =item Symbolic Unary Operators
226 =item Binding Operators
228 =item Multiplicative Operators
230 =item Additive Operators
232 =item Shift Operators
234 =item Named Unary Operators
236 =item Relational Operators
238 =item Equality Operators
242 =item Bitwise Or and Exclusive Or
244 =item C-style Logical And
246 =item C-style Logical Or
250 =item Conditional Operator
252 =item Assignment Operators
256 =item List Operators (Rightward)
262 =item Logical or and Exclusive Or
264 =item C Operators Missing From Perl
266 unary &, unary *, (TYPE)
268 =item Quote and Quote-like Operators
270 =item Regexp Quote-Like Operators
272 ?PATTERN?, m/PATTERN/gimosx, /PATTERN/gimosx, q/STRING/, C<'STRING'>,
273 qq/STRING/, "STRING", qx/STRING/, `STRING`, qw/STRING/,
274 s/PATTERN/REPLACEMENT/egimosx, tr/SEARCHLIST/REPLACEMENTLIST/cds,
275 y/SEARCHLIST/REPLACEMENTLIST/cds
279 =item Constant Folding
281 =item Integer Arithmetic
285 =head2 perlre - Perl regular expressions
293 =item Regular Expressions
295 (?#text), (?:regexp), (?=regexp), (?!regexp), (?imsx)
299 =item Version 8 Regular Expressions
301 =item WARNING on \1 vs $1
305 =head2 perlrun - how to execute the Perl interpreter
315 B<-0>[I<digits>], B<-a>, B<-c>, B<-d>, B<-d:>I<foo>, B<-D>I<number>,
316 B<-D>I<list>, B<-e> I<commandline>, B<-F>I<pattern>, B<-h>,
317 B<-i>[I<extension>], B<-I>I<directory>, B<-l>[I<octnum>],
318 B<-m>[B<->]I<module>, B<-M>[B<->]I<module>, B<-M>[B<->]I<'module ...'>,
319 B<-[mM]>[B<->]I<module=arg[,arg]...>, B<-n>, B<-p>, B<-P>, B<-s>, B<-S>,
320 B<-T>, B<-u>, B<-U>, B<-v>, B<-V>, B<-V:>I<name>, B<-w>, B<-x> I<directory>
326 HOME, LOGDIR, PATH, PERL5LIB, PERLLIB, PERL5DB, PERL_DEBUG_MSTATS,
329 =head2 perlfunc - Perl builtin functions
333 I<THERE IS NO GENERAL RULE FOR CONVERTING A LIST INTO A SCALAR!>
337 =item Perl Functions by Category
339 Functions for SCALARs or strings, Regular expressions and pattern matching,
340 Numeric functions, Functions for real @ARRAYs, Functions for list data,
341 Functions for real %HASHes, Input and output functions, Functions for fixed
342 length data or records, Functions for filehandles, files, or directories,
343 Keywords related to the control flow of your perl program, Keywords related
344 to scoping, Miscellaneous functions, Functions for processes and process
345 groups, Keywords related to perl modules, Keywords related to classes and
346 object-orientedness, Low-level socket functions, System V interprocess
347 communication functions, Fetching user and group info, Fetching network
348 info, Time-related functions, Functions new in perl5, Functions obsoleted
351 =item Alphabetical Listing of Perl Functions
353 -I<X> FILEHANDLE, -I<X> EXPR, -I<X>, abs VALUE, abs, accept
354 NEWSOCKET,GENERICSOCKET, alarm SECONDS, alarm, atan2 Y,X, bind SOCKET,NAME,
355 binmode FILEHANDLE, bless REF,CLASSNAME, bless REF, caller EXPR, caller,
356 chdir EXPR, chmod LIST, chomp VARIABLE, chomp LIST, chomp, chop VARIABLE,
357 chop LIST, chop, chown LIST, chr NUMBER, chr, chroot FILENAME, chroot,
358 close FILEHANDLE, closedir DIRHANDLE, connect SOCKET,NAME, continue BLOCK,
359 cos EXPR, crypt PLAINTEXT,SALT, dbmclose HASH, dbmopen HASH,DBNAME,MODE,
360 defined EXPR, defined, delete EXPR, die LIST, do BLOCK, do
361 SUBROUTINE(LIST), do EXPR, dump LABEL, each HASH, eof FILEHANDLE, eof (),
362 eof, eval EXPR, eval BLOCK, exec LIST, exists EXPR, exit EXPR, exp EXPR,
363 exp, fcntl FILEHANDLE,FUNCTION,SCALAR, fileno FILEHANDLE, flock
364 FILEHANDLE,OPERATION, fork, format, formline PICTURE, LIST, getc
365 FILEHANDLE, getc, getlogin, getpeername SOCKET, getpgrp PID, getppid,
366 getpriority WHICH,WHO, getpwnam NAME, getgrnam NAME, gethostbyname NAME,
367 getnetbyname NAME, getprotobyname NAME, getpwuid UID, getgrgid GID,
368 getservbyname NAME,PROTO, gethostbyaddr ADDR,ADDRTYPE, getnetbyaddr
369 ADDR,ADDRTYPE, getprotobynumber NUMBER, getservbyport PORT,PROTO, getpwent,
370 getgrent, gethostent, getnetent, getprotoent, getservent, setpwent,
371 setgrent, sethostent STAYOPEN, setnetent STAYOPEN, setprotoent STAYOPEN,
372 setservent STAYOPEN, endpwent, endgrent, endhostent, endnetent,
373 endprotoent, endservent, getsockname SOCKET, getsockopt
374 SOCKET,LEVEL,OPTNAME, glob EXPR, glob, gmtime EXPR, goto LABEL, goto EXPR,
375 goto &NAME, grep BLOCK LIST, grep EXPR,LIST, hex EXPR, hex, import, index
376 STR,SUBSTR,POSITION, index STR,SUBSTR, int EXPR, int, ioctl
377 FILEHANDLE,FUNCTION,SCALAR, join EXPR,LIST, keys HASH, kill LIST, last
378 LABEL, last, lc EXPR, lc, lcfirst EXPR, lcfirst, length EXPR, length, link
379 OLDFILE,NEWFILE, listen SOCKET,QUEUESIZE, local EXPR, localtime EXPR, log
380 EXPR, log, lstat FILEHANDLE, lstat EXPR, lstat, m//, map BLOCK LIST, map
381 EXPR,LIST, mkdir FILENAME,MODE, msgctl ID,CMD,ARG, msgget KEY,FLAGS, msgsnd
382 ID,MSG,FLAGS, msgrcv ID,VAR,SIZE,TYPE,FLAGS, my EXPR, next LABEL, next, no
383 Module LIST, oct EXPR, oct, open FILEHANDLE,EXPR, open FILEHANDLE, opendir
384 DIRHANDLE,EXPR, ord EXPR, ord, pack TEMPLATE,LIST, package NAMESPACE, pipe
385 READHANDLE,WRITEHANDLE, pop ARRAY, pop, pos SCALAR, pos, print FILEHANDLE
386 LIST, print LIST, print, printf FILEHANDLE FORMAT, LIST, printf FORMAT,
387 LIST, prototype FUNCTION, push ARRAY,LIST, q/STRING/, qq/STRING/,
388 qx/STRING/, qw/STRING/, quotemeta EXPR, quotemeta, rand EXPR, rand, read
389 FILEHANDLE,SCALAR,LENGTH,OFFSET, read FILEHANDLE,SCALAR,LENGTH, readdir
390 DIRHANDLE, readlink EXPR, readlink, recv SOCKET,SCALAR,LEN,FLAGS, redo
391 LABEL, redo, ref EXPR, ref, rename OLDNAME,NEWNAME, require EXPR, require,
392 reset EXPR, reset, return LIST, reverse LIST, rewinddir DIRHANDLE, rindex
393 STR,SUBSTR,POSITION, rindex STR,SUBSTR, rmdir FILENAME, rmdir, s///, scalar
394 EXPR, seek FILEHANDLE,POSITION,WHENCE, seekdir DIRHANDLE,POS, select
395 FILEHANDLE, select, select RBITS,WBITS,EBITS,TIMEOUT, semctl
396 ID,SEMNUM,CMD,ARG, semget KEY,NSEMS,FLAGS, semop KEY,OPSTRING, send
397 SOCKET,MSG,FLAGS,TO, send SOCKET,MSG,FLAGS, setpgrp PID,PGRP, setpriority
398 WHICH,WHO,PRIORITY, setsockopt SOCKET,LEVEL,OPTNAME,OPTVAL, shift ARRAY,
399 shift, shmctl ID,CMD,ARG, shmget KEY,SIZE,FLAGS, shmread ID,VAR,POS,SIZE,
400 shmwrite ID,STRING,POS,SIZE, shutdown SOCKET,HOW, sin EXPR, sin, sleep
401 EXPR, sleep, socket SOCKET,DOMAIN,TYPE,PROTOCOL, socketpair
402 SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL, sort SUBNAME LIST, sort BLOCK LIST,
403 sort LIST, splice ARRAY,OFFSET,LENGTH,LIST, splice ARRAY,OFFSET,LENGTH,
404 splice ARRAY,OFFSET, split /PATTERN/,EXPR,LIMIT, split /PATTERN/,EXPR,
405 split /PATTERN/, split, sprintf FORMAT, LIST, sqrt EXPR, sqrt, srand EXPR,
406 srand, stat FILEHANDLE, stat EXPR, stat, study SCALAR, study, sub BLOCK,
407 sub NAME, sub NAME BLOCK, substr EXPR,OFFSET,LEN, substr EXPR,OFFSET,
408 symlink OLDFILE,NEWFILE, syscall LIST, sysopen FILEHANDLE,FILENAME,MODE,
409 sysopen FILEHANDLE,FILENAME,MODE,PERMS, sysread
410 FILEHANDLE,SCALAR,LENGTH,OFFSET, sysread FILEHANDLE,SCALAR,LENGTH, system
411 LIST, syswrite FILEHANDLE,SCALAR,LENGTH,OFFSET, syswrite
412 FILEHANDLE,SCALAR,LENGTH, tell FILEHANDLE, tell, telldir DIRHANDLE, tie
413 VARIABLE,CLASSNAME,LIST, tied VARIABLE, time, times, tr///, truncate
414 FILEHANDLE,LENGTH, truncate EXPR,LENGTH, uc EXPR, uc, ucfirst EXPR,
415 ucfirst, umask EXPR, umask, undef EXPR, undef, unlink LIST, unlink, unpack
416 TEMPLATE,EXPR, untie VARIABLE, unshift ARRAY,LIST, use Module LIST, use
417 Module, use Module VERSION LIST, use VERSION, utime LIST, values HASH, vec
418 EXPR,OFFSET,BITS, wait, waitpid PID,FLAGS, wantarray, warn LIST, write
419 FILEHANDLE, write EXPR, write, y///
423 =head2 perlvar - Perl predefined variables
429 =item Predefined Names
431 $ARG, $_, $E<lt>I<digit>E<gt>, $MATCH, $&, $PREMATCH, $`, $POSTMATCH, $',
432 $LAST_PAREN_MATCH, $+, $MULTILINE_MATCHING, $*, input_line_number HANDLE
433 EXPR, $INPUT_LINE_NUMBER, $NR, $, input_record_separator HANDLE EXPR,
434 $INPUT_RECORD_SEPARATOR, $RS, $/, autoflush HANDLE EXPR, $OUTPUT_AUTOFLUSH,
435 $|, output_field_separator HANDLE EXPR, $OUTPUT_FIELD_SEPARATOR, $OFS, $,,
436 output_record_separator HANDLE EXPR, $OUTPUT_RECORD_SEPARATOR, $ORS, $\,
437 $LIST_SEPARATOR, $", $SUBSCRIPT_SEPARATOR, $SUBSEP, $;, $OFMT, $#,
438 format_page_number HANDLE EXPR, $FORMAT_PAGE_NUMBER, $%,
439 format_lines_per_page HANDLE EXPR, $FORMAT_LINES_PER_PAGE, $=,
440 format_lines_left HANDLE EXPR, $FORMAT_LINES_LEFT, $-, format_name HANDLE
441 EXPR, $FORMAT_NAME, $~, format_top_name HANDLE EXPR, $FORMAT_TOP_NAME, $^,
442 format_line_break_characters HANDLE EXPR, $FORMAT_LINE_BREAK_CHARACTERS,
443 $:, format_formfeed HANDLE EXPR, $FORMAT_FORMFEED, $^L, $ACCUMULATOR, $^A,
444 $CHILD_ERROR, $?, $OS_ERROR, $ERRNO, $!, $EXTENDED_OS_ERROR, $^E,
445 $EVAL_ERROR, $@, $PROCESS_ID, $PID, $$, $REAL_USER_ID, $UID, $<,
446 $EFFECTIVE_USER_ID, $EUID, $>, $REAL_GROUP_ID, $GID, $(,
447 $EFFECTIVE_GROUP_ID, $EGID, $), $PROGRAM_NAME, $0, $[, $PERL_VERSION, $],
448 $DEBUGGING, $^D, $SYSTEM_FD_MAX, $^F, $^H, $INPLACE_EDIT, $^I, $OSNAME,
449 $^O, $PERLDB, $^P, $BASETIME, $^T, $WARNING, $^W, $EXECUTABLE_NAME, $^X,
450 $ARGV, @ARGV, @INC, %INC, $ENV{expr}, $SIG{expr}
454 =head2 perlsub - Perl subroutines
462 =item Private Variables via my()
464 =item Temporary Values via local()
466 =item Passing Symbol Table Entries (typeglobs)
468 =item Pass by Reference
472 =item Constant Functions
474 =item Overriding Builtin Functions
482 =head2 perlmod - Perl modules (packages)
492 =item Package Constructors and Destructors
502 =item THE PERL MODULE LIBRARY
506 =item Pragmatic Modules
508 blib, diagnostics, integer, less, lib, locale, ops, overload, sigtrap,
509 strict, subs, vmsish, vars
511 =item Standard Modules
513 AnyDBM_File, AutoLoader, AutoSplit, Benchmark, CPAN, CPAN::FirstTime,
514 CPAN::Nox, Carp, Class::Template, Config, Cwd, DB_File, Devel::SelfStubber,
515 DirHandle, DynaLoader, English, Env, Exporter, ExtUtils::Embed,
516 ExtUtils::Install, ExtUtils::Liblist, ExtUtils::MM_OS2, ExtUtils::MM_Unix,
517 ExtUtils::MM_VMS, ExtUtils::MakeMaker, ExtUtils::Manifest,
518 ExtUtils::Mkbootstrap, ExtUtils::Mksymlists, ExtUtils::testlib, Fcntl,
519 File::Basename, File::CheckTree, File::Compare, File::Copy, File::Find,
520 File::Path, File::stat, FileCache, FileHandle, FindBin, GDBM_File,
521 Getopt::Long, Getopt::Std, I18N::Collate, IO, IO::File, IO::Handle,
522 IO::Pipe, IO::Seekable, IO::Select, IO::Socket, IPC::Open2, IPC::Open3,
523 Math::BigFloat, Math::BigInt, Math::Complex, NDBM_File, Net::Ping,
524 Net::hostent, Net::netent, Net::protoent, Net::servent, Opcode, Pod::Text,
525 POSIX, SDBM_File, Safe, Search::Dict, SelectSaver, SelfLoader, Shell,
526 Socket, Symbol, Sys::Hostname, Sys::Syslog, Term::Cap, Term::Complete,
527 Term::ReadLine, Test::Harness, Text::Abbrev, Text::ParseWords,
528 Text::Soundex, Text::Tabs, Text::Wrap, Tie::Hash, Tie::RefHash,
529 Tie::Scalar, Tie::SubstrHash, Time::Local, Time::gmtime, Time::localtime,
530 Time::tm, UNIVERSAL, User::grent, User::pwent
532 =item Extension Modules
538 Language Extensions and Documentation Tools, Development Support, Operating
539 System Interfaces, Networking, Device Control (modems) and InterProcess
540 Communication, Data Types and Data Type Utilities, Database Interfaces,
541 User Interfaces, Interfaces to / Emulations of Other Programming Languages,
542 File Names, File Systems and File Locking (see also File Handles), String
543 Processing, Language Text Processing, Parsing, and Searching, Option,
544 Argument, Parameter, and Configuration File Processing,
545 Internationalization and Locale, Authentication, Security, and Encryption,
546 World Wide Web, HTML, HTTP, CGI, MIME, Server and Daemon Utilities,
547 Archiving and Compression, Images, Pixmap and Bitmap Manipulation, Drawing,
548 and Graphing, Mail and Usenet News, Control Flow Utilities (callbacks and
549 exceptions etc), File Handle and Input/Output Stream Utilities,
550 Miscellaneous Modules
552 =item Modules: Creation, Use, and Abuse
556 =item Guidelines for Module Creation
558 Do similar modules already exist in some form?, Try to design the new
559 module to be easy to extend and reuse, Some simple style guidelines, Select
560 what to export, Select a name for the module, Have you got it right?,
561 README and other Additional Files, A description of the
562 module/package/extension etc, A copyright notice - see below, Prerequisites
563 - what else you may need to have, How to build it - possible changes to
564 Makefile.PL etc, How to install it, Recent changes in this release,
565 especially incompatibilities, Changes / enhancements you plan to make in
566 the future, Adding a Copyright Notice, Give the module a
567 version/issue/release number, How to release and distribute a module, Take
568 care when changing a released module
570 =item Guidelines for Converting Perl 4 Library Scripts into Modules
572 There is no requirement to convert anything, Consider the implications,
573 Make the most of the opportunity, The pl2pm utility will get you started,
574 Adds the standard Module prologue lines, Converts package specifiers from '
575 to ::, Converts die(...) to croak(...), Several other minor changes
577 =item Guidelines for Reusing Application Code
579 Complete applications rarely belong in the Perl Module Library, Many
580 applications contain some perl code which could be reused, Break-out the
581 reusable code into one or more separate module files, Take the opportunity
582 to reconsider and redesign the interfaces, In some cases the 'application'
583 can then be reduced to a small
587 =head2 perlform - Perl formats
593 =item Format Variables
603 =item Accessing Formatting Internals
609 =head2 perllocale - Perl locale handling (internationalization and
614 =item PREPARING TO USE LOCALES
620 =item The use locale pragma
622 =item The setlocale function
624 =item The localeconv function
628 =item LOCALE CATEGORIES
632 =item Category LC_COLLATE: Collation
634 =item Category LC_CTYPE: Character Types
636 =item Category LC_NUMERIC: Numeric Formatting
638 =item Category LC_MONETARY: Formatting of monetary amounts
642 =item Other categories
648 B<Comparison operators> (C<lt>, C<le>, C<ge>, C<gt> and C<cmp>):,
649 B<Case-mapping interpolation> (with C<\l>, C<\L>, C<\u> or <\U>),
650 B<Matching operator> (C<m//>):, B<Substitution operator> (C<s///>):,
651 B<In-memory formatting function> (sprintf()):, B<Output formatting
652 functions> (printf() and write()):, B<Case-mapping functions> (lc(),
653 lcfirst(), uc(), ucfirst()):, B<POSIX locale-dependent functions>
654 (localeconv(), strcoll(),strftime(), strxfrm()):, B<POSIX character class
655 tests> (isalnum(), isalpha(), isdigit(),isgraph(), islower(), isprint(),
656 ispunct(), isspace(), isupper(),
661 PERL_BADLANG, LC_ALL, LC_CTYPE, LC_COLLATE, LC_MONETARY, LC_NUMERIC,
668 =item Backward compatibility
670 =item I18N:Collate obsolete
672 =item Sort speed and memory use impacts
674 =item write() and LC_NUMERIC
676 =item Freely available locale definitions
680 =item An imperfect standard
696 =head2 perlref - Perl references and nested data structures
702 =item Symbolic references
704 =item Not-so-symbolic references
712 =head2 perldsc - Perl Data Structures Cookbook
716 arrays of arrays, hashes of arrays, arrays of hashes, hashes of hashes,
717 more elaborate constructs
721 =item COMMON MISTAKES
723 =item CAVEAT ON PRECEDENCE
725 =item WHY YOU SHOULD ALWAYS C<use strict>
735 =item Declaration of a LIST OF LISTS
737 =item Generation of a LIST OF LISTS
739 =item Access and Printing of a LIST OF LISTS
743 =item HASHES OF LISTS
747 =item Declaration of a HASH OF LISTS
749 =item Generation of a HASH OF LISTS
751 =item Access and Printing of a HASH OF LISTS
755 =item LISTS OF HASHES
759 =item Declaration of a LIST OF HASHES
761 =item Generation of a LIST OF HASHES
763 =item Access and Printing of a LIST OF HASHES
767 =item HASHES OF HASHES
771 =item Declaration of a HASH OF HASHES
773 =item Generation of a HASH OF HASHES
775 =item Access and Printing of a HASH OF HASHES
779 =item MORE ELABORATE RECORDS
783 =item Declaration of MORE ELABORATE RECORDS
785 =item Declaration of a HASH OF COMPLEX RECORDS
787 =item Generation of a HASH OF COMPLEX RECORDS
797 =head2 perllol, perlLoL - Manipulating Lists of Lists in Perl
801 =item Declaration and Access of Lists of Lists
803 =item Growing Your Own
805 =item Access and Printing
813 =head2 perltoot - Tom's object-oriented tutorial for perl
817 =item Creating a Class
821 =item Object Representation
823 =item Class Interface
825 =item Constructors and Instance Methods
827 =item Planning for the Future: Better Constructors
831 =item Other Object Methods
839 =item Accessing Class Data
841 =item Debugging Methods
843 =item Class Destructors
845 =item Documenting the Interface
855 =item Overridden Methods
857 =item Multiple Inheritance
859 =item UNIVERSAL: The Root of All Objects
863 =item Alternate Object Representations
867 =item Arrays as Objects
869 =item Closures as Objects
873 =item AUTOLOAD: Proxy Methods
877 =item Autoloaded Data Methods
879 =item Inherited Autoloaded Data Methods
883 =item Metaclassical Tools
887 =item Class::Template
889 =item Data Members as Variables
893 =item Object Terminology
903 =item Acknowledgments
907 =head2 perlobj - Perl objects
913 =item An Object is Simply a Reference
915 =item A Class is Simply a Package
917 =item A Method is Simply a Subroutine
919 =item Method Invocation
921 =item Default UNIVERSAL methods
923 isa(CLASS), can(METHOD), VERSION( [NEED] )
931 =item Two-Phased Garbage Collection
937 =head2 perltie - how to hide an object class in a simple variable
947 TIESCALAR classname, LIST, FETCH this, STORE this, value, DESTROY this
951 TIEARRAY classname, LIST, FETCH this, index, STORE this, index, value,
956 USER, HOME, CLOBBER, LIST, TIEHASH classname, LIST, FETCH this, key, STORE
957 this, key, value, DELETE this, key, CLEAR this, EXISTS this, key, FIRSTKEY
958 this, NEXTKEY this, lastkey, DESTROY this
960 =item Tying FileHandles
962 TIEHANDLE classname, LIST, PRINT this, LIST, READLINE this, DESTROY this
964 =item The C<untie> Gotcha
974 =head2 perlbot - Bag'o Object Tricks (the BOT)
978 =item OO SCALING TIPS
980 =item INSTANCE VARIABLES
982 =item SCALAR INSTANCE VARIABLES
984 =item INSTANCE VARIABLE INHERITANCE
986 =item OBJECT RELATIONSHIPS
988 =item OVERRIDING SUPERCLASS METHODS
990 =item USING RELATIONSHIP WITH SDBM
992 =item THINKING OF CODE REUSE
994 =item CLASS CONTEXT AND THE OBJECT
996 =item INHERITING A CONSTRUCTOR
1000 =head2 perlipc - Perl interprocess communication (signals, fifos, pipes,
1001 safe subprocesses, sockets, and semaphores)
1009 =item Using open() for IPC
1013 =item Safe Pipe Opens
1015 =item Bidirectional Communication
1019 =item Sockets: Client/Server Communication
1023 =item Internet TCP Clients and Servers
1025 =item Unix-Domain TCP Clients and Servers
1027 =item UDP: Message Passing
1043 =head2 perldebug - Perl debugging
1047 =item The Perl Debugger
1051 =item Debugger Commands
1053 h [command], p expr, x expr, V [pkg [vars]], X [vars], T, s [expr], n
1054 [expr], E<lt>CRE<gt>, c [line|sub], l, l min+incr, l min-max, l line, l
1055 subname, -, w [line], f filename, /pattern/, ?pattern?, L, S [[!]pattern],
1056 t, t expr, b [line] [condition], b subname [condition], b postpone subname
1057 [condition], b load filename, b compile subname, d [line], D, a [line]
1058 command, A, O [opt[=val]] [opt"val"] [opt?].., C<recallCommand>,
1059 C<ShellBang>, C<pager>, C<tkRunning>, C<signalLevel>, C<warnLevel>,
1060 C<dieLevel>, C<AutoTrace>, C<LineInfo>, C<inhibit_exit>, C<PrintRet>,
1061 C<frame>, C<maxTraceLen>, C<arrayDepth>, C<hashDepth>, C<compactDump>,
1062 C<veryCompact>, C<globPrint>, C<DumpDBFiles>, C<DumpPackages>, C<quote>,
1063 C<HighBit>, C<undefPrint>, C<UsageOnly>, C<TTY>, C<noTTY>, C<ReadLine>,
1064 C<NonStop>, E<lt> [ command ], E<lt>E<lt> command, E<gt> command,
1065 E<gt>E<gt> command, { [ command ], {{ command, ! number, ! -number, !
1066 pattern, !! cmd, H -number, q or ^D, R, |dbcmd, ||dbcmd, = [alias value],
1067 command, m expr, m package
1069 =item Debugger input/output
1071 Prompt, Multi-line commands, Stack backtrace, Listing, Frame listing
1073 =item Debugging compile-time statements
1075 =item Debugger Customization
1077 =item Readline Support
1079 =item Editor Support for Debugging
1081 =item The Perl Profiler
1083 =item Debugger support in perl
1085 =item Debugger Internals
1087 =item Other resources
1093 =head2 perldiag - various Perl diagnostics
1097 =head2 perlsec - Perl security
1103 =item Laundering and Detecting Tainted Data
1105 =item Switches On the "#!" Line
1107 =item Cleaning Up Your Path
1113 =head2 perltrap - Perl traps for the unwary
1129 =item Perl4 to Perl5 Traps
1131 Discontinuance, Deprecation, and BugFix traps, Parsing Traps, Numerical
1132 Traps, General data type traps, Context Traps - scalar, list contexts,
1133 Precedence Traps, General Regular Expression Traps using s///, etc,
1134 Subroutine, Signal, Sorting Traps, OS Traps, DBM Traps, Unclassified Traps
1136 =item Discontinuance, Deprecation, and BugFix traps
1138 Discontinuance, Deprecation, BugFix, Discontinuance, Discontinuance,
1139 Discontinuance, BugFix, Discontinuance, Discontinuance, BugFix,
1140 Discontinuance, Deprecation, Discontinuance
1144 Parsing, Parsing, Parsing
1146 =item Numerical Traps
1148 Numerical, Numerical, Numerical
1150 =item General data type traps
1152 (Arrays), (Arrays), (Hashes), (Globs), (Scalar String), (Constants),
1153 (Scalars), (Variable Suicide)
1155 =item Context Traps - scalar, list contexts
1157 (list context), (scalar context), (scalar context), (list, builtin)
1159 =item Precedence Traps
1161 Precedence, Precedence, Precedence, Precedence, Precedence, Precedence,
1164 =item General Regular Expression Traps using s///, etc.
1166 Regular Expression, Regular Expression, Regular Expression, Regular
1167 Expression, Regular Expression, Regular Expression, Regular Expression,
1170 =item Subroutine, Signal, Sorting Traps
1172 Subroutine calls provide lvalue context to arguments, (Signals), (Sort
1173 Subroutine), warn() won't let you specify a filehandle
1179 =item Interpolation Traps
1181 Interpolation, Interpolation, Interpolation, Interpolation, Interpolation,
1182 Interpolation, Interpolation, Interpolation, Interpolation
1188 =item Unclassified Traps
1194 =head2 perlstyle - Perl style guide
1198 =head2 perlpod - plain old documentation
1202 =item Embedding Pods in Perl Modules
1204 =item Common Pod Pitfalls
1210 =head2 perlbook - Perl book information
1214 =head2 perlembed - how to embed perl in your C program
1222 B<Use C from Perl?>, B<Use a UNIX program from Perl?>, B<Use Perl from
1223 Perl?>, B<Use C from C?>, B<Use Perl from C?>
1227 =item Compiling your C program
1229 =item Adding a Perl interpreter to your C program
1231 =item Calling a Perl subroutine from your C program
1233 =item Evaluating a Perl statement from your C program
1235 =item Performing Perl pattern matches and substitutions from your C program
1237 =item Fiddling with the Perl stack from your C program
1239 =item Maintaining a persistent interpreter
1241 =item Maintaining multiple interpreter instances
1243 =item Using Perl modules, which themselves use C libraries, from your C
1254 =head2 perlapio - perl's IO abstraction interface.
1260 B<PerlIO *>, B<PerlIO_stdin()>, B<PerlIO_stdout()>, B<PerlIO_stderr()>,
1261 B<PerlIO_open(path, mode)>, B<PerlIO_fdopen(fd,mode)>,
1262 B<PerlIO_printf(f,fmt,...)>, B<PerlIO_vprintf(f,fmt,a)>,
1263 B<PerlIO_stdoutf(fmt,...)>, B<PerlIO_read(f,buf,count)>,
1264 B<PerlIO_write(f,buf,count)>, B<PerlIO_close(f)>, B<PerlIO_puts(s,f)>,
1265 B<PerlIO_putc(c,f)>, B<PerlIO_ungetc(c,f)>, B<PerlIO_getc(f)>,
1266 B<PerlIO_eof(f)>, B<PerlIO_error(f)>, B<PerlIO_fileno(f)>,
1267 B<PerlIO_clearerr(f)>, B<PerlIO_flush(f)>, B<PerlIO_tell(f)>,
1268 B<PerlIO_seek(f,o,w)>, B<PerlIO_getpos(f,p)>, B<PerlIO_setpos(f,p)>,
1269 B<PerlIO_rewind(f)>, B<PerlIO_tmpfile()>
1273 =item Co-existence with stdio
1275 B<PerlIO_importFILE(f,flags)>, B<PerlIO_exportFILE(f,flags)>,
1276 B<PerlIO_findFILE(f)>, B<PerlIO_releaseFILE(p,f)>, B<PerlIO_setlinebuf(f)>,
1277 B<PerlIO_has_cntptr(f)>, B<PerlIO_get_ptr(f)>, B<PerlIO_get_cnt(f)>,
1278 B<PerlIO_canset_cnt(f)>, B<PerlIO_fast_gets(f)>,
1279 B<PerlIO_set_ptrcnt(f,p,c)>, B<PerlIO_set_cnt(f,c)>, B<PerlIO_has_base(f)>,
1280 B<PerlIO_get_base(f)>, B<PerlIO_get_bufsiz(f)>
1284 =head2 perlxs - XS language reference manual
1294 =item The Anatomy of an XSUB
1296 =item The Argument Stack
1298 =item The RETVAL Variable
1300 =item The MODULE Keyword
1302 =item The PACKAGE Keyword
1304 =item The PREFIX Keyword
1306 =item The OUTPUT: Keyword
1308 =item The CODE: Keyword
1310 =item The INIT: Keyword
1312 =item The NO_INIT Keyword
1314 =item Initializing Function Parameters
1316 =item Default Parameter Values
1318 =item The PREINIT: Keyword
1320 =item The SCOPE: Keyword
1322 =item The INPUT: Keyword
1324 =item Variable-length Parameter Lists
1326 =item The PPCODE: Keyword
1328 =item Returning Undef And Empty Lists
1330 =item The REQUIRE: Keyword
1332 =item The CLEANUP: Keyword
1334 =item The BOOT: Keyword
1336 =item The VERSIONCHECK: Keyword
1338 =item The PROTOTYPES: Keyword
1340 =item The PROTOTYPE: Keyword
1342 =item The ALIAS: Keyword
1344 =item The INCLUDE: Keyword
1346 =item The CASE: Keyword
1348 =item The & Unary Operator
1350 =item Inserting Comments and C Preprocessor Directives
1352 =item Using XS With C++
1354 =item Interface Strategy
1356 =item Perl Objects And C Structures
1368 =head2 perlxstut, perlXStut - Tutorial for XSUBs
1374 =item VERSION CAVEAT
1376 =item DYNAMIC VERSUS STATIC
1382 =item WHAT HAS GONE ON?
1384 =item WRITING GOOD TEST SCRIPTS
1388 =item WHAT'S NEW HERE?
1390 =item INPUT AND OUTPUT PARAMETERS
1392 =item THE XSUBPP COMPILER
1394 =item THE TYPEMAP FILE
1400 =item WHAT HAS HAPPENED HERE?
1402 =item SPECIFYING ARGUMENTS TO XSUBPP
1404 =item THE ARGUMENT STACK
1406 =item EXTENDING YOUR EXTENSION
1408 =item DOCUMENTING YOUR EXTENSION
1410 =item INSTALLING YOUR EXTENSION
1420 =head2 perlguts - Perl's Internal Functions
1430 =item What is an "IV"?
1432 =item Working with SV's
1434 =item What's Really Stored in an SV?
1436 =item Working with AV's
1438 =item Working with HV's
1440 =item Hash API Extensions
1444 =item Blessed References and Class Objects
1446 =item Creating New Variables
1448 =item Reference Counts and Mortality
1450 =item Stashes and Globs
1452 =item Double-Typed SV's
1454 =item Magic Variables
1456 =item Assigning Magic
1458 =item Magic Virtual Tables
1468 =item XSUB's and the Argument Stack
1470 =item Calling Perl Routines from within C Programs
1472 =item Memory Allocation
1476 =item Putting a C value on Perl stack
1480 =item Scratchpads and recursions
1490 =item Examining the tree
1492 =item Compile pass 1: check routines
1494 =item Compile pass 1a: constant folding
1496 =item Compile pass 2: context propagation
1498 =item Compile pass 3: peephole optimization
1504 AvFILL, av_clear, av_extend, av_fetch, av_len, av_make, av_pop, av_push,
1505 av_shift, av_store, av_undef, av_unshift, CLASS, Copy, croak, CvSTASH,
1506 DBsingle, DBsub, DBtrace, dMARK, dORIGMARK, dowarn, dSP, dXSARGS, dXSI32,
1507 dXSI32, ENTER, EXTEND, FREETMPS, G_ARRAY, G_DISCARD, G_EVAL, GIMME,
1508 G_NOARGS, G_SCALAR, gv_fetchmeth, gv_fetchmethod, gv_stashpv, gv_stashsv,
1509 GvSV, he_delayfree, HEf_SVKEY, he_free, HeHASH, HeKEY, HeKLEN, HePV,
1510 HeSVKEY, HeSVKEY_force, HeSVKEY_set, HeVAL, hv_clear, hv_delete,
1511 hv_delete_ent, hv_exists, hv_exists_ent, hv_fetch, hv_fetch_ent,
1512 hv_iterinit, hv_iterkey, hv_iterkeysv
1513 Returns the key as an C<SV*> from the current position of the hash
1514 iterator. The return value will always be a mortal copy of the
1515 key. Also see C<hv_iterinit>, hv_iternext, hv_iternextsv, hv_iterval,
1516 hv_magic, HvNAME, hv_store, hv_store_ent, hv_undef, isALNUM, isALPHA,
1517 isDIGIT, isLOWER, isSPACE, isUPPER, items, ix, LEAVE, MARK, mg_clear,
1518 mg_copy, mg_find, mg_free, mg_get, mg_len, mg_magical, mg_set, Move, na,
1519 New, Newc, Newz, newAV, newHV, newRV_inc, newRV_noinc, newSV, newSViv,
1520 newSVnv, newSVpv, newSVrv, newSVsv, newXS, newXSproto, Nullav, Nullch,
1521 Nullcv, Nullhv, Nullsv, ORIGMARK, perl_alloc, perl_call_argv,
1522 perl_call_method, perl_call_pv, perl_call_sv, perl_construct,
1523 perl_destruct, perl_eval_sv, perl_free, perl_get_av, perl_get_cv,
1524 perl_get_hv, perl_get_sv, perl_parse, perl_require_pv, perl_run, POPi,
1525 POPl, POPp, POPn, POPs, PUSHMARK, PUSHi, PUSHn, PUSHp, PUSHs, PUTBACK,
1526 Renew, Renewc, RETVAL, safefree, safemalloc, saferealloc, savepv, savepvn,
1527 SAVETMPS, SP, SPAGAIN, ST, strEQ, strGE, strGT, strLE, strLT, strNE,
1528 strnEQ, strnNE, sv_2mortal, sv_bless, sv_catpv, sv_catpvn, sv_catsv,
1529 sv_cmp, sv_cmp, SvCUR, SvCUR_set, sv_dec, sv_dec, SvEND, sv_eq, SvGROW,
1530 sv_grow, sv_inc, SvIOK, SvIOK_off, SvIOK_on, SvIOK_only, SvIOK_only,
1531 SvIOKp, sv_isa, SvIV, sv_isobject, SvIVX, SvLEN, sv_len, sv_len, sv_magic,
1532 sv_mortalcopy, SvOK, sv_newmortal, sv_no, SvNIOK, SvNIOK_off, SvNIOKp,
1533 SvNOK, SvNOK_off, SvNOK_on, SvNOK_only, SvNOK_only, SvNOKp, SvNV, SvNVX,
1534 SvPOK, SvPOK_off, SvPOK_on, SvPOK_only, SvPOK_only, SvPOKp, SvPV, SvPVX,
1535 SvREFCNT, SvREFCNT_dec, SvREFCNT_inc, SvROK, SvROK_off, SvROK_on, SvRV,
1536 sv_setiv, sv_setnv, sv_setpv, sv_setpvn, sv_setref_iv, sv_setref_nv,
1537 sv_setref_pv, sv_setref_pvn, sv_setsv, SvSTASH, SVt_IV, SVt_PV, SVt_PVAV,
1538 SVt_PVCV, SVt_PVHV, SVt_PVMG, SVt_NV, SvTRUE, SvTYPE, svtype, SvUPGRADE,
1539 sv_upgrade, sv_undef, sv_unref, sv_usepvn, sv_yes, THIS, toLOWER, toUPPER,
1540 warn, XPUSHi, XPUSHn, XPUSHp, XPUSHs, XS, XSRETURN, XSRETURN_EMPTY,
1541 XSRETURN_IV, XSRETURN_NO, XSRETURN_NV, XSRETURN_PV, XSRETURN_UNDEF,
1542 XSRETURN_YES, XST_mIV, XST_mNV, XST_mNO, XST_mPV, XST_mUNDEF, XST_mYES,
1543 XS_VERSION, XS_VERSION_BOOTCHECK, Zero
1549 =head2 perlcall - Perl calling conventions from C
1553 An Error Handler, An Event Driven Program
1555 =item THE PERL_CALL FUNCTIONS
1557 B<perl_call_sv>, B<perl_call_pv>, B<perl_call_method>, B<perl_call_argv>
1575 =item Determining the Context
1579 =item KNOWN PROBLEMS
1585 =item No Parameters, Nothing returned
1587 =item Passing Parameters
1589 =item Returning a Scalar
1591 =item Returning a list of values
1593 =item Returning a list in a scalar context
1595 =item Returning Data from Perl via the parameter list
1599 =item Using G_KEEPERR
1601 =item Using perl_call_sv
1603 =item Using perl_call_argv
1605 =item Using perl_call_method
1609 =item Using Perl to dispose of temporaries
1611 =item Strategies for storing Callback Context Information
1613 1. Ignore the problem - Allow only 1 callback, 2. Create a sequence of
1614 callbacks - hard wired limit, 3. Use a parameter to map to the Perl
1617 =item Alternate Stack Manipulation
1627 =head1 PRAGMA DOCUMENTATION
1629 =head2 blib - Use MakeMaker's uninstalled version of a package
1639 =head2 diagnostics - Perl compiler pragma to force verbose warning
1648 =item The C<diagnostics> Pragma
1650 =item The I<splain> Program
1662 =head2 integer - Perl pragma to compute arithmetic in integer instead of
1669 =head2 less - perl pragma to request less of something from the compiler
1675 =head2 lib - manipulate @INC at compile time
1683 =item ADDING DIRECTORIES TO @INC
1685 =item DELETING DIRECTORIES FROM @INC
1687 =item RESTORING ORIGINAL @INC
1695 =head2 locale - Perl pragma to use and avoid POSIX locales for built-in
1702 =head2 ops - Perl pragma to restrict unsafe operations when compiling
1710 =head2 overload - Package for overloading perl operations
1714 =item CAVEAT SCRIPTOR
1720 =item Declaration of overloaded functions
1722 =item Calling Conventions for Binary Operations
1724 FALSE, TRUE, C<undef>
1726 =item Calling Conventions for Unary Operations
1728 =item Overloadable Operations
1730 I<Arithmetic operations>, I<Comparison operations>, I<Bit operations>,
1731 I<Increment and decrement>, I<Transcendental functions>, I<Boolean, string
1732 and numeric conversion>, I<Special>
1734 =item Inheritance and overloading
1736 Strings as values of C<use overload> directive, Overloading of an operation
1737 is inherited by derived classes
1741 =item SPECIAL SYMBOLS FOR C<use overload>
1749 C<undef>, TRUE, defined, but FALSE
1751 =item Copy Constructor
1757 =item MAGIC AUTOGENERATION
1759 I<Assignment forms of arithmetic operations>, I<Conversion operations>,
1760 I<Increment and decrement>, C<abs($a)>, I<Unary minus>, I<Negation>,
1761 I<Concatenation>, I<Comparison operations>, I<Copy operator>
1765 =item Run-time Overloading
1767 =item Public functions
1769 overload::StrVal(arg), overload::Overloaded(arg), overload::Method(obj,op)
1771 =item IMPLEMENTATION
1779 =head2 sigtrap - Perl pragma to enable simple signal handling
1789 =item SIGNAL HANDLERS
1791 B<stack-trace>, B<die>, B<handler> I<your-handler>
1795 B<normal-signals>, B<error-signals>, B<old-interface-signals>
1799 B<untrapped>, B<any>, I<signal>, I<number>
1805 =head2 strict - Perl pragma to restrict unsafe constructs
1811 C<strict refs>, C<strict vars>, C<strict subs>
1813 =head2 subs - Perl pragma to predeclare sub names
1819 =head2 vars - Perl pragma to predeclare global variable names
1825 =head1 MODULE DOCUMENTATION
1827 =head2 AnyDBM_File - provide framework for multiple DBMs
1835 =item DBM Comparisons
1843 =head2 AutoLoader - load functions only on demand
1855 =item Package Lexicals
1857 =item AutoLoader vs. SelfLoader
1863 =head2 AutoSplit - split a package for autoloading
1873 =head2 Benchmark - benchmark running times of code
1885 =item Standard Exports
1887 timeit(COUNT, CODE), timethis, timethese, timediff, timestr
1889 =item Optional Exports
1901 =item MODIFICATION HISTORY
1903 =head2 Bundle::CPAN - A bundle to play with all the other modules on CPAN
1913 =head2 CPAN - query, download and build perl modules from CPAN sites
1921 =item Interactive Mode
1923 Searching for authors, bundles, distribution files and modules, make, test,
1924 install, clean modules or distributions, readme, look module or
1933 =item ProgrammerE<39>s interface
1943 =item Floppy, Zip, and all that Jazz
1949 o conf E<lt>scalar optionE<gt>, o conf E<lt>scalar optionE<gt>
1950 E<lt>valueE<gt>, o conf E<lt>list optionE<gt>, o conf E<lt>list optionE<gt>
1951 [shift|pop], o conf E<lt>list optionE<gt> [unshift|push|splice]
1964 =head2 CPAN::FirstTime - Utility for CPAN::Config file Initialization
1970 =head2 CPANox, CPAN::Nox - Wrapper around CPAN.pm without using any XS
1979 =head2 Carp, carp - warn of errors (from perspective of caller)
1985 =head2 Class::Template - struct/member template builder
1993 Example 1, Example 2
1997 =head2 Config - access Perl configuration information
2003 myconfig(), config_sh(), config_vars(@names)
2011 =head2 Cwd, getcwd - get pathname of current working directory
2017 =head2 DB_File - Perl5 access to Berkeley DB
2023 B<DB_HASH>, B<DB_BTREE>, B<DB_RECNO>
2027 =item How does DB_File interface to Berkeley DB?
2029 =item Opening a Berkeley DB Database File
2031 =item Default Parameters
2033 =item In Memory Databases
2041 =item A Simple Example.
2049 =item Changing the BTREE sort order
2051 =item Handling duplicate keys
2053 =item The get_dup method.
2055 =item Matching Partial Keys
2063 =item The bval option
2065 =item A Simple Example
2069 B<$X-E<gt>push(list) ;>, B<$value = $X-E<gt>pop ;>, B<$X-E<gt>shift>,
2070 B<$X-E<gt>unshift(list) ;>, B<$X-E<gt>length>
2072 =item Another Example
2076 =item THE API INTERFACE
2078 B<$status = $X-E<gt>get($key, $value [, $flags]) ;>, B<$status =
2079 $X-E<gt>put($key, $value [, $flags]) ;>, B<$status = $X-E<gt>del($key [,
2080 $flags]) ;>, B<$status = $X-E<gt>fd ;>, B<$status = $X-E<gt>seq($key,
2081 $value, $flags) ;>, B<$status = $X-E<gt>sync([$flags]) ;>
2083 =item HINTS AND TIPS
2087 =item Locking Databases
2089 =item Sharing databases with C applications
2091 =item The untie gotcha
2095 =item COMMON QUESTIONS
2099 =item Why is there Perl source in my database?
2101 =item How do I store complex data structures with DB_File?
2103 =item What does "Invalid Argument" mean?
2105 =item What does "Bareword 'DB_File' not allowed" mean?
2119 =head2 Devel::SelfStubber - generate stubs for a SelfLoading module
2125 =head2 DirHandle - supply object methods for directory handles
2131 =head2 DynaLoader - Dynamically load C libraries into Perl code
2137 @dl_library_path, @dl_resolve_using, @dl_require_symbols, @dl_librefs,
2138 @dl_modules, dl_error(), $dl_debug, dl_findfile(), dl_expandspec(),
2139 dl_load_file(), dl_loadflags(), dl_find_symbol(),
2140 dl_find_symbol_anywhere(), dl_undef_symbols(), dl_install_xsub(),
2145 =head2 English - use nice English (or awk) names for ugly punctuation
2152 =head2 Env - perl module that imports environment variables
2160 =head2 Exporter - Implements default import method for modules
2168 =item Selecting What To Export
2170 =item Specialised Import Lists
2172 =item Module Version Checking
2174 =item Managing Unknown Symbols
2176 =item Tag Handling Utility Functions
2180 =head2 ExtUtils::Embed - Utilities for embedding Perl in C/C++ applications
2190 xsinit(), Examples, ldopts(), Examples, perl_inc(), ccflags(), ccdlflags(),
2191 ccopts(), xsi_header(), xsi_protos(@modules), xsi_body(@modules)
2199 =head2 ExtUtils::Install - install files from here to there
2205 =head2 ExtUtils::Liblist - determine libraries to use and how to use them
2211 For static extensions, For dynamic extensions, For dynamic extensions
2217 =item LDLOADLIBS and LD_RUN_PATH
2227 =item VMS implementation
2233 =head2 ExtUtils::MM_OS2 - methods to override UN*X behaviour in
2240 =head2 ExtUtils::MM_Unix - methods used by ExtUtils::MakeMaker
2250 =item Preloaded methods
2252 canonpath, catdir, catfile, curdir, rootdir, updir
2254 =item SelfLoaded methods
2256 c_o (o), cflags (o), clean (o), const_cccmd (o), const_config (o),
2257 const_loadlibs (o), constants (o), depend (o), dir_target (o), dist (o),
2258 dist_basics (o), dist_ci (o), dist_core (o), dist_dir (o), dist_test (o),
2259 dlsyms (o), dynamic (o), dynamic_bs (o), dynamic_lib (o), exescan,
2260 extliblist, file_name_is_absolute, find_perl
2262 =item Methods to actually produce chunks of text for the Makefile
2264 force (o), guess_name, has_link_code, init_dirscan, init_main, init_others,
2265 install (o), installbin (o), libscan (o), linkext (o), lsdir, macro (o),
2266 makeaperl (o), makefile (o), manifypods (o), maybe_command,
2267 maybe_command_in_dirs, needs_linking (o), nicetext, parse_version, pasthru
2268 (o), path, perl_script, perldepend (o), pm_to_blib, post_constants (o),
2269 post_initialize (o), postamble (o), prefixify, processPL (o), realclean
2270 (o), replace_manpage_separator, static (o), static_lib (o), staticmake (o),
2271 subdir_x (o), subdirs (o), test (o), test_via_harness (o), test_via_script
2272 (o), tool_autosplit (o), tools_other (o), tool_xsubpp (o), top_targets (o),
2273 writedoc, xs_c (o), xs_o (o)
2279 =head2 ExtUtils::MM_VMS - methods to override UN*X behaviour in
2288 =item Methods always loaded
2290 eliminate_macros, fixpath, catdir, catfile, wraplist, curdir (override),
2291 rootdir (override), updir (override)
2293 =item SelfLoaded methods
2295 guess_name (override), find_perl (override), path (override), maybe_command
2296 (override), maybe_command_in_dirs (override), perl_script (override),
2297 file_name_is_absolute (override), replace_manpage_separator, init_others
2298 (override), constants (override), cflags (override), const_cccmd
2299 (override), pm_to_blib (override), tool_autosplit (override), tool_sxubpp
2300 (override), xsubpp_version (override), tools_other (override), dist
2301 (override), c_o (override), xs_c (override), xs_o (override), top_targets
2302 (override), dlsyms (override), dynamic_lib (override), dynamic_bs
2303 (override), static_lib (override), manifypods (override), processPL
2304 (override), installbin (override), subdir_x (override), clean (override),
2305 realclean (override), dist_basics (override), dist_core (override),
2306 dist_dir (override), dist_test (override), install (override), perldepend
2307 (override), makefile (override), test (override), test_via_harness
2308 (override), test_via_script (override), makeaperl (override), nicetext
2313 =head2 ExtUtils::MakeMaker - create an extension Makefile
2321 =item How To Write A Makefile.PL
2323 =item Default Makefile Behaviour
2331 =item PREFIX and LIB attribute
2335 =item Static Linking of a new Perl Binary
2337 =item Determination of Perl Library and Installation Locations
2339 =item Which architecture dependent directory?
2341 =item Using Attributes and Parameters
2343 C, CONFIG, CONFIGURE, DEFINE, DIR, DISTNAME, DL_FUNCS, DL_VARS,
2344 EXCLUDE_EXT, EXE_FILES, NO_VC, FIRST_MAKEFILE, FULLPERL, H, INC,
2345 INCLUDE_EXT, INSTALLARCHLIB, INSTALLBIN, INSTALLDIRS, INSTALLMAN1DIR,
2346 INSTALLMAN3DIR, INSTALLPRIVLIB, INSTALLSCRIPT, INSTALLSITELIB,
2347 INSTALLSITEARCH, INST_ARCHLIB, INST_BIN, INST_EXE, INST_LIB, INST_MAN1DIR,
2348 INST_MAN3DIR, INST_SCRIPT, LDFROM, LIBPERL_A, LIB, LIBS, LINKTYPE,
2349 MAKEAPERL, MAKEFILE, MAN1PODS, MAN3PODS, MAP_TARGET, MYEXTLIB, NAME,
2350 NEEDS_LINKING, NOECHO, NORECURS, OBJECT, OPTIMIZE, PERL, PERLMAINCC,
2351 PERL_ARCHLIB, PERL_LIB, PERL_SRC, PL_FILES, PM, PMLIBDIRS, PREFIX,
2352 PREREQ_PM, SKIP, TYPEMAPS, VERSION, VERSION_FROM, XS, XSOPT, XSPROTOARG,
2355 =item Additional lowercase attributes
2357 clean, depend, dist, dynamic_lib, installpm, linkext, macro, realclean,
2360 =item Overriding MakeMaker Methods
2362 =item Hintsfile support
2364 =item Distribution Support
2366 make distcheck, make skipcheck, make distclean, make manifest,
2367 make distdir, make tardist, make dist, make uutardist, make
2368 shdist, make zipdist, make ci
2376 =head2 ExtUtils::Manifest - utilities to write and check a MANIFEST file
2386 =item GLOBAL VARIABLES
2390 C<Not in MANIFEST:> I<file>, C<No such file:> I<file>, C<MANIFEST:> I<$!>,
2391 C<Added to MANIFEST:> I<file>
2397 =head2 ExtUtils::Miniperl, writemain - write the C code for perlmain.c
2405 =head2 ExtUtils::Mkbootstrap - make a bootstrap file for use by DynaLoader
2411 =head2 ExtUtils::Mksymlists - write linker options files for dynamic
2418 NAME, DL_FUNCS, DL_VARS, FILE, FUNCLIST, DLBASE
2424 =head2 ExtUtils::testlib - add blib/* directories to @INC
2430 =head2 Fcntl - load the C Fcntl.h defines
2438 =item EXPORTED SYMBOLS
2440 =head2 File::Basename, fileparse - split a pathname into pieces
2446 fileparse_set_fstype, fileparse
2450 C<basename>, C<dirname>
2452 =head2 File::CheckTree, validate - run many filetest checks on a tree
2458 =head2 File::Compare - Compare files or filehandles
2468 =head2 File::Copy - Copy files or filehandles
2476 =item Special behavior if C<syscopy> is defined (VMS and OS/2)
2478 rmscopy($from,$to[,$date_flag])
2486 =head2 File::Find, find - traverse a file tree
2492 =head2 File::Path - create or remove a series of directories
2502 =head2 File::stat - by-name interface to Perl's built-in stat() functions
2512 =head2 FileCache - keep more files open than the system permits
2520 =head2 FileHandle - supply object methods for filehandles
2526 $fh->print, $fh->printf, $fh->getline, $fh->getlines
2530 =head2 FindBin - Locate directory of original perl script
2536 =item EXPORTABLE VARIABLES
2546 =head2 GDBM_File - Perl5 access to the gdbm library.
2558 =head2 Getopt::Long, GetOptions - extended processing of command line
2565 E<lt>noneE<gt>, !, =s, :s, =i, :i, =f, :f
2569 =item Linkage specification
2571 =item Aliases and abbreviations
2573 =item Non-option call-back routine
2575 =item Option starters
2585 =item CONFIGURATION VARIABLES
2587 $Getopt::Long::autoabbrev, $Getopt::Long::getopt_compat,
2588 $Getopt::Long::order, $Getopt::Long::bundling, $Getopt::Long::ignorecase,
2589 $Getopt::Long::passthrough, $Getopt::Long::VERSION, $Getopt::Long::error,
2590 $Getopt::Long::debug
2592 =head2 Getopt::Std, getopt - Process single-character switches with switch
2599 =head2 I18N::Collate - compare 8-bit scalar data according to the current
2606 =head2 IO - load various IO modules
2612 =head2 IO::File - supply object methods for filehandles
2624 open( FILENAME [,MODE [,PERMS]] )
2630 =head2 IO::Handle - supply object methods for I/O handles
2638 new (), new_from_fd ( FD, MODE )
2642 $fh->getline, $fh->getlines, $fh->fdopen ( FD, MODE ), $fh->write ( BUF,
2643 LEN [, OFFSET }\] ), $fh->opened, $fh->untaint
2653 =head2 IO::Pipe, IO::pipe - supply object methods for pipes
2661 new ( [READER, WRITER] )
2665 reader ([ARGS]), writer ([ARGS]), handles ()
2673 =head2 IO::Seekable - supply seek based methods for I/O objects
2683 =head2 IO::Select - OO interface to the select system call
2695 add ( HANDLES ), remove ( HANDLES ), exists ( HANDLE ), handles, can_read (
2696 [ TIMEOUT ] ), can_write ( [ TIMEOUT ] ), has_error ( [ TIMEOUT ] ), count
2697 (), bits(), bits(), select ( READ, WRITE, ERROR [, TIMEOUT ] )
2705 =head2 IO::Socket - Object interface to socket communications
2717 accept([PKG]), timeout([VAL]), sockopt(OPT [, VAL]), sockdomain, socktype,
2724 =item IO::Socket::INET
2728 sockaddr (), sockport (), sockhost (), peeraddr (), peerport (), peerhost
2731 =item IO::Socket::UNIX
2735 hostpath(), peerpath()
2745 =head2 IO::lib::IO::File, IO::File - supply object methods for filehandles
2757 open( FILENAME [,MODE [,PERMS]] )
2763 =head2 IO::lib::IO::Handle, IO::Handle - supply object methods for I/O
2772 new (), new_from_fd ( FD, MODE )
2776 $fh->getline, $fh->getlines, $fh->fdopen ( FD, MODE ), $fh->write ( BUF,
2777 LEN [, OFFSET }\] ), $fh->opened, $fh->untaint
2787 =head2 IO::lib::IO::Pipe, IO::pipe - supply object methods for pipes
2795 new ( [READER, WRITER] )
2799 reader ([ARGS]), writer ([ARGS]), handles ()
2807 =head2 IO::lib::IO::Seekable, IO::Seekable - supply seek based methods for
2818 =head2 IO::lib::IO::Select, IO::Select - OO interface to the select system
2831 add ( HANDLES ), remove ( HANDLES ), exists ( HANDLE ), handles, can_read (
2832 [ TIMEOUT ] ), can_write ( [ TIMEOUT ] ), has_error ( [ TIMEOUT ] ), count
2833 (), bits(), bits(), select ( READ, WRITE, ERROR [, TIMEOUT ] )
2841 =head2 IO::lib::IO::Socket, IO::Socket - Object interface to socket
2854 accept([PKG]), timeout([VAL]), sockopt(OPT [, VAL]), sockdomain, socktype,
2861 =item IO::Socket::INET
2865 sockaddr (), sockport (), sockhost (), peeraddr (), peerport (), peerhost
2868 =item IO::Socket::UNIX
2872 hostpath(), peerpath()
2882 =head2 IPC::Open2, open2 - open a process for both reading and writing
2892 =head2 IPC::Open3, open3 - open a process for reading, writing, and error
2901 =head2 Math::BigFloat - Arbitrary length float math package
2907 number format, Error returns 'NaN', Division is computed to
2913 =head2 Math::BigInt - Arbitrary size integer math package
2919 Canonical notation, Input, Output
2927 =head2 Math::Complex - complex numbers and associated mathematical
2938 =item STRINGIFICATION
2946 =head2 NDBM_File - Tied access to ndbm files
2952 =head2 Net::Ping - check a remote host for reachability
2962 Net::Ping->new([$proto [, $def_timeout [, $bytes]]]);, $p->ping($host [,
2963 $timeout]);, $p->close();, pingecho($host [, $timeout]);
2971 =head2 Net::hostent - by-name interface to Perl's built-in gethost*()
2984 =head2 Net::netent - by-name interface to Perl's built-in getnet*()
2997 =head2 Net::protoent - by-name interface to Perl's built-in getproto*()
3008 =head2 Net::servent - by-name interface to Perl's built-in getserv*()
3021 =head2 ODBM_File - Tied access to odbm files
3027 =head2 Opcode - Disable named opcodes when compiling perl code
3037 =item Operator Names and Operator Lists
3039 an operator name (opname), an operator tag name (optag), a negated opname
3040 or optag, an operator set (opset)
3042 =item Opcode Functions
3044 opcodes, opset (OP, ...), opset_to_ops (OPSET), opset_to_hex (OPSET),
3045 full_opset, empty_opset, invert_opset (OPSET), verify_opset (OPSET, ...),
3046 define_optag (OPTAG, OPSET), opmask_add (OPSET), opmask, opdesc (OP, ...),
3049 =item Manipulating Opsets
3053 =item Predefined Opcode Tags
3055 :base_core, :base_mem, :base_loop, :base_io, :base_orig, :base_math,
3056 :default, :filesys_read, :sys_db, :browse, :filesys_open, :filesys_write,
3057 :subprocess, :ownprocess, :others, :still_to_be_decided, :dangerous
3063 =head2 Opcode::Safe, Safe - Compile and execute code in restricted
3070 a new namespace, an operator mask
3076 =item RECENT CHANGES
3078 =item Methods in class Safe
3080 permit (OP, ...), permit_only (OP, ...), deny (OP, ...), deny_only (OP,
3081 ...), trap (OP, ...), untrap (OP, ...), share (NAME, ...), share_from
3082 (PACKAGE, ARRAYREF), varglob (VARNAME), reval (STRING), rdo (FILENAME),
3083 root (NAMESPACE), mask (MASK)
3085 =item Some Safety Issues
3087 Memory, CPU, Snooping, Signals, State Changes
3093 =head2 Opcode::ops, ops - Perl pragma to restrict unsafe operations when
3102 =head2 POSIX - Perl interface to IEEE Std 1003.1
3114 _exit, abort, abs, access, acos, alarm, asctime, asin, assert, atan, atan2,
3115 atexit, atof, atoi, atol, bsearch, calloc, ceil, chdir, chmod, chown,
3116 clearerr, clock, close, closedir, cos, cosh, creat, ctermid, ctime,
3117 cuserid, difftime, div, dup, dup2, errno, execl, execle, execlp, execv,
3118 execve, execvp, exit, exp, fabs, fclose, fcntl, fdopen, feof, ferror,
3119 fflush, fgetc, fgetpos, fgets, fileno, floor, fmod, fopen, fork, fpathconf,
3120 fprintf, fputc, fputs, fread, free, freopen, frexp, fscanf, fseek, fsetpos,
3121 fstat, ftell, fwrite, getc, getchar, getcwd, getegid, getenv, geteuid,
3122 getgid, getgrgid, getgrnam, getgroups, getlogin, getpgrp, getpid, getppid,
3123 getpwnam, getpwuid, gets, getuid, gmtime, isalnum, isalpha, isatty,
3124 iscntrl, isdigit, isgraph, islower, isprint, ispunct, isspace, isupper,
3125 isxdigit, kill, labs, ldexp, ldiv, link, localeconv, localtime, log, log10,
3126 longjmp, lseek, malloc, mblen, mbstowcs, mbtowc, memchr, memcmp, memcpy,
3127 memmove, memset, mkdir, mkfifo, mktime, modf, nice, offsetof, open,
3128 opendir, pathconf, pause, perror, pipe, pow, printf, putc, putchar, puts,
3129 qsort, raise, rand, read, readdir, realloc, remove, rename, rewind,
3130 rewinddir, rmdir, scanf, setgid, setjmp, setlocale, setpgid, setsid,
3131 setuid, sigaction, siglongjmp, sigpending, sigprocmask, sigsetjmp,
3132 sigsuspend, sin, sinh, sleep, sprintf, sqrt, srand, sscanf, stat, strcat,
3133 strchr, strcmp, strcoll, strcpy, strcspn, strerror, strftime, strlen,
3134 strncat, strncmp, strncpy, stroul, strpbrk, strrchr, strspn, strstr,
3135 strtod, strtok, strtol, strtoul, strxfrm, sysconf, system, tan, tanh,
3136 tcdrain, tcflow, tcflush, tcgetpgrp, tcsendbreak, tcsetpgrp, time, times,
3137 tmpfile, tmpnam, tolower, toupper, ttyname, tzname, tzset, umask, uname,
3138 ungetc, unlink, utime, vfprintf, vprintf, vsprintf, wait, waitpid,
3139 wcstombs, wctomb, write
3145 =item POSIX::SigAction
3151 new, addset, delset, emptyset, fillset, ismember
3153 =item POSIX::Termios
3155 new, getattr, getcc, getcflag, getiflag, getispeed, getlflag, getoflag,
3156 getospeed, setattr, setcc, setcflag, setiflag, setispeed, setlflag,
3157 setoflag, setospeed, Baud rate values, Terminal interface values, c_cc
3158 field values, c_cflag field values, c_iflag field values, c_lflag field
3159 values, c_oflag field values
3163 =item PATHNAME CONSTANTS
3167 =item POSIX CONSTANTS
3171 =item SYSTEM CONFIGURATION
3229 =head2 Pod::Text - convert POD data to formatted ASCII text
3239 =head2 SDBM_File - Tied access to sdbm files
3245 =head2 Safe - Compile and execute code in restricted compartments
3251 a new namespace, an operator mask
3257 =item RECENT CHANGES
3259 =item Methods in class Safe
3261 permit (OP, ...), permit_only (OP, ...), deny (OP, ...), deny_only (OP,
3262 ...), trap (OP, ...), untrap (OP, ...), share (NAME, ...), share_from
3263 (PACKAGE, ARRAYREF), varglob (VARNAME), reval (STRING), rdo (FILENAME),
3264 root (NAMESPACE), mask (MASK)
3266 =item Some Safety Issues
3268 Memory, CPU, Snooping, Signals, State Changes
3274 =head2 Search::Dict, look - search for key in dictionary file
3280 =head2 SelectSaver - save and restore selected file handle
3286 =head2 SelfLoader - load functions only on demand
3294 =item The __DATA__ token
3296 =item SelfLoader autoloading
3298 =item Autoloading and package lexicals
3300 =item SelfLoader and AutoLoader
3302 =item __DATA__, __END__, and the FOOBAR::DATA filehandle.
3304 =item Classes and inherited methods.
3308 =item Multiple packages and fully qualified subroutine names
3310 =head2 Shell - run shell commands transparently within perl
3318 =head2 Socket, sockaddr_in, sockaddr_un, inet_aton, inet_ntoa - load the C
3319 socket.h defines and structure manipulators
3325 inet_aton HOSTNAME, inet_ntoa IP_ADDRESS, INADDR_ANY, INADDR_BROADCAST,
3326 INADDR_LOOPBACK, INADDR_NONE, sockaddr_in PORT, ADDRESS, sockaddr_in
3327 SOCKADDR_IN, pack_sockaddr_in PORT, IP_ADDRESS, unpack_sockaddr_in
3328 SOCKADDR_IN, sockaddr_un PATHNAME, sockaddr_un SOCKADDR_UN,
3329 pack_sockaddr_un PATH, unpack_sockaddr_un SOCKADDR_UN
3331 =head2 Symbol - manipulate Perl symbols and their names
3337 =head2 Sys::Hostname - Try every conceivable way to get hostname
3345 =head2 Syslog, Sys::Syslog, openlog, closelog, setlogmask, syslog - Perl
3346 interface to the UNIX syslog(3) calls
3352 openlog $ident, $logopt, $facility, syslog $priority, $format, @args,
3353 setlogmask $mask_priority, closelog
3363 =head2 Term::Cap - Perl termcap interface
3371 =head2 Term::Complete - Perl word completion module
3377 E<lt>tabE<gt>Attempts word completion.
3378 Cannot be changed, ^D, ^U, E<lt>delE<gt>, E<lt>bsE<gt>
3386 =head2 Term::ReadLine - Perl interface to various C<readline> packages. If
3387 no real package is found, substitutes stubs instead of basic functions.
3393 =item Minimal set of supported functions
3395 C<ReadLine>, C<new>, C<readline>, C<addhistory>, C<IN>, $C<OUT>,
3396 C<MinLine>, C<findConsole>, C<Features>
3400 =head2 Test::Harness - run perl standard test scripts with statistics
3408 =item The test script output
3416 C<All tests successful.\nFiles=%d, Tests=%d, %s>, C<FAILED tests
3417 %s\n\tFailed %d/%d tests, %.2f%% okay.>, C<Test returned status %d (wstat
3418 %d)>, C<Failed 1 test, %.2f%% okay. %s>, C<Failed %d/%d tests, %.2f%% okay.
3427 =head2 Text::Abbrev, abbrev - create an abbreviation table from a list
3435 =head2 Text::ParseWords - parse text into an array of tokens
3443 =head2 Text::Soundex - Implementation of the Soundex Algorithm as Described
3456 =head2 Text::Tabs -- expand and unexpand tabs per the unix expand(1) and
3467 =head2 Text::Wrap - line wrapping to form simple paragraphs
3479 =head2 Tie::Hash, Tie::StdHash - base class definitions for tied hashes
3485 TIEHASH classname, LIST, STORE this, key, value, FETCH this, key, FIRSTKEY
3486 this, NEXTKEY this, lastkey, EXISTS this, key, DELETE this, key, CLEAR this
3490 =item MORE INFORMATION
3492 =head2 Tie::RefHash - use references as hash keys
3506 =head2 Tie::Scalar, Tie::StdScalar - base class definitions for tied
3513 TIESCALAR classname, LIST, FETCH this, STORE this, value, DESTROY this
3515 =item MORE INFORMATION
3517 =head2 Tie::SubstrHash - Fixed-table-size, fixed-key-length hashing
3525 =head2 Time::Local - efficiently compute time from local and GMT time
3531 =head2 Time::gmtime - by-name interface to Perl's built-in gmtime()
3542 =head2 Time::localtime - by-name interface to Perl's built-in localtime()
3553 =head2 Time::tm - internal object used by Time::gmtime and Time::localtime
3561 =head2 UNIVERSAL - base class for ALL classes (blessed references)
3567 isa ( TYPE ), can ( METHOD ), VERSION ( [ REQUIRE ] ), isa ( REF, TYPE )
3569 =head2 User::grent - by-name interface to Perl's built-in getgr*()
3580 =head2 User::pwent - by-name interface to Perl's built-in getpw*()
3591 =head1 AUXILIARY DOCUMENTATION
3593 Here should be listed all the extra programs' documentation, but they
3594 don't all have manual pages yet:
3616 Larry Wall E<lt>F<larry@wall.org>E<gt>, with the help of oodles