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
29 HOME, LOGDIR, PATH, PERL5LIB, PERL5DB, PERL_DESTRUCT_LEVEL, PERLLIB
43 =head2 perldelta - what's new for perl5.004
47 =item Supported Environments
53 =item Compilation Option: Binary Compatibility With 5.003
55 =item New Opcode Module and Revised Safe Module
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,
80 Efficiency Enhancements
86 use blib, use blib 'dir', use locale, use ops, use vmsish
92 =item Installation Directories
96 =item Module Information Summary
106 =item Overridden Built-ins
110 =item Utility Changes
116 C<void> XSUBs now default to returning nothing
120 =item C Language API Changes
122 C<gv_fetchmethod> and C<perl_call_sv>
124 =item Documentation Changes
126 L<perldelta>, L<perllocale>, L<perltoot>, L<perlapio>, L<perldebug>,
129 =item New Diagnostics
131 "my" variable %s masks earlier declaration in same scope, %s argument is
132 not a HASH element or slice, Allocation too large: %lx, Allocation too
133 large, Attempt to free non-existent shared string, Attempt to use reference
134 as lvalue in substr, Unsupported function fork, Ill-formed logical name
135 |%s| in prime_env_iter, Can't use bareword ("%s") as %s ref while "strict
136 refs" in use, Constant subroutine %s redefined, Died, Integer overflow in
137 hex number, Integer overflow in octal number, Name "%s::%s" used only once:
138 possible typo, Null picture in formline, Offset outside string, Stub found
139 while resolving method `%s' overloading `%s' in package `%s', Cannot
140 resolve method `%s' overloading `%s' in package `s', Out of memory!, Out of
141 memory during request for %s, Possible attempt to put comments in qw()
142 list, Possible attempt to separate words with commas, Scalar value @%s{%s}
143 better written as $%s{%s}, untie attempted while %d inner references still
144 exist, Value of %s construct can be "0"; test with defined(), Variable "%s"
145 may be unavailable, Variable "%s" will not stay shared, Warning:
146 something's wrong, Got an error from DosAllocMem, Malformed PERLLIB_PREFIX,
147 PERL_SH_DIR too long, Process terminated by SIG%s
155 =head2 perldata - Perl data types
167 =item Scalar value constructors
169 =item List value constructors
171 =item Typeglobs and Filehandles
175 =head2 perlsyn - Perl syntax
183 =item Simple statements
185 =item Compound statements
193 =item Basic BLOCKs and Switch Statements
197 =item PODs: Embedded Documentation
199 =item Plain Old Comments (Not!)
203 =head2 perlop - Perl operators and precedence
211 =item Terms and List Operators (Leftward)
213 =item The Arrow Operator
215 =item Auto-increment and Auto-decrement
219 =item Symbolic Unary Operators
221 =item Binding Operators
223 =item Multiplicative Operators
225 =item Additive Operators
227 =item Shift Operators
229 =item Named Unary Operators
231 =item Relational Operators
233 =item Equality Operators
237 =item Bitwise Or and Exclusive Or
239 =item C-style Logical And
241 =item C-style Logical Or
245 =item Conditional Operator
247 =item Assignment Operators
251 =item List Operators (Rightward)
257 =item Logical or and Exclusive Or
259 =item C Operators Missing From Perl
261 unary &, unary *, (TYPE)
263 =item Quote and Quote-like Operators
265 =item Regexp Quote-Like Operators
267 ?PATTERN?, m/PATTERN/gimosx, /PATTERN/gimosx, q/STRING/, C<'STRING'>,
268 qq/STRING/, "STRING", qx/STRING/, `STRING`, qw/STRING/,
269 s/PATTERN/REPLACEMENT/egimosx, tr/SEARCHLIST/REPLACEMENTLIST/cds,
270 y/SEARCHLIST/REPLACEMENTLIST/cds
274 =item Constant Folding
276 =item Integer Arithmetic
280 =head2 perlre - Perl regular expressions
288 =item Regular Expressions
290 (?#text), (?:regexp), (?=regexp), (?!regexp), (?imsx)
294 =item Version 8 Regular Expressions
296 =item WARNING on \1 vs $1
300 =head2 perlrun - how to execute the Perl interpreter
310 B<-0>[I<digits>], B<-a>, B<-c>, B<-d>, B<-d:>I<foo>, B<-D>I<number>,
311 B<-D>I<list>, B<-e> I<commandline>, B<-F>I<pattern>, B<-h>,
312 B<-i>[I<extension>], B<-I>I<directory>, B<-l>[I<octnum>],
313 B<-m>[B<->]I<module>, B<-M>[B<->]I<module>, B<-M>[B<->]I<'module ...'>,
314 B<-[mM]>[B<->]I<module=arg[,arg]...>, B<-n>, B<-p>, B<-P>, B<-s>, B<-S>,
315 B<-T>, B<-u>, B<-U>, B<-v>, B<-V>, B<-V:>I<name>, B<-w>, B<-x> I<directory>
319 =head2 perlfunc - Perl builtin functions
323 I<THERE IS NO GENERAL RULE FOR CONVERTING A LIST INTO A SCALAR!>
327 =item Perl Functions by Category
329 Functions for SCALARs or strings, Regular expressions and pattern matching,
330 Numeric functions, Functions for real @ARRAYs, Functions for list data,
331 Functions for real %HASHes, Input and output functions, Functions for fixed
332 length data or records, Functions for filehandles, files, or directories,
333 Keywords related to the control flow of your perl program, Keywords related
334 to scoping, Miscellaneous functions, Functions for processes and process
335 groups, Keywords related to perl modules, Keywords related to classes and
336 object-orientedness, Low-level socket functions, System V interprocess
337 communication functions, Fetching user and group info, Fetching network
338 info, Time-related functions, Functions new in perl5, Functions obsoleted
341 =item Alphabetical Listing of Perl Functions
343 -I<X> FILEHANDLE, -I<X> EXPR, -I<X>, abs VALUE, abs, accept
344 NEWSOCKET,GENERICSOCKET, alarm SECONDS, alarm, atan2 Y,X, bind SOCKET,NAME,
345 binmode FILEHANDLE, bless REF,CLASSNAME, bless REF, caller EXPR, caller,
346 chdir EXPR, chmod LIST, chomp VARIABLE, chomp LIST, chomp, chop VARIABLE,
347 chop LIST, chop, chown LIST, chr NUMBER, chr, chroot FILENAME, chroot,
348 close FILEHANDLE, closedir DIRHANDLE, connect SOCKET,NAME, continue BLOCK,
349 cos EXPR, crypt PLAINTEXT,SALT, dbmclose ASSOC_ARRAY, dbmopen
350 ASSOC,DBNAME,MODE, defined EXPR, defined, delete EXPR, die LIST, do BLOCK,
351 do SUBROUTINE(LIST), do EXPR, dump LABEL, each ASSOC_ARRAY, eof FILEHANDLE,
352 eof (), eof, eval EXPR, eval BLOCK, exec LIST, exists EXPR, exit EXPR, exp
353 EXPR, exp, fcntl FILEHANDLE,FUNCTION,SCALAR, fileno FILEHANDLE, flock
354 FILEHANDLE,OPERATION, fork, format, formline PICTURE, LIST, getc
355 FILEHANDLE, getc, getlogin, getpeername SOCKET, getpgrp PID, getppid,
356 getpriority WHICH,WHO, getpwnam NAME, getgrnam NAME, gethostbyname NAME,
357 getnetbyname NAME, getprotobyname NAME, getpwuid UID, getgrgid GID,
358 getservbyname NAME,PROTO, gethostbyaddr ADDR,ADDRTYPE, getnetbyaddr
359 ADDR,ADDRTYPE, getprotobynumber NUMBER, getservbyport PORT,PROTO, getpwent,
360 getgrent, gethostent, getnetent, getprotoent, getservent, setpwent,
361 setgrent, sethostent STAYOPEN, setnetent STAYOPEN, setprotoent STAYOPEN,
362 setservent STAYOPEN, endpwent, endgrent, endhostent, endnetent,
363 endprotoent, endservent, getsockname SOCKET, getsockopt
364 SOCKET,LEVEL,OPTNAME, glob EXPR, glob, gmtime EXPR, goto LABEL, goto EXPR,
365 goto &NAME, grep BLOCK LIST, grep EXPR,LIST, hex EXPR, hex, import, index
366 STR,SUBSTR,POSITION, index STR,SUBSTR, int EXPR, int, ioctl
367 FILEHANDLE,FUNCTION,SCALAR, join EXPR,LIST, keys ASSOC_ARRAY, kill LIST,
368 last LABEL, last, lc EXPR, lc, lcfirst EXPR, lcfirst, length EXPR, length,
369 link OLDFILE,NEWFILE, listen SOCKET,QUEUESIZE, local EXPR, localtime EXPR,
370 log EXPR, log, lstat FILEHANDLE, lstat EXPR, lstat, m//, map BLOCK LIST,
371 map EXPR,LIST, mkdir FILENAME,MODE, msgctl ID,CMD,ARG, msgget KEY,FLAGS,
372 msgsnd ID,MSG,FLAGS, msgrcv ID,VAR,SIZE,TYPE,FLAGS, my EXPR, next LABEL,
373 next, no Module LIST, oct EXPR, oct, open FILEHANDLE,EXPR, open FILEHANDLE,
374 opendir DIRHANDLE,EXPR, ord EXPR, ord, pack TEMPLATE,LIST, package
375 NAMESPACE, pipe READHANDLE,WRITEHANDLE, pop ARRAY, pop, pos SCALAR, pos,
376 print FILEHANDLE LIST, print LIST, print, printf FILEHANDLE FORMAT, LIST,
377 printf FORMAT, LIST, prototype FUNCTION, push ARRAY,LIST, q/STRING/,
378 qq/STRING/, qx/STRING/, qw/STRING/, quotemeta EXPR, quotemeta, rand EXPR,
379 rand, read FILEHANDLE,SCALAR,LENGTH,OFFSET, read FILEHANDLE,SCALAR,LENGTH,
380 readdir DIRHANDLE, readlink EXPR, readlink, recv SOCKET,SCALAR,LEN,FLAGS,
381 redo LABEL, redo, ref EXPR, ref, rename OLDNAME,NEWNAME, require EXPR,
382 require, reset EXPR, reset, return LIST, reverse LIST, rewinddir DIRHANDLE,
383 rindex STR,SUBSTR,POSITION, rindex STR,SUBSTR, rmdir FILENAME, rmdir, s///,
384 scalar EXPR, seek FILEHANDLE,POSITION,WHENCE, seekdir DIRHANDLE,POS, select
385 FILEHANDLE, select, select RBITS,WBITS,EBITS,TIMEOUT, semctl
386 ID,SEMNUM,CMD,ARG, semget KEY,NSEMS,FLAGS, semop KEY,OPSTRING, send
387 SOCKET,MSG,FLAGS,TO, send SOCKET,MSG,FLAGS, setpgrp PID,PGRP, setpriority
388 WHICH,WHO,PRIORITY, setsockopt SOCKET,LEVEL,OPTNAME,OPTVAL, shift ARRAY,
389 shift, shmctl ID,CMD,ARG, shmget KEY,SIZE,FLAGS, shmread ID,VAR,POS,SIZE,
390 shmwrite ID,STRING,POS,SIZE, shutdown SOCKET,HOW, sin EXPR, sin, sleep
391 EXPR, sleep, socket SOCKET,DOMAIN,TYPE,PROTOCOL, socketpair
392 SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL, sort SUBNAME LIST, sort BLOCK LIST,
393 sort LIST, splice ARRAY,OFFSET,LENGTH,LIST, splice ARRAY,OFFSET,LENGTH,
394 splice ARRAY,OFFSET, split /PATTERN/,EXPR,LIMIT, split /PATTERN/,EXPR,
395 split /PATTERN/, split, sprintf FORMAT, LIST, sqrt EXPR, sqrt, srand EXPR,
396 stat FILEHANDLE, stat EXPR, stat, study SCALAR, study, sub BLOCK, sub NAME,
397 sub NAME BLOCK, substr EXPR,OFFSET,LEN, substr EXPR,OFFSET, symlink
398 OLDFILE,NEWFILE, syscall LIST, sysopen FILEHANDLE,FILENAME,MODE, sysopen
399 FILEHANDLE,FILENAME,MODE,PERMS, sysread FILEHANDLE,SCALAR,LENGTH,OFFSET,
400 sysread FILEHANDLE,SCALAR,LENGTH, system LIST, syswrite
401 FILEHANDLE,SCALAR,LENGTH,OFFSET, syswrite FILEHANDLE,SCALAR,LENGTH, tell
402 FILEHANDLE, tell, telldir DIRHANDLE, tie VARIABLE,CLASSNAME,LIST, tied
403 VARIABLE, time, times, tr///, truncate FILEHANDLE,LENGTH, truncate
404 EXPR,LENGTH, uc EXPR, uc, ucfirst EXPR, ucfirst, umask EXPR, umask, undef
405 EXPR, undef, unlink LIST, unlink, unpack TEMPLATE,EXPR, untie VARIABLE,
406 unshift ARRAY,LIST, use Module LIST, use Module, use Module VERSION LIST,
407 use VERSION, utime LIST, values ASSOC_ARRAY, vec EXPR,OFFSET,BITS, wait,
408 waitpid PID,FLAGS, wantarray, warn LIST, write FILEHANDLE, write EXPR,
413 =head2 perlvar - Perl predefined variables
419 =item Predefined Names
421 $ARG, $_, $E<lt>I<digit>E<gt>, $MATCH, $&, $PREMATCH, $`, $POSTMATCH, $',
422 $LAST_PAREN_MATCH, $+, $MULTILINE_MATCHING, $*, input_line_number HANDLE
423 EXPR, $INPUT_LINE_NUMBER, $NR, $, input_record_separator HANDLE EXPR,
424 $INPUT_RECORD_SEPARATOR, $RS, $/, autoflush HANDLE EXPR, $OUTPUT_AUTOFLUSH,
425 $|, output_field_separator HANDLE EXPR, $OUTPUT_FIELD_SEPARATOR, $OFS, $,,
426 output_record_separator HANDLE EXPR, $OUTPUT_RECORD_SEPARATOR, $ORS, $\,
427 $LIST_SEPARATOR, $", $SUBSCRIPT_SEPARATOR, $SUBSEP, $;, $OFMT, $#,
428 format_page_number HANDLE EXPR, $FORMAT_PAGE_NUMBER, $%,
429 format_lines_per_page HANDLE EXPR, $FORMAT_LINES_PER_PAGE, $=,
430 format_lines_left HANDLE EXPR, $FORMAT_LINES_LEFT, $-, format_name HANDLE
431 EXPR, $FORMAT_NAME, $~, format_top_name HANDLE EXPR, $FORMAT_TOP_NAME, $^,
432 format_line_break_characters HANDLE EXPR, $FORMAT_LINE_BREAK_CHARACTERS,
433 $:, format_formfeed HANDLE EXPR, $FORMAT_FORMFEED, $^L, $ACCUMULATOR, $^A,
434 $CHILD_ERROR, $?, $OS_ERROR, $ERRNO, $!, $EXTENDED_OS_ERROR, $^E,
435 $EVAL_ERROR, $@, $PROCESS_ID, $PID, $$, $REAL_USER_ID, $UID, $<,
436 $EFFECTIVE_USER_ID, $EUID, $>, $REAL_GROUP_ID, $GID, $(,
437 $EFFECTIVE_GROUP_ID, $EGID, $), $PROGRAM_NAME, $0, $[, $PERL_VERSION, $],
438 $DEBUGGING, $^D, $SYSTEM_FD_MAX, $^F, $^H, $INPLACE_EDIT, $^I, $OSNAME,
439 $^O, $PERLDB, $^P, $BASETIME, $^T, $WARNING, $^W, $EXECUTABLE_NAME, $^X,
440 $ARGV, @ARGV, @INC, %INC, $ENV{expr}, $SIG{expr}
444 =head2 perlsub - Perl subroutines
452 =item Private Variables via my()
454 =item Temporary Values via local()
456 =item Passing Symbol Table Entries (typeglobs)
458 =item Pass by Reference
462 =item Constant Functions
464 =item Overriding Builtin Functions
472 =head2 perlmod - Perl modules (packages)
482 =item Package Constructors and Destructors
492 =item THE PERL MODULE LIBRARY
496 =item Pragmatic Modules
498 blib, diagnostics, integer, less, lib, locale, ops, overload, sigtrap,
499 strict, subs, vmsish, vars
501 =item Standard Modules
503 AnyDBM_File, AutoLoader, AutoSplit, Benchmark, CPAN, CPAN::FirstTime,
504 CPAN::Nox, Carp, Class::Template, Config, Cwd, DB_File, Devel::SelfStubber,
505 DirHandle, DynaLoader, English, Env, Exporter, ExtUtils::Embed,
506 ExtUtils::Install, ExtUtils::Liblist, ExtUtils::MM_OS2, ExtUtils::MM_Unix,
507 ExtUtils::MM_VMS, ExtUtils::MakeMaker, ExtUtils::Manifest,
508 ExtUtils::Mkbootstrap, ExtUtils::Mksymlists, ExtUtils::testlib, Fcntl,
509 File::Basename, File::CheckTree, File::Compare, File::Copy, File::Find,
510 File::Path, File::stat, FileCache, FileHandle, FindBin, GDBM_File,
511 Getopt::Long, Getopt::Std, I18N::Collate, IO, IO::File, IO::Handle,
512 IO::Pipe, IO::Seekable, IO::Select, IO::Socket, IPC::Open2, IPC::Open3,
513 Math::BigFloat, Math::BigInt, Math::Complex, NDBM_File, Net::Ping,
514 Net::hostent, Net::netent, Net::protoent, Net::servent, Opcode, Pod::Text,
515 POSIX, SDBM_File, Safe, Search::Dict, SelectSaver, SelfLoader, Shell,
516 Socket, Symbol, Sys::Hostname, Sys::Syslog, Term::Cap, Term::Complete,
517 Term::ReadLine, Test::Harness, Text::Abbrev, Text::ParseWords,
518 Text::Soundex, Text::Tabs, Text::Wrap, Tie::Hash, Tie::RefHash,
519 Tie::Scalar, Tie::SubstrHash, Time::Local, Time::gmtime, Time::localtime,
520 Time::tm, UNIVERSAL, User::grent, User::pwent
522 =item Extension Modules
528 Language Extensions and Documentation Tools, Development Support, Operating
529 System Interfaces, Networking, Device Control (modems) and InterProcess
530 Communication, Data Types and Data Type Utilities, Database Interfaces,
531 User Interfaces, Interfaces to / Emulations of Other Programming Languages,
532 File Names, File Systems and File Locking (see also File Handles), String
533 Processing, Language Text Processing, Parsing, and Searching, Option,
534 Argument, Parameter, and Configuration File Processing,
535 Internationalization and Locale, Authentication, Security, and Encryption,
536 World Wide Web, HTML, HTTP, CGI, MIME, Server and Daemon Utilities,
537 Archiving and Compression, Images, Pixmap and Bitmap Manipulation, Drawing,
538 and Graphing, Mail and Usenet News, Control Flow Utilities (callbacks and
539 exceptions etc), File Handle and Input/Output Stream Utilities,
540 Miscellaneous Modules
542 =item Modules: Creation, Use, and Abuse
546 =item Guidelines for Module Creation
548 Do similar modules already exist in some form?, Try to design the new
549 module to be easy to extend and reuse, Some simple style guidelines, Select
550 what to export, Select a name for the module, Have you got it right?,
551 README and other Additional Files, A description of the
552 module/package/extension etc, A copyright notice - see below, Prerequisites
553 - what else you may need to have, How to build it - possible changes to
554 Makefile.PL etc, How to install it, Recent changes in this release,
555 especially incompatibilities, Changes / enhancements you plan to make in
556 the future, Adding a Copyright Notice, Give the module a
557 version/issue/release number, How to release and distribute a module, Take
558 care when changing a released module
560 =item Guidelines for Converting Perl 4 Library Scripts into Modules
562 There is no requirement to convert anything, Consider the implications,
563 Make the most of the opportunity, The pl2pm utility will get you started,
564 Adds the standard Module prologue lines, Converts package specifiers from '
565 to ::, Converts die(...) to croak(...), Several other minor changes
567 =item Guidelines for Reusing Application Code
569 Complete applications rarely belong in the Perl Module Library, Many
570 applications contain some perl code which could be reused, Break-out the
571 reusable code into one or more separate module files, Take the opportunity
572 to reconsider and redesign the interfaces, In some cases the 'application'
573 can then be reduced to a small
577 =head2 perlform - Perl formats
583 =item Format Variables
593 =item Accessing Formatting Internals
599 =head2 perllocale - Perl locale handling (internationalization and
604 =item PREPARING TO USE LOCALES
610 =item The use locale pragma
612 =item The setlocale function
614 =item The localeconv function
618 =item LOCALE CATEGORIES
622 =item Category LC_COLLATE: Collation
624 =item Category LC_CTYPE: Character Types
626 =item Category LC_NUMERIC: Numeric Formatting
628 =item Category LC_MONETARY: Formatting of monetary amounts
632 =item Other categories
638 B<Comparison operators> (C<lt>, C<le>, C<ge>, C<gt> and C<cmp>):,
639 B<Case-mapping interpolation> (with C<\l>, C<\L>, C<\u> or <\U>),
640 B<Matching operator> (C<m//>):, B<Substitution operator> (C<s///>):,
641 B<In-memory formatting function> (sprintf()):, B<Output formatting
642 functions> (printf() and write()):, B<Case-mapping functions> (lc(),
643 lcfirst(), uc(), ucfirst()):, B<POSIX locale-dependent functions>
644 (localeconv(), strcoll(),strftime(), strxfrm()):, B<POSIX character class
645 tests> (isalnum(), isalpha(), isdigit(),isgraph(), islower(), isprint(),
646 ispunct(), isspace(), isupper(),
651 PERL_BADLANG, LC_ALL, LC_CTYPE, LC_COLLATE, LC_MONETARY, LC_NUMERIC,
658 =item Backward compatibility
660 =item I18N:Collate obsolete
662 =item Sort speed and memory use impacts
664 =item write() and LC_NUMERIC
666 =item Freely available locale definitions
670 =item An imperfect standard
686 =head2 perlref - Perl references and nested data structures
692 =item Symbolic references
694 =item Not-so-symbolic references
702 =head2 perldsc - Perl Data Structures Cookbook
706 arrays of arrays, hashes of arrays, arrays of hashes, hashes of hashes,
707 more elaborate constructs
711 =item COMMON MISTAKES
713 =item CAVEAT ON PRECEDENCE
715 =item WHY YOU SHOULD ALWAYS C<use strict>
725 =item Declaration of a LIST OF LISTS
727 =item Generation of a LIST OF LISTS
729 =item Access and Printing of a LIST OF LISTS
733 =item HASHES OF LISTS
737 =item Declaration of a HASH OF LISTS
739 =item Generation of a HASH OF LISTS
741 =item Access and Printing of a HASH OF LISTS
745 =item LISTS OF HASHES
749 =item Declaration of a LIST OF HASHES
751 =item Generation of a LIST OF HASHES
753 =item Access and Printing of a LIST OF HASHES
757 =item HASHES OF HASHES
761 =item Declaration of a HASH OF HASHES
763 =item Generation of a HASH OF HASHES
765 =item Access and Printing of a HASH OF HASHES
769 =item MORE ELABORATE RECORDS
773 =item Declaration of MORE ELABORATE RECORDS
775 =item Declaration of a HASH OF COMPLEX RECORDS
777 =item Generation of a HASH OF COMPLEX RECORDS
787 =head2 perllol, perlLoL - Manipulating Lists of Lists in Perl
791 =item Declaration and Access of Lists of Lists
793 =item Growing Your Own
795 =item Access and Printing
803 =head2 perltoot - Tom's object-oriented tutorial for perl
807 =item Creating a Class
811 =item Object Representation
813 =item Class Interface
815 =item Constructors and Instance Methods
817 =item Planning for the Future: Better Constructors
821 =item Other Object Methods
829 =item Accessing Class Data
831 =item Debugging Methods
833 =item Class Destructors
835 =item Documenting the Interface
845 =item Overridden Methods
847 =item Multiple Inheritance
849 =item UNIVERSAL: The Root of All Objects
853 =item Alternate Object Representations
857 =item Arrays as Objects
859 =item Closures as Objects
863 =item AUTOLOAD: Proxy Methods
867 =item Autoloaded Data Methods
869 =item Inherited Autoloaded Data Methods
873 =item Metaclassical Tools
877 =item Class::Template
879 =item Data Members as Variables
883 =item Object Terminology
893 =item Acknowledgments
897 =head2 perlobj - Perl objects
903 =item An Object is Simply a Reference
905 =item A Class is Simply a Package
907 =item A Method is Simply a Subroutine
909 =item Method Invocation
911 =item Default UNIVERSAL methods
913 isa(CLASS), can(METHOD), VERSION( [NEED] )
921 =item Two-Phased Garbage Collection
927 =head2 perltie - how to hide an object class in a simple variable
937 TIESCALAR classname, LIST, FETCH this, STORE this, value, DESTROY this
941 TIEARRAY classname, LIST, FETCH this, index, STORE this, index, value,
946 USER, HOME, CLOBBER, LIST, TIEHASH classname, LIST, FETCH this, key, STORE
947 this, key, value, DELETE this, key, CLEAR this, EXISTS this, key, FIRSTKEY
948 this, NEXTKEY this, lastkey, DESTROY this
950 =item Tying FileHandles
952 TIEHANDLE classname, LIST, PRINT this, LIST, READLINE this, DESTROY this
954 =item The C<untie> Gotcha
964 =head2 perlbot - Bag'o Object Tricks (the BOT)
968 =item OO SCALING TIPS
970 =item INSTANCE VARIABLES
972 =item SCALAR INSTANCE VARIABLES
974 =item INSTANCE VARIABLE INHERITANCE
976 =item OBJECT RELATIONSHIPS
978 =item OVERRIDING SUPERCLASS METHODS
980 =item USING RELATIONSHIP WITH SDBM
982 =item THINKING OF CODE REUSE
984 =item CLASS CONTEXT AND THE OBJECT
986 =item INHERITING A CONSTRUCTOR
990 =head2 perlipc - Perl interprocess communication (signals, fifos, pipes,
991 safe subprocesses, sockets, and semaphores)
999 =item Using open() for IPC
1003 =item Safe Pipe Opens
1005 =item Bidirectional Communication
1009 =item Sockets: Client/Server Communication
1013 =item Internet TCP Clients and Servers
1015 =item Unix-Domain TCP Clients and Servers
1017 =item UDP: Message Passing
1033 =head2 perldebug - Perl debugging
1037 =item The Perl Debugger
1041 =item Debugger Commands
1043 h [command], p expr, x expr, V [pkg [vars]], X [vars], T, s [expr], n
1044 [expr], E<lt>CRE<gt>, c [line|sub], l, l min+incr, l min-max, l line, l
1045 subname, -, w [line], f filename, /pattern/, ?pattern?, L, S [[!]pattern],
1046 t, t expr, b [line] [condition], b subname [condition], b postpone subname
1047 [condition], b load filename, b compile subname, d [line], D, a [line]
1048 command, A, O [opt[=val]] [opt"val"] [opt?].., C<recallCommand>,
1049 C<ShellBang>, C<pager>, C<tkRunning>, C<signalLevel>, C<warnLevel>,
1050 C<dieLevel>, C<AutoTrace>, C<LineInfo>, C<inhibit_exit>, C<PrintRet>,
1051 C<frame>, C<maxTraceLen>, C<arrayDepth>, C<hashDepth>, C<compactDump>,
1052 C<veryCompact>, C<globPrint>, C<DumpDBFiles>, C<DumpPackages>, C<quote>,
1053 C<HighBit>, C<undefPrint>, C<UsageOnly>, C<TTY>, C<noTTY>, C<ReadLine>,
1054 C<NonStop>, E<lt> [ command ], E<lt>E<lt> command, E<gt> command,
1055 E<gt>E<gt> command, { [ command ], {{ command, ! number, ! -number, !
1056 pattern, !! cmd, H -number, q or ^D, R, |dbcmd, ||dbcmd, = [alias value],
1057 command, m expr, m package
1059 =item Debugger input/output
1061 Prompt, Multi-line commands, Stack backtrace, Listing, Frame listing
1063 =item Debugging compile-time statements
1065 =item Debugger Customization
1067 =item Readline Support
1069 =item Editor Support for Debugging
1071 =item The Perl Profiler
1073 =item Debugger support in perl
1075 =item Debugger Internals
1077 =item Other resources
1083 =head2 perldiag - various Perl diagnostics
1087 =head2 perlsec - Perl security
1093 =item Laundering and Detecting Tainted Data
1095 =item Cleaning Up Your Path
1101 =head2 perltrap - Perl traps for the unwary
1117 =item Perl4 to Perl5 Traps
1119 Discontinuance, Deprecation, and BugFix traps, Parsing Traps, Numerical
1120 Traps, General data type traps, Context Traps - scalar, list contexts,
1121 Precedence Traps, General Regular Expression Traps using s///, etc,
1122 Subroutine, Signal, Sorting Traps, OS Traps, DBM Traps, Unclassified Traps
1124 =item Discontinuance, Deprecation, and BugFix traps
1126 Discontinuance, Deprecation, BugFix, Discontinuance, Discontinuance,
1127 Discontinuance, BugFix, Discontinuance, Discontinuance, BugFix,
1128 Discontinuance, Deprecation, Discontinuance
1132 Parsing, Parsing, Parsing
1134 =item Numerical Traps
1136 Numerical, Numerical, Numerical
1138 =item General data type traps
1140 (Arrays), (Arrays), (Hashes), (Globs), (Scalar String), (Constants),
1141 (Scalars), (Variable Suicide)
1143 =item Context Traps - scalar, list contexts
1145 (list context), (scalar context), (scalar context), (list, builtin)
1147 =item Precedence Traps
1149 Precedence, Precedence, Precedence, Precedence, Precedence, Precedence,
1152 =item General Regular Expression Traps using s///, etc.
1154 Regular Expression, Regular Expression, Regular Expression, Regular
1155 Expression, Regular Expression, Regular Expression, Regular Expression,
1158 =item Subroutine, Signal, Sorting Traps
1160 (Signals), (Sort Subroutine), warn() won't let you specify a filehandle
1166 =item Interpolation Traps
1168 Interpolation, Interpolation, Interpolation, Interpolation, Interpolation,
1169 Interpolation, Interpolation, Interpolation, Interpolation
1175 =item Unclassified Traps
1181 =head2 perlstyle - Perl style guide
1185 =head2 perlpod - plain old documentation
1189 =item Embedding Pods in Perl Modules
1191 =item Common Pod Pitfalls
1197 =head2 perlbook - Perl book information
1201 =head2 perlembed - how to embed perl in your C program
1209 B<Use C from Perl?>, B<Use a UNIX program from Perl?>, B<Use Perl from
1210 Perl?>, B<Use C from C?>, B<Use Perl from C?>
1214 =item Compiling your C program
1216 =item Adding a Perl interpreter to your C program
1218 =item Calling a Perl subroutine from your C program
1220 =item Evaluating a Perl statement from your C program
1222 =item Performing Perl pattern matches and substitutions from your C program
1224 =item Fiddling with the Perl stack from your C program
1226 =item Maintaining a persistent interpreter
1228 =item Maintaining multiple interpreter instances
1230 =item Using Perl modules, which themselves use C libraries, from your C
1241 =head2 perlapio - perl's IO abstraction interface.
1247 B<PerlIO *>, B<PerlIO_stdin()>, B<PerlIO_stdout()>, B<PerlIO_stderr()>,
1248 B<PerlIO_open(path, mode)>, B<PerlIO_fdopen(fd,mode)>,
1249 B<PerlIO_printf(f,fmt,...)>, B<PerlIO_vprintf(f,fmt,a)>,
1250 B<PerlIO_stdoutf(fmt,...)>, B<PerlIO_read(f,buf,count)>,
1251 B<PerlIO_write(f,buf,count)>, B<PerlIO_close(f)>, B<PerlIO_puts(s,f)>,
1252 B<PerlIO_putc(c,f)>, B<PerlIO_ungetc(c,f)>, B<PerlIO_getc(f)>,
1253 B<PerlIO_eof(f)>, B<PerlIO_error(f)>, B<PerlIO_fileno(f)>,
1254 B<PerlIO_clearerr(f)>, B<PerlIO_flush(f)>, B<PerlIO_tell(f)>,
1255 B<PerlIO_seek(f,o,w)>, B<PerlIO_getpos(f,p)>, B<PerlIO_setpos(f,p)>,
1256 B<PerlIO_rewind(f)>, B<PerlIO_tmpfile()>
1260 =item Co-existence with stdio
1262 B<PerlIO_importFILE(f,flags)>, B<PerlIO_exportFILE(f,flags)>,
1263 B<PerlIO_findFILE(f)>, B<PerlIO_releaseFILE(p,f)>, B<PerlIO_setlinebuf(f)>,
1264 B<PerlIO_has_cntptr(f)>, B<PerlIO_get_ptr(f)>, B<PerlIO_get_cnt(f)>,
1265 B<PerlIO_canset_cnt(f)>, B<PerlIO_fast_gets(f)>,
1266 B<PerlIO_set_ptrcnt(f,p,c)>, B<PerlIO_set_cnt(f,c)>, B<PerlIO_has_base(f)>,
1267 B<PerlIO_get_base(f)>, B<PerlIO_get_bufsiz(f)>
1271 =head2 perlxs - XS language reference manual
1281 =item The Anatomy of an XSUB
1283 =item The Argument Stack
1285 =item The RETVAL Variable
1287 =item The MODULE Keyword
1289 =item The PACKAGE Keyword
1291 =item The PREFIX Keyword
1293 =item The OUTPUT: Keyword
1295 =item The CODE: Keyword
1297 =item The INIT: Keyword
1299 =item The NO_INIT Keyword
1301 =item Initializing Function Parameters
1303 =item Default Parameter Values
1305 =item The PREINIT: Keyword
1307 =item The SCOPE: Keyword
1309 =item The INPUT: Keyword
1311 =item Variable-length Parameter Lists
1313 =item The PPCODE: Keyword
1315 =item Returning Undef And Empty Lists
1317 =item The REQUIRE: Keyword
1319 =item The CLEANUP: Keyword
1321 =item The BOOT: Keyword
1323 =item The VERSIONCHECK: Keyword
1325 =item The PROTOTYPES: Keyword
1327 =item The PROTOTYPE: Keyword
1329 =item The ALIAS: Keyword
1331 =item The INCLUDE: Keyword
1333 =item The CASE: Keyword
1335 =item The & Unary Operator
1337 =item Inserting Comments and C Preprocessor Directives
1339 =item Using XS With C++
1341 =item Interface Strategy
1343 =item Perl Objects And C Structures
1355 =head2 perlxstut, perlXStut - Tutorial for XSUBs
1361 =item VERSION CAVEAT
1363 =item DYNAMIC VERSUS STATIC
1369 =item WHAT HAS GONE ON?
1371 =item WRITING GOOD TEST SCRIPTS
1375 =item WHAT'S NEW HERE?
1377 =item INPUT AND OUTPUT PARAMETERS
1379 =item THE XSUBPP COMPILER
1381 =item THE TYPEMAP FILE
1387 =item WHAT HAS HAPPENED HERE?
1389 =item SPECIFYING ARGUMENTS TO XSUBPP
1391 =item THE ARGUMENT STACK
1393 =item EXTENDING YOUR EXTENSION
1395 =item DOCUMENTING YOUR EXTENSION
1397 =item INSTALLING YOUR EXTENSION
1407 =head2 perlguts - Perl's Internal Functions
1417 =item What is an "IV"?
1419 =item Working with SV's
1421 =item What's Really Stored in an SV?
1423 =item Working with AV's
1425 =item Working with HV's
1429 =item Blessed References and Class Objects
1431 =item Creating New Variables
1433 =item Reference Counts and Mortality
1435 =item Stashes and Globs
1437 =item Double-Typed SV's
1439 =item Magic Variables
1441 =item Assigning Magic
1443 =item Magic Virtual Tables
1453 =item XSUB's and the Argument Stack
1455 =item Calling Perl Routines from within C Programs
1457 =item Memory Allocation
1461 =item Putting a C value on Perl stack
1465 =item Scratchpads and recursions
1475 =item Examining the tree
1477 =item Compile pass 1: check routines
1479 =item Compile pass 1a: constant folding
1481 =item Compile pass 2: context propagation
1483 =item Compile pass 3: peephole optimization
1489 AvFILL, av_clear, av_extend, av_fetch, av_len, av_make, av_pop, av_push,
1490 av_shift, av_store, av_undef, av_unshift, CLASS, Copy, croak, CvSTASH,
1491 DBsingle, DBsub, DBtrace, dMARK, dORIGMARK, dowarn, dSP, dXSARGS, dXSI32,
1492 dXSI32, ENTER, EXTEND, FREETMPS, G_ARRAY, G_DISCARD, G_EVAL, GIMME,
1493 G_NOARGS, G_SCALAR, gv_fetchmeth, gv_fetchmethod, gv_stashpv, gv_stashsv,
1494 GvSV, he_delayfree, he_free, hv_clear, hv_delete, hv_exists, hv_fetch,
1495 hv_iterinit, hv_iterkey, hv_iternext, hv_iternextsv, hv_iterval, hv_magic,
1496 HvNAME, hv_store, hv_undef, isALNUM, isALPHA, isDIGIT, isLOWER, isSPACE,
1497 isUPPER, items, ix, LEAVE, MARK, mg_clear, mg_copy, mg_find, mg_free,
1498 mg_get, mg_len, mg_magical, mg_set, Move, na, New, Newc, Newz, newAV,
1499 newHV, newRV_inc, newRV_noinc, newSV, newSViv, newSVnv, newSVpv, newSVrv,
1500 newSVsv, newXS, newXSproto, Nullav, Nullch, Nullcv, Nullhv, Nullsv,
1501 ORIGMARK, perl_alloc, perl_call_argv, perl_call_method, perl_call_pv,
1502 perl_call_sv, perl_construct, perl_destruct, perl_eval_sv, perl_free,
1503 perl_get_av, perl_get_cv, perl_get_hv, perl_get_sv, perl_parse,
1504 perl_require_pv, perl_run, POPi, POPl, POPp, POPn, POPs, PUSHMARK, PUSHi,
1505 PUSHn, PUSHp, PUSHs, PUTBACK, Renew, Renewc, RETVAL, safefree, safemalloc,
1506 saferealloc, savepv, savepvn, SAVETMPS, SP, SPAGAIN, ST, strEQ, strGE,
1507 strGT, strLE, strLT, strNE, strnEQ, strnNE, sv_2mortal, sv_bless, sv_catpv,
1508 sv_catpvn, sv_catsv, sv_cmp, sv_cmp, SvCUR, SvCUR_set, sv_dec, sv_dec,
1509 SvEND, sv_eq, SvGROW, sv_grow, sv_inc, SvIOK, SvIOK_off, SvIOK_on,
1510 SvIOK_only, SvIOK_only, SvIOKp, sv_isa, SvIV, sv_isobject, SvIVX, SvLEN,
1511 sv_len, sv_len, sv_magic, sv_mortalcopy, SvOK, sv_newmortal, sv_no, SvNIOK,
1512 SvNIOK_off, SvNIOKp, SvNOK, SvNOK_off, SvNOK_on, SvNOK_only, SvNOK_only,
1513 SvNOKp, SvNV, SvNVX, SvPOK, SvPOK_off, SvPOK_on, SvPOK_only, SvPOK_only,
1514 SvPOKp, SvPV, SvPVX, SvREFCNT, SvREFCNT_dec, SvREFCNT_inc, SvROK,
1515 SvROK_off, SvROK_on, SvRV, sv_setiv, sv_setnv, sv_setpv, sv_setpvn,
1516 sv_setref_iv, sv_setref_nv, sv_setref_pv, sv_setref_pvn, sv_setsv, SvSTASH,
1517 SVt_IV, SVt_PV, SVt_PVAV, SVt_PVCV, SVt_PVHV, SVt_PVMG, SVt_NV, SvTRUE,
1518 SvTYPE, svtype, SvUPGRADE, sv_upgrade, sv_undef, sv_unref, sv_usepvn,
1519 sv_yes, THIS, toLOWER, toUPPER, warn, XPUSHi, XPUSHn, XPUSHp, XPUSHs, XS,
1520 XSRETURN, XSRETURN_EMPTY, XSRETURN_IV, XSRETURN_NO, XSRETURN_NV,
1521 XSRETURN_PV, XSRETURN_UNDEF, XSRETURN_YES, XST_mIV, XST_mNV, XST_mNO,
1522 XST_mPV, XST_mUNDEF, XST_mYES, XS_VERSION, XS_VERSION_BOOTCHECK, Zero
1528 =head2 perlcall - Perl calling conventions from C
1532 An Error Handler, An Event Driven Program
1534 =item THE PERL_CALL FUNCTIONS
1536 B<perl_call_sv>, B<perl_call_pv>, B<perl_call_method>, B<perl_call_argv>
1554 =item Determining the Context
1558 =item KNOWN PROBLEMS
1564 =item No Parameters, Nothing returned
1566 =item Passing Parameters
1568 =item Returning a Scalar
1570 =item Returning a list of values
1572 =item Returning a list in a scalar context
1574 =item Returning Data from Perl via the parameter list
1578 =item Using G_KEEPERR
1580 =item Using perl_call_sv
1582 =item Using perl_call_argv
1584 =item Using perl_call_method
1588 =item Using Perl to dispose of temporaries
1590 =item Strategies for storing Callback Context Information
1592 1. Ignore the problem - Allow only 1 callback, 2. Create a sequence of
1593 callbacks - hard wired limit, 3. Use a parameter to map to the Perl
1596 =item Alternate Stack Manipulation
1606 =head1 PRAGMA DOCUMENTATION
1608 =head2 blib - Use MakeMaker's uninstalled version of a package
1618 =head2 diagnostics - Perl compiler pragma to force verbose warning
1627 =item The C<diagnostics> Pragma
1629 =item The I<splain> Program
1641 =head2 integer - Perl pragma to compute arithmetic in integer instead of
1648 =head2 less - perl pragma to request less of something from the compiler
1654 =head2 lib - manipulate @INC at compile time
1662 =item ADDING DIRECTORIES TO @INC
1664 =item DELETING DIRECTORIES FROM @INC
1666 =item RESTORING ORIGINAL @INC
1674 =head2 locale - Perl pragma to use and avoid POSIX locales for built-in
1681 =head2 ops - Perl pragma to restrict unsafe operations when compiling
1689 =head2 overload - Package for overloading perl operations
1693 =item CAVEAT SCRIPTOR
1699 =item Declaration of overloaded functions
1701 =item Calling Conventions for Binary Operations
1703 FALSE, TRUE, C<undef>
1705 =item Calling Conventions for Unary Operations
1707 =item Overloadable Operations
1709 I<Arithmetic operations>, I<Comparison operations>, I<Bit operations>,
1710 I<Increment and decrement>, I<Transcendental functions>, I<Boolean, string
1711 and numeric conversion>, I<Special>
1713 =item Inheritance and overloading
1715 Strings as values of C<use overload> directive, Overloading of an operation
1716 is inherited by derived classes
1720 =item SPECIAL SYMBOLS FOR C<use overload>
1728 C<undef>, TRUE, defined, but FALSE
1730 =item Copy Constructor
1736 =item MAGIC AUTOGENERATION
1738 I<Assignment forms of arithmetic operations>, I<Conversion operations>,
1739 I<Increment and decrement>, C<abs($a)>, I<Unary minus>, I<Negation>,
1740 I<Concatenation>, I<Comparison operations>, I<Copy operator>
1744 =item Run-time Overloading
1746 =item Public functions
1748 overload::StrVal(arg), overload::Overloaded(arg), overload::Method(obj,op)
1750 =item IMPLEMENTATION
1758 =head2 sigtrap - Perl pragma to enable simple signal handling
1768 =item SIGNAL HANDLERS
1770 B<stack-trace>, B<die>, B<handler> I<your-handler>
1774 B<normal-signals>, B<error-signals>, B<old-interface-signals>
1778 B<untrapped>, B<any>, I<signal>, I<number>
1784 =head2 strict - Perl pragma to restrict unsafe constructs
1790 C<strict refs>, C<strict vars>, C<strict subs>
1792 =head2 subs - Perl pragma to predeclare sub names
1798 =head2 vars - Perl pragma to predeclare global variable names
1804 =head1 MODULE DOCUMENTATION
1806 =head2 AnyDBM_File - provide framework for multiple DBMs
1814 =item DBM Comparisons
1822 =head2 AutoLoader - load functions only on demand
1834 =item Package Lexicals
1836 =item AutoLoader vs. SelfLoader
1842 =head2 AutoSplit - split a package for autoloading
1852 =head2 Benchmark - benchmark running times of code
1864 =item Standard Exports
1866 timeit(COUNT, CODE), timethis, timethese, timediff, timestr
1868 =item Optional Exports
1880 =item MODIFICATION HISTORY
1882 =head2 Bundle::CPAN - A bundle to play with all the other modules on CPAN
1892 =head2 CPAN - query, download and build perl modules from CPAN sites
1900 =item Interactive Mode
1902 Searching for authors, bundles, distribution files and modules, make, test,
1903 install, clean modules or distributions, readme, look module or
1912 =item ProgrammerE<39>s interface
1922 =item Floppy, Zip, and all that Jazz
1928 o conf E<lt>scalar optionE<gt>, o conf E<lt>scalar optionE<gt>
1929 E<lt>valueE<gt>, o conf E<lt>list optionE<gt>, o conf E<lt>list optionE<gt>
1930 [shift|pop], o conf E<lt>list optionE<gt> [unshift|push|splice]
1943 =head2 CPAN::FirstTime - Utility for CPAN::Config file Initialization
1949 =head2 CPANox, CPAN::Nox - Wrapper around CPAN.pm without using any XS
1958 =head2 Carp, carp - warn of errors (from perspective of caller)
1964 =head2 Class::Template - struct/member template builder
1972 Example 1, Example 2
1976 =head2 Config - access Perl configuration information
1982 myconfig(), config_sh(), config_vars(@names)
1990 =head2 Cwd, getcwd - get pathname of current working directory
1996 =head2 DB_File - Perl5 access to Berkeley DB
2002 B<DB_HASH>, B<DB_BTREE>, B<DB_RECNO>
2006 =item How does DB_File interface to Berkeley DB?
2008 =item Opening a Berkeley DB Database File
2010 =item Default Parameters
2012 =item In Memory Databases
2020 =item A Simple Example.
2028 =item Changing the BTREE sort order
2030 =item Handling duplicate keys
2032 =item The get_dup method.
2034 =item Matching Partial Keys
2042 =item The bval option
2044 =item A Simple Example
2048 B<$X-E<gt>push(list) ;>, B<$value = $X-E<gt>pop ;>, B<$X-E<gt>shift>,
2049 B<$X-E<gt>unshift(list) ;>, B<$X-E<gt>length>
2051 =item Another Example
2055 =item THE API INTERFACE
2057 B<$status = $X-E<gt>get($key, $value [, $flags]) ;>, B<$status =
2058 $X-E<gt>put($key, $value [, $flags]) ;>, B<$status = $X-E<gt>del($key [,
2059 $flags]) ;>, B<$status = $X-E<gt>fd ;>, B<$status = $X-E<gt>seq($key,
2060 $value, $flags) ;>, B<$status = $X-E<gt>sync([$flags]) ;>
2062 =item HINTS AND TIPS
2066 =item Locking Databases
2068 =item Sharing databases with C applications
2070 =item The untie gotcha
2074 =item COMMON QUESTIONS
2078 =item Why is there Perl source in my database?
2080 =item How do I store complex data structures with DB_File?
2082 =item What does "Invalid Argument" mean?
2084 =item What does "Bareword 'DB_File' not allowed" mean?
2098 =head2 Devel::SelfStubber - generate stubs for a SelfLoading module
2104 =head2 DirHandle - supply object methods for directory handles
2110 =head2 DynaLoader - Dynamically load C libraries into Perl code
2116 @dl_library_path, @dl_resolve_using, @dl_require_symbols, @dl_librefs,
2117 @dl_modules, dl_error(), $dl_debug, dl_findfile(), dl_expandspec(),
2118 dl_load_file(), dl_loadflags(), dl_find_symbol(),
2119 dl_find_symbol_anywhere(), dl_undef_symbols(), dl_install_xsub(),
2124 =head2 English - use nice English (or awk) names for ugly punctuation
2131 =head2 Env - perl module that imports environment variables
2139 =head2 Exporter - Implements default import method for modules
2147 =item Selecting What To Export
2149 =item Specialised Import Lists
2151 =item Module Version Checking
2153 =item Managing Unknown Symbols
2155 =item Tag Handling Utility Functions
2159 =head2 ExtUtils::Embed - Utilities for embedding Perl in C/C++ applications
2169 xsinit(), Examples, ldopts(), Examples, perl_inc(), ccflags(), ccdlflags(),
2170 ccopts(), xsi_header(), xsi_protos(@modules), xsi_body(@modules)
2178 =head2 ExtUtils::Install - install files from here to there
2184 =head2 ExtUtils::Liblist - determine libraries to use and how to use them
2190 For static extensions, For dynamic extensions, For dynamic extensions
2196 =item LDLOADLIBS and LD_RUN_PATH
2206 =item VMS implementation
2212 =head2 ExtUtils::MM_OS2 - methods to override UN*X behaviour in
2219 =head2 ExtUtils::MM_Unix - methods used by ExtUtils::MakeMaker
2229 =item Preloaded methods
2231 canonpath, catdir, catfile, curdir, rootdir, updir
2233 =item SelfLoaded methods
2235 c_o (o), cflags (o), clean (o), const_cccmd (o), const_config (o),
2236 const_loadlibs (o), constants (o), depend (o), dir_target (o), dist (o),
2237 dist_basics (o), dist_ci (o), dist_core (o), dist_dir (o), dist_test (o),
2238 dlsyms (o), dynamic (o), dynamic_bs (o), dynamic_lib (o), exescan,
2239 extliblist, file_name_is_absolute, find_perl
2241 =item Methods to actually produce chunks of text for the Makefile
2243 force (o), guess_name, has_link_code, init_dirscan, init_main, init_others,
2244 install (o), installbin (o), libscan (o), linkext (o), lsdir, macro (o),
2245 makeaperl (o), makefile (o), manifypods (o), maybe_command,
2246 maybe_command_in_dirs, needs_linking (o), nicetext, parse_version, pasthru
2247 (o), path, perl_script, perldepend (o), pm_to_blib, post_constants (o),
2248 post_initialize (o), postamble (o), prefixify, processPL (o), realclean
2249 (o), replace_manpage_separator, static (o), static_lib (o), staticmake (o),
2250 subdir_x (o), subdirs (o), test (o), test_via_harness (o), test_via_script
2251 (o), tool_autosplit (o), tools_other (o), tool_xsubpp (o), top_targets (o),
2252 writedoc, xs_c (o), xs_o (o)
2258 =head2 ExtUtils::MM_VMS - methods to override UN*X behaviour in
2267 =item Methods always loaded
2269 eliminate_macros, fixpath, catdir, catfile, wraplist, curdir (override),
2270 rootdir (override), updir (override)
2272 =item SelfLoaded methods
2274 guess_name (override), find_perl (override), path (override), maybe_command
2275 (override), maybe_command_in_dirs (override), perl_script (override),
2276 file_name_is_absolute (override), replace_manpage_separator, init_others
2277 (override), constants (override), cflags (override), const_cccmd
2278 (override), pm_to_blib (override), tool_autosplit (override), tool_sxubpp
2279 (override), xsubpp_version (override), tools_other (override), dist
2280 (override), c_o (override), xs_c (override), xs_o (override), top_targets
2281 (override), dlsyms (override), dynamic_lib (override), dynamic_bs
2282 (override), static_lib (override), manifypods (override), processPL
2283 (override), installbin (override), subdir_x (override), clean (override),
2284 realclean (override), dist_basics (override), dist_core (override),
2285 dist_dir (override), dist_test (override), install (override), perldepend
2286 (override), makefile (override), test (override), test_via_harness
2287 (override), test_via_script (override), makeaperl (override), nicetext
2292 =head2 ExtUtils::MakeMaker - create an extension Makefile
2300 =item How To Write A Makefile.PL
2302 =item Default Makefile Behaviour
2310 =item PREFIX and LIB attribute
2314 =item Static Linking of a new Perl Binary
2316 =item Determination of Perl Library and Installation Locations
2318 =item Which architecture dependent directory?
2320 =item Using Attributes and Parameters
2322 C, CONFIG, CONFIGURE, DEFINE, DIR, DISTNAME, DL_FUNCS, DL_VARS,
2323 EXCLUDE_EXT, EXE_FILES, NO_VC, FIRST_MAKEFILE, FULLPERL, H, INC,
2324 INCLUDE_EXT, INSTALLARCHLIB, INSTALLBIN, INSTALLDIRS, INSTALLMAN1DIR,
2325 INSTALLMAN3DIR, INSTALLPRIVLIB, INSTALLSCRIPT, INSTALLSITELIB,
2326 INSTALLSITEARCH, INST_ARCHLIB, INST_BIN, INST_EXE, INST_LIB, INST_MAN1DIR,
2327 INST_MAN3DIR, INST_SCRIPT, LDFROM, LIBPERL_A, LIB, LIBS, LINKTYPE,
2328 MAKEAPERL, MAKEFILE, MAN1PODS, MAN3PODS, MAP_TARGET, MYEXTLIB, NAME,
2329 NEEDS_LINKING, NOECHO, NORECURS, OBJECT, OPTIMIZE, PERL, PERLMAINCC,
2330 PERL_ARCHLIB, PERL_LIB, PERL_SRC, PL_FILES, PM, PMLIBDIRS, PREFIX,
2331 PREREQ_PM, SKIP, TYPEMAPS, VERSION, VERSION_FROM, XS, XSOPT, XSPROTOARG,
2334 =item Additional lowercase attributes
2336 clean, depend, dist, dynamic_lib, installpm, linkext, macro, realclean,
2339 =item Overriding MakeMaker Methods
2341 =item Hintsfile support
2343 =item Distribution Support
2345 make distcheck, make skipcheck, make distclean, make manifest,
2346 make distdir, make tardist, make dist, make uutardist, make
2347 shdist, make zipdist, make ci
2355 =head2 ExtUtils::Manifest - utilities to write and check a MANIFEST file
2365 =item GLOBAL VARIABLES
2369 C<Not in MANIFEST:> I<file>, C<No such file:> I<file>, C<MANIFEST:> I<$!>,
2370 C<Added to MANIFEST:> I<file>
2376 =head2 ExtUtils::Miniperl, writemain - write the C code for perlmain.c
2384 =head2 ExtUtils::Mkbootstrap - make a bootstrap file for use by DynaLoader
2390 =head2 ExtUtils::Mksymlists - write linker options files for dynamic
2397 NAME, DL_FUNCS, DL_VARS, FILE, FUNCLIST, DLBASE
2403 =head2 ExtUtils::testlib - add blib/* directories to @INC
2409 =head2 Fcntl - load the C Fcntl.h defines
2417 =item EXPORTED SYMBOLS
2419 =head2 File::Basename, fileparse - split a pathname into pieces
2425 fileparse_set_fstype, fileparse
2429 C<basename>, C<dirname>
2431 =head2 File::CheckTree, validate - run many filetest checks on a tree
2437 =head2 File::Compare - Compare files or filehandles
2447 =head2 File::Copy - Copy files or filehandles
2455 =item Special behavior if C<syscopy> is defined (VMS and OS/2)
2457 rmscopy($from,$to[,$date_flag])
2465 =head2 File::Find, find - traverse a file tree
2471 =head2 File::Path - create or remove a series of directories
2481 =head2 File::stat - by-name interface to Perl's built-in stat() functions
2491 =head2 FileCache - keep more files open than the system permits
2499 =head2 FileHandle - supply object methods for filehandles
2505 $fh->print, $fh->printf, $fh->getline, $fh->getlines
2509 =head2 FindBin - Locate directory of original perl script
2515 =item EXPORTABLE VARIABLES
2525 =head2 GDBM_File - Perl5 access to the gdbm library.
2537 =head2 Getopt::Long, GetOptions - extended processing of command line
2544 E<lt>noneE<gt>, !, =s, :s, =i, :i, =f, :f
2548 =item Linkage specification
2550 =item Aliases and abbreviations
2552 =item Non-option call-back routine
2554 =item Option starters
2564 =item CONFIGURATION VARIABLES
2566 $Getopt::Long::autoabbrev, $Getopt::Long::getopt_compat,
2567 $Getopt::Long::order, $Getopt::Long::bundling, $Getopt::Long::ignorecase,
2568 $Getopt::Long::passthrough, $Getopt::Long::VERSION, $Getopt::Long::error,
2569 $Getopt::Long::debug
2571 =head2 Getopt::Std, getopt - Process single-character switches with switch
2578 =head2 I18N::Collate - compare 8-bit scalar data according to the current
2585 =head2 IO - load various IO modules
2591 =head2 IO::File - supply object methods for filehandles
2603 open( FILENAME [,MODE [,PERMS]] )
2609 =head2 IO::Handle - supply object methods for I/O handles
2617 new (), new_from_fd ( FD, MODE )
2621 $fh->getline, $fh->getlines, $fh->fdopen ( FD, MODE ), $fh->write ( BUF,
2622 LEN [, OFFSET }\] ), $fh->opened, $fh->untaint
2632 =head2 IO::Pipe, IO::pipe - supply object methods for pipes
2640 new ( [READER, WRITER] )
2644 reader ([ARGS]), writer ([ARGS]), handles ()
2652 =head2 IO::Seekable - supply seek based methods for I/O objects
2662 =head2 IO::Select - OO interface to the select system call
2674 add ( HANDLES ), remove ( HANDLES ), exists ( HANDLE ), handles, can_read (
2675 [ TIMEOUT ] ), can_write ( [ TIMEOUT ] ), has_error ( [ TIMEOUT ] ), count
2676 (), bits(), bits(), select ( READ, WRITE, ERROR [, TIMEOUT ] )
2684 =head2 IO::Socket - Object interface to socket communications
2696 accept([PKG]), timeout([VAL]), sockopt(OPT [, VAL]), sockdomain, socktype,
2703 =item IO::Socket::INET
2707 sockaddr (), sockport (), sockhost (), peeraddr (), peerport (), peerhost
2710 =item IO::Socket::UNIX
2714 hostpath(), peerpath()
2724 =head2 IO::lib::IO::File, IO::File - supply object methods for filehandles
2736 open( FILENAME [,MODE [,PERMS]] )
2742 =head2 IO::lib::IO::Handle, IO::Handle - supply object methods for I/O
2751 new (), new_from_fd ( FD, MODE )
2755 $fh->getline, $fh->getlines, $fh->fdopen ( FD, MODE ), $fh->write ( BUF,
2756 LEN [, OFFSET }\] ), $fh->opened, $fh->untaint
2766 =head2 IO::lib::IO::Pipe, IO::pipe - supply object methods for pipes
2774 new ( [READER, WRITER] )
2778 reader ([ARGS]), writer ([ARGS]), handles ()
2786 =head2 IO::lib::IO::Seekable, IO::Seekable - supply seek based methods for
2797 =head2 IO::lib::IO::Select, IO::Select - OO interface to the select system
2810 add ( HANDLES ), remove ( HANDLES ), exists ( HANDLE ), handles, can_read (
2811 [ TIMEOUT ] ), can_write ( [ TIMEOUT ] ), has_error ( [ TIMEOUT ] ), count
2812 (), bits(), bits(), select ( READ, WRITE, ERROR [, TIMEOUT ] )
2820 =head2 IO::lib::IO::Socket, IO::Socket - Object interface to socket
2833 accept([PKG]), timeout([VAL]), sockopt(OPT [, VAL]), sockdomain, socktype,
2840 =item IO::Socket::INET
2844 sockaddr (), sockport (), sockhost (), peeraddr (), peerport (), peerhost
2847 =item IO::Socket::UNIX
2851 hostpath(), peerpath()
2861 =head2 IPC::Open2, open2 - open a process for both reading and writing
2871 =head2 IPC::Open3, open3 - open a process for reading, writing, and error
2880 =head2 Math::BigFloat - Arbitrary length float math package
2886 number format, Error returns 'NaN', Division is computed to
2892 =head2 Math::BigInt - Arbitrary size integer math package
2898 Canonical notation, Input, Output
2906 =head2 Math::Complex - complex numbers and associated mathematical
2917 =item STRINGIFICATION
2925 =head2 NDBM_File - Tied access to ndbm files
2931 =head2 Net::Ping - check a remote host for reachability
2941 Net::Ping->new([$proto [, $def_timeout [, $bytes]]]);, $p->ping($host [,
2942 $timeout]);, $p->close();, pingecho($host [, $timeout]);
2950 =head2 Net::hostent - by-name interface to Perl's built-in gethost*()
2963 =head2 Net::netent - by-name interface to Perl's built-in getnet*()
2976 =head2 Net::protoent - by-name interface to Perl's built-in getproto*()
2987 =head2 Net::servent - by-name interface to Perl's built-in getserv*()
3000 =head2 ODBM_File - Tied access to odbm files
3006 =head2 Opcode - Disable named opcodes when compiling perl code
3016 =item Operator Names and Operator Lists
3018 an operator name (opname), an operator tag name (optag), a negated opname
3019 or optag, an operator set (opset)
3021 =item Opcode Functions
3023 opcodes, opset (OP, ...), opset_to_ops (OPSET), opset_to_hex (OPSET),
3024 full_opset, empty_opset, invert_opset (OPSET), verify_opset (OPSET, ...),
3025 define_optag (OPTAG, OPSET), opmask_add (OPSET), opmask, opdesc (OP, ...),
3028 =item Manipulating Opsets
3032 =item Predefined Opcode Tags
3034 :base_core, :base_mem, :base_loop, :base_io, :base_orig, :base_math,
3035 :default, :filesys_read, :sys_db, :browse, :filesys_open, :filesys_write,
3036 :subprocess, :ownprocess, :others, :still_to_be_decided, :dangerous
3042 =head2 Opcode::Safe, Safe - Compile and execute code in restricted
3049 a new namespace, an operator mask
3055 =item RECENT CHANGES
3057 =item Methods in class Safe
3059 permit (OP, ...), permit_only (OP, ...), deny (OP, ...), deny_only (OP,
3060 ...), trap (OP, ...), untrap (OP, ...), share (NAME, ...), share_from
3061 (PACKAGE, ARRAYREF), varglob (VARNAME), reval (STRING), rdo (FILENAME),
3062 root (NAMESPACE), mask (MASK)
3064 =item Some Safety Issues
3066 Memory, CPU, Snooping, Signals, State Changes
3072 =head2 Opcode::ops, ops - Perl pragma to restrict unsafe operations when
3081 =head2 POSIX - Perl interface to IEEE Std 1003.1
3093 _exit, abort, abs, access, acos, alarm, asctime, asin, assert, atan, atan2,
3094 atexit, atof, atoi, atol, bsearch, calloc, ceil, chdir, chmod, chown,
3095 clearerr, clock, close, closedir, cos, cosh, creat, ctermid, ctime,
3096 cuserid, difftime, div, dup, dup2, errno, execl, execle, execlp, execv,
3097 execve, execvp, exit, exp, fabs, fclose, fcntl, fdopen, feof, ferror,
3098 fflush, fgetc, fgetpos, fgets, fileno, floor, fmod, fopen, fork, fpathconf,
3099 fprintf, fputc, fputs, fread, free, freopen, frexp, fscanf, fseek, fsetpos,
3100 fstat, ftell, fwrite, getc, getchar, getcwd, getegid, getenv, geteuid,
3101 getgid, getgrgid, getgrnam, getgroups, getlogin, getpgrp, getpid, getppid,
3102 getpwnam, getpwuid, gets, getuid, gmtime, isalnum, isalpha, isatty,
3103 iscntrl, isdigit, isgraph, islower, isprint, ispunct, isspace, isupper,
3104 isxdigit, kill, labs, ldexp, ldiv, link, localeconv, localtime, log, log10,
3105 longjmp, lseek, malloc, mblen, mbstowcs, mbtowc, memchr, memcmp, memcpy,
3106 memmove, memset, mkdir, mkfifo, mktime, modf, nice, offsetof, open,
3107 opendir, pathconf, pause, perror, pipe, pow, printf, putc, putchar, puts,
3108 qsort, raise, rand, read, readdir, realloc, remove, rename, rewind,
3109 rewinddir, rmdir, scanf, setgid, setjmp, setlocale, setpgid, setsid,
3110 setuid, sigaction, siglongjmp, sigpending, sigprocmask, sigsetjmp,
3111 sigsuspend, sin, sinh, sleep, sprintf, sqrt, srand, sscanf, stat, strcat,
3112 strchr, strcmp, strcoll, strcpy, strcspn, strerror, strftime, strlen,
3113 strncat, strncmp, strncpy, stroul, strpbrk, strrchr, strspn, strstr,
3114 strtod, strtok, strtol, strtoul, strxfrm, sysconf, system, tan, tanh,
3115 tcdrain, tcflow, tcflush, tcgetpgrp, tcsendbreak, tcsetpgrp, time, times,
3116 tmpfile, tmpnam, tolower, toupper, ttyname, tzname, tzset, umask, uname,
3117 ungetc, unlink, utime, vfprintf, vprintf, vsprintf, wait, waitpid,
3118 wcstombs, wctomb, write
3124 =item POSIX::SigAction
3130 new, addset, delset, emptyset, fillset, ismember
3132 =item POSIX::Termios
3134 new, getattr, getcc, getcflag, getiflag, getispeed, getlflag, getoflag,
3135 getospeed, setattr, setcc, setcflag, setiflag, setispeed, setlflag,
3136 setoflag, setospeed, Baud rate values, Terminal interface values, c_cc
3137 field values, c_cflag field values, c_iflag field values, c_lflag field
3138 values, c_oflag field values
3142 =item PATHNAME CONSTANTS
3146 =item POSIX CONSTANTS
3150 =item SYSTEM CONFIGURATION
3208 =head2 Pod::Text - convert POD data to formatted ASCII text
3218 =head2 SDBM_File - Tied access to sdbm files
3224 =head2 Safe - Compile and execute code in restricted compartments
3230 a new namespace, an operator mask
3236 =item RECENT CHANGES
3238 =item Methods in class Safe
3240 permit (OP, ...), permit_only (OP, ...), deny (OP, ...), deny_only (OP,
3241 ...), trap (OP, ...), untrap (OP, ...), share (NAME, ...), share_from
3242 (PACKAGE, ARRAYREF), varglob (VARNAME), reval (STRING), rdo (FILENAME),
3243 root (NAMESPACE), mask (MASK)
3245 =item Some Safety Issues
3247 Memory, CPU, Snooping, Signals, State Changes
3253 =head2 Search::Dict, look - search for key in dictionary file
3259 =head2 SelectSaver - save and restore selected file handle
3265 =head2 SelfLoader - load functions only on demand
3273 =item The __DATA__ token
3275 =item SelfLoader autoloading
3277 =item Autoloading and package lexicals
3279 =item SelfLoader and AutoLoader
3281 =item __DATA__, __END__, and the FOOBAR::DATA filehandle.
3283 =item Classes and inherited methods.
3287 =item Multiple packages and fully qualified subroutine names
3289 =head2 Shell - run shell commands transparently within perl
3297 =head2 Socket, sockaddr_in, sockaddr_un, inet_aton, inet_ntoa - load the C
3298 socket.h defines and structure manipulators
3304 inet_aton HOSTNAME, inet_ntoa IP_ADDRESS, INADDR_ANY, INADDR_BROADCAST,
3305 INADDR_LOOPBACK, INADDR_NONE, sockaddr_in PORT, ADDRESS, sockaddr_in
3306 SOCKADDR_IN, pack_sockaddr_in PORT, IP_ADDRESS, unpack_sockaddr_in
3307 SOCKADDR_IN, sockaddr_un PATHNAME, sockaddr_un SOCKADDR_UN,
3308 pack_sockaddr_un PATH, unpack_sockaddr_un SOCKADDR_UN
3310 =head2 Symbol - manipulate Perl symbols and their names
3316 =head2 Sys::Hostname - Try every conceivable way to get hostname
3324 =head2 Syslog, Sys::Syslog, openlog, closelog, setlogmask, syslog - Perl
3325 interface to the UNIX syslog(3) calls
3331 openlog $ident, $logopt, $facility, syslog $priority, $format, @args,
3332 setlogmask $mask_priority, closelog
3342 =head2 Term::Cap - Perl termcap interface
3350 =head2 Term::Complete - Perl word completion module
3356 E<lt>tabE<gt>Attempts word completion.
3357 Cannot be changed, ^D, ^U, E<lt>delE<gt>, E<lt>bsE<gt>
3365 =head2 Term::ReadLine - Perl interface to various C<readline> packages. If
3366 no real package is found, substitutes stubs instead of basic functions.
3372 =item Minimal set of supported functions
3374 C<ReadLine>, C<new>, C<readline>, C<addhistory>, C<IN>, $C<OUT>,
3375 C<MinLine>, C<findConsole>, C<Features>
3379 =head2 Test::Harness - run perl standard test scripts with statistics
3387 =item The test script output
3395 C<All tests successful.\nFiles=%d, Tests=%d, %s>, C<FAILED tests
3396 %s\n\tFailed %d/%d tests, %.2f%% okay.>, C<Test returned status %d (wstat
3397 %d)>, C<Failed 1 test, %.2f%% okay. %s>, C<Failed %d/%d tests, %.2f%% okay.
3406 =head2 Text::Abbrev, abbrev - create an abbreviation table from a list
3414 =head2 Text::ParseWords - parse text into an array of tokens
3422 =head2 Text::Soundex - Implementation of the Soundex Algorithm as Described
3435 =head2 Text::Tabs -- expand and unexpand tabs per the unix expand(1) and
3446 =head2 Text::Wrap - line wrapping to form simple paragraphs
3458 =head2 Tie::Hash, Tie::StdHash - base class definitions for tied hashes
3464 TIEHASH classname, LIST, STORE this, key, value, FETCH this, key, FIRSTKEY
3465 this, NEXTKEY this, lastkey, EXISTS this, key, DELETE this, key, CLEAR this
3469 =item MORE INFORMATION
3471 =head2 Tie::RefHash - use references as hash keys
3485 =head2 Tie::Scalar, Tie::StdScalar - base class definitions for tied
3492 TIESCALAR classname, LIST, FETCH this, STORE this, value, DESTROY this
3494 =item MORE INFORMATION
3496 =head2 Tie::SubstrHash - Fixed-table-size, fixed-key-length hashing
3504 =head2 Time::Local - efficiently compute time from local and GMT time
3510 =head2 Time::gmtime - by-name interface to Perl's built-in gmtime()
3521 =head2 Time::localtime - by-name interface to Perl's built-in localtime()
3532 =head2 Time::tm - internal object used by Time::gmtime and Time::localtime
3540 =head2 UNIVERSAL - base class for ALL classes (blessed references)
3546 isa ( TYPE ), can ( METHOD ), VERSION ( [ REQUIRE ] ), isa ( REF, TYPE )
3548 =head2 User::grent - by-name interface to Perl's built-in getgr*()
3559 =head2 User::pwent - by-name interface to Perl's built-in getpw*()
3570 =head1 AUXILIARY DOCUMENTATION
3572 Here should be listed all the extra programs' documentation, but they
3573 don't all have manual pages yet:
3595 Larry Wall E<lt>F<larry@wall.org>E<gt>, with the help of oodles