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, keys as an lvalue, my() in Control Structures,
68 unpack() and pack(), use VERSION, use Module VERSION LIST,
69 prototype(FUNCTION), $_ as Default, C<m//g> does not trigger a pos() reset
70 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] ), class(), is_instance()
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
94 =item Module Information Summary
104 =item Overridden Built-ins
108 =item Utility Changes
114 C<void> XSUBs now default to returning nothing
118 =item C Language API Changes
120 C<gv_fetchmethod> and C<perl_call_sv>
122 =item Documentation Changes
124 L<perldelta>, L<perllocale>, L<perltoot>, L<perlapio>, L<perldebug>,
127 =item New Diagnostics
129 "my" variable %s masks earlier declaration in same scope, %s argument is
130 not a HASH element or slice, Allocation too large: %lx, Allocation too
131 large, Attempt to free non-existent shared string, Attempt to use reference
132 as lvalue in substr, Unsupported function fork, Ill-formed logical name
133 |%s| in prime_env_iter, Can't use bareword ("%s") as %s ref while "strict
134 refs" in use, Constant subroutine %s redefined, Died, Integer overflow in
135 hex number, Integer overflow in octal number, Name "%s::%s" used only once:
136 possible typo, Null picture in formline, Offset outside string, Stub found
137 while resolving method `%s' overloading `%s' in package `%s', Cannot
138 resolve method `%s' overloading `%s' in package `s', Out of memory!, Out of
139 memory during request for %s, Possible attempt to put comments in qw()
140 list, Possible attempt to separate words with commas, Scalar value @%s{%s}
141 better written as $%s{%s}, untie attempted while %d inner references still
142 exist, Value of %s construct can be "0"; test with defined(), Variable "%s"
143 may be unavailable, Variable "%s" will not stay shared, Warning:
144 something's wrong, Got an error from DosAllocMem, Malformed PERLLIB_PREFIX,
145 PERL_SH_DIR too long, Process terminated by SIG%s
153 =head2 perldata - Perl data types
165 =item Scalar value constructors
167 =item List value constructors
169 =item Typeglobs and Filehandles
173 =head2 perlsyn - Perl syntax
181 =item Simple statements
183 =item Compound statements
191 =item Basic BLOCKs and Switch Statements
195 =item PODs: Embedded Documentation
197 =item Plain Old Comments (Not!)
201 =head2 perlop - Perl operators and precedence
209 =item Terms and List Operators (Leftward)
211 =item The Arrow Operator
213 =item Auto-increment and Auto-decrement
217 =item Symbolic Unary Operators
219 =item Binding Operators
221 =item Multiplicative Operators
223 =item Additive Operators
225 =item Shift Operators
227 =item Named Unary Operators
229 =item Relational Operators
231 =item Equality Operators
235 =item Bitwise Or and Exclusive Or
237 =item C-style Logical And
239 =item C-style Logical Or
243 =item Conditional Operator
245 =item Assignment Operators
249 =item List Operators (Rightward)
255 =item Logical or and Exclusive Or
257 =item C Operators Missing From Perl
259 unary &, unary *, (TYPE)
261 =item Quote and Quote-like Operators
263 =item Regexp Quote-Like Operators
265 ?PATTERN?, m/PATTERN/gimosx, /PATTERN/gimosx, q/STRING/, C<'STRING'>,
266 qq/STRING/, "STRING", qx/STRING/, `STRING`, qw/STRING/,
267 s/PATTERN/REPLACEMENT/egimosx, tr/SEARCHLIST/REPLACEMENTLIST/cds,
268 y/SEARCHLIST/REPLACEMENTLIST/cds
272 =item Constant Folding
274 =item Integer Arithmetic
278 =head2 perlre - Perl regular expressions
286 =item Regular Expressions
288 (?#text), (?:regexp), (?=regexp), (?!regexp), (?imsx)
292 =item Version 8 Regular Expressions
294 =item WARNING on \1 vs $1
298 =head2 perlrun - how to execute the Perl interpreter
308 B<-0>[I<digits>], B<-a>, B<-c>, B<-d>, B<-d:>I<foo>, B<-D>I<number>,
309 B<-D>I<list>, B<-e> I<commandline>, B<-F>I<pattern>, B<-h>,
310 B<-i>[I<extension>], B<-I>I<directory>, B<-l>[I<octnum>],
311 B<-m>[B<->]I<module>, B<-M>[B<->]I<module>, B<-M>[B<->]I<'module ...'>,
312 B<-[mM]>[B<->]I<module=arg[,arg]...>, B<-n>, B<-p>, B<-P>, B<-s>, B<-S>,
313 B<-T>, B<-u>, B<-U>, B<-v>, B<-V>, B<-V:>I<name>, B<-w>, B<-x> I<directory>
317 =head2 perlfunc - Perl builtin functions
321 I<THERE IS NO GENERAL RULE FOR CONVERTING A LIST INTO A SCALAR!>
325 =item Perl Functions by Category
327 Functions for SCALARs or strings, Regular expressions and pattern matching,
328 Numeric functions, Functions for real @ARRAYs, Functions for list data,
329 Functions for real %HASHes, Input and output functions, Functions for fixed
330 length data or records, Functions for filehandles, files, or directories,
331 Keywords related to the control flow of your perl program, Keywords related
332 to scoping, Miscellaneous functions, Functions for processes and process
333 groups, Keywords related to perl modules, Keywords related to classes and
334 object-orientedness, Low-level socket functions, System V interprocess
335 communication functions, Fetching user and group info, Fetching network
336 info, Time-related functions, Functions new in perl5, Functions obsoleted
339 =item Alphabetical Listing of Perl Functions
341 -I<X> FILEHANDLE, -I<X> EXPR, -I<X>, abs VALUE, abs, accept
342 NEWSOCKET,GENERICSOCKET, alarm SECONDS, alarm, atan2 Y,X, bind SOCKET,NAME,
343 binmode FILEHANDLE, bless REF,CLASSNAME, bless REF, caller EXPR, caller,
344 chdir EXPR, chmod LIST, chomp VARIABLE, chomp LIST, chomp, chop VARIABLE,
345 chop LIST, chop, chown LIST, chr NUMBER, chr, chroot FILENAME, chroot,
346 close FILEHANDLE, closedir DIRHANDLE, connect SOCKET,NAME, continue BLOCK,
347 cos EXPR, crypt PLAINTEXT,SALT, dbmclose ASSOC_ARRAY, dbmopen
348 ASSOC,DBNAME,MODE, defined EXPR, defined, delete EXPR, die LIST, do BLOCK,
349 do SUBROUTINE(LIST), do EXPR, dump LABEL, each ASSOC_ARRAY, eof FILEHANDLE,
350 eof (), eof, eval EXPR, eval BLOCK, exec LIST, exists EXPR, exit EXPR, exp
351 EXPR, exp, fcntl FILEHANDLE,FUNCTION,SCALAR, fileno FILEHANDLE, flock
352 FILEHANDLE,OPERATION, fork, format, formline PICTURE, LIST, getc
353 FILEHANDLE, getc, getlogin, getpeername SOCKET, getpgrp PID, getppid,
354 getpriority WHICH,WHO, getpwnam NAME, getgrnam NAME, gethostbyname NAME,
355 getnetbyname NAME, getprotobyname NAME, getpwuid UID, getgrgid GID,
356 getservbyname NAME,PROTO, gethostbyaddr ADDR,ADDRTYPE, getnetbyaddr
357 ADDR,ADDRTYPE, getprotobynumber NUMBER, getservbyport PORT,PROTO, getpwent,
358 getgrent, gethostent, getnetent, getprotoent, getservent, setpwent,
359 setgrent, sethostent STAYOPEN, setnetent STAYOPEN, setprotoent STAYOPEN,
360 setservent STAYOPEN, endpwent, endgrent, endhostent, endnetent,
361 endprotoent, endservent, getsockname SOCKET, getsockopt
362 SOCKET,LEVEL,OPTNAME, glob EXPR, glob, gmtime EXPR, goto LABEL, goto EXPR,
363 goto &NAME, grep BLOCK LIST, grep EXPR,LIST, hex EXPR, hex, import, index
364 STR,SUBSTR,POSITION, index STR,SUBSTR, int EXPR, int, ioctl
365 FILEHANDLE,FUNCTION,SCALAR, join EXPR,LIST, keys ASSOC_ARRAY, kill LIST,
366 last LABEL, last, lc EXPR, lc, lcfirst EXPR, lcfirst, length EXPR, length,
367 link OLDFILE,NEWFILE, listen SOCKET,QUEUESIZE, local EXPR, localtime EXPR,
368 log EXPR, log, lstat FILEHANDLE, lstat EXPR, lstat, m//, map BLOCK LIST,
369 map EXPR,LIST, mkdir FILENAME,MODE, msgctl ID,CMD,ARG, msgget KEY,FLAGS,
370 msgsnd ID,MSG,FLAGS, msgrcv ID,VAR,SIZE,TYPE,FLAGS, my EXPR, next LABEL,
371 next, no Module LIST, oct EXPR, oct, open FILEHANDLE,EXPR, open FILEHANDLE,
372 opendir DIRHANDLE,EXPR, ord EXPR, ord, pack TEMPLATE,LIST, package
373 NAMESPACE, pipe READHANDLE,WRITEHANDLE, pop ARRAY, pop, pos SCALAR, pos,
374 print FILEHANDLE LIST, print LIST, print, printf FILEHANDLE FORMAT, LIST,
375 printf FORMAT, LIST, prototype FUNCTION, push ARRAY,LIST, q/STRING/,
376 qq/STRING/, qx/STRING/, qw/STRING/, quotemeta EXPR, quotemeta, rand EXPR,
377 rand, read FILEHANDLE,SCALAR,LENGTH,OFFSET, read FILEHANDLE,SCALAR,LENGTH,
378 readdir DIRHANDLE, readlink EXPR, readlink, recv SOCKET,SCALAR,LEN,FLAGS,
379 redo LABEL, redo, ref EXPR, ref, rename OLDNAME,NEWNAME, require EXPR,
380 require, reset EXPR, reset, return LIST, reverse LIST, rewinddir DIRHANDLE,
381 rindex STR,SUBSTR,POSITION, rindex STR,SUBSTR, rmdir FILENAME, rmdir, s///,
382 scalar EXPR, seek FILEHANDLE,POSITION,WHENCE, seekdir DIRHANDLE,POS, select
383 FILEHANDLE, select, select RBITS,WBITS,EBITS,TIMEOUT, semctl
384 ID,SEMNUM,CMD,ARG, semget KEY,NSEMS,FLAGS, semop KEY,OPSTRING, send
385 SOCKET,MSG,FLAGS,TO, send SOCKET,MSG,FLAGS, setpgrp PID,PGRP, setpriority
386 WHICH,WHO,PRIORITY, setsockopt SOCKET,LEVEL,OPTNAME,OPTVAL, shift ARRAY,
387 shift, shmctl ID,CMD,ARG, shmget KEY,SIZE,FLAGS, shmread ID,VAR,POS,SIZE,
388 shmwrite ID,STRING,POS,SIZE, shutdown SOCKET,HOW, sin EXPR, sin, sleep
389 EXPR, sleep, socket SOCKET,DOMAIN,TYPE,PROTOCOL, socketpair
390 SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL, sort SUBNAME LIST, sort BLOCK LIST,
391 sort LIST, splice ARRAY,OFFSET,LENGTH,LIST, splice ARRAY,OFFSET,LENGTH,
392 splice ARRAY,OFFSET, split /PATTERN/,EXPR,LIMIT, split /PATTERN/,EXPR,
393 split /PATTERN/, split, sprintf FORMAT, LIST, sqrt EXPR, sqrt, srand EXPR,
394 stat EXPR, stat, study SCALAR, study, sub BLOCK, sub NAME, sub NAME BLOCK,
395 substr EXPR,OFFSET,LEN, substr EXPR,OFFSET, symlink OLDFILE,NEWFILE,
396 syscall LIST, sysopen FILEHANDLE,FILENAME,MODE, sysopen
397 FILEHANDLE,FILENAME,MODE,PERMS, sysread FILEHANDLE,SCALAR,LENGTH,OFFSET,
398 sysread FILEHANDLE,SCALAR,LENGTH, system LIST, syswrite
399 FILEHANDLE,SCALAR,LENGTH, tell FILEHANDLE, tell, telldir DIRHANDLE, tie
400 VARIABLE,CLASSNAME,LIST, tied VARIABLE, time, times, tr///, truncate
401 FILEHANDLE,LENGTH, truncate EXPR,LENGTH, uc EXPR, uc, ucfirst EXPR,
402 ucfirst, umask EXPR, umask, undef EXPR, undef, unlink LIST, unlink, unpack
403 TEMPLATE,EXPR, untie VARIABLE, unshift ARRAY,LIST, use Module LIST, use
404 Module, use Module VERSION LIST, use VERSION, utime LIST, values
405 ASSOC_ARRAY, vec EXPR,OFFSET,BITS, wait, waitpid PID,FLAGS, wantarray, warn
406 LIST, write FILEHANDLE, write EXPR, write, y///
410 =head2 perlvar - Perl predefined variables
416 =item Predefined Names
418 $ARG, $_, $E<lt>I<digit>E<gt>, $MATCH, $&, $PREMATCH, $`, $POSTMATCH, $',
419 $LAST_PAREN_MATCH, $+, $MULTILINE_MATCHING, $*, input_line_number HANDLE
420 EXPR, $INPUT_LINE_NUMBER, $NR, $, input_record_separator HANDLE EXPR,
421 $INPUT_RECORD_SEPARATOR, $RS, $/, autoflush HANDLE EXPR, $OUTPUT_AUTOFLUSH,
422 $|, output_field_separator HANDLE EXPR, $OUTPUT_FIELD_SEPARATOR, $OFS, $,,
423 output_record_separator HANDLE EXPR, $OUTPUT_RECORD_SEPARATOR, $ORS, $\,
424 $LIST_SEPARATOR, $", $SUBSCRIPT_SEPARATOR, $SUBSEP, $;, $OFMT, $#,
425 format_page_number HANDLE EXPR, $FORMAT_PAGE_NUMBER, $%,
426 format_lines_per_page HANDLE EXPR, $FORMAT_LINES_PER_PAGE, $=,
427 format_lines_left HANDLE EXPR, $FORMAT_LINES_LEFT, $-, format_name HANDLE
428 EXPR, $FORMAT_NAME, $~, format_top_name HANDLE EXPR, $FORMAT_TOP_NAME, $^,
429 format_line_break_characters HANDLE EXPR, $FORMAT_LINE_BREAK_CHARACTERS,
430 $:, format_formfeed HANDLE EXPR, $FORMAT_FORMFEED, $^L, $ACCUMULATOR, $^A,
431 $CHILD_ERROR, $?, $OS_ERROR, $ERRNO, $!, $EXTENDED_OS_ERROR, $^E,
432 $EVAL_ERROR, $@, $PROCESS_ID, $PID, $$, $REAL_USER_ID, $UID, $<,
433 $EFFECTIVE_USER_ID, $EUID, $>, $REAL_GROUP_ID, $GID, $(,
434 $EFFECTIVE_GROUP_ID, $EGID, $), $PROGRAM_NAME, $0, $[, $PERL_VERSION, $],
435 $DEBUGGING, $^D, $SYSTEM_FD_MAX, $^F, $^H, $INPLACE_EDIT, $^I, $OSNAME,
436 $^O, $PERLDB, $^P, $BASETIME, $^T, $WARNING, $^W, $EXECUTABLE_NAME, $^X,
437 $ARGV, @ARGV, @INC, %INC, $ENV{expr}, $SIG{expr}
441 =head2 perlsub - Perl subroutines
449 =item Private Variables via my()
451 =item Temporary Values via local()
453 =item Passing Symbol Table Entries (typeglobs)
455 =item Pass by Reference
459 =item Constant Functions
461 =item Overriding Builtin Functions
469 =head2 perlmod - Perl modules (packages)
479 =item Package Constructors and Destructors
489 =item THE PERL MODULE LIBRARY
493 =item Pragmatic Modules
495 blib, diagnostics, integer, less, lib, locale, ops, overload, sigtrap,
498 =item Standard Modules
500 AnyDBM_File, AutoLoader, AutoSplit, Benchmark, CPAN, CPAN::FirstTime,
501 CPAN::Nox, Carp, Class::Template, Config, Cwd, DB_File, Devel::SelfStubber,
502 DirHandle, DynaLoader, English, Env, Exporter, ExtUtils::Embed,
503 ExtUtils::Install, ExtUtils::Liblist, ExtUtils::MM_OS2, ExtUtils::MM_Unix,
504 ExtUtils::MM_VMS, ExtUtils::MakeMaker, ExtUtils::Manifest,
505 ExtUtils::Mkbootstrap, ExtUtils::Mksymlists, ExtUtils::testlib, Fatal,
506 Fcntl, File::Basename, File::CheckTree, File::Compare, File::Copy,
507 File::Find, File::Path, File::stat, FileCache, FileHandle, FindBin,
508 GDBM_File, Getopt::Long, Getopt::Std, I18N::Collate, IO, IO::File,
509 IO::Handle, IO::Pipe, IO::Seekable, IO::Select, IO::Socket, IPC::Open2,
510 IPC::Open3, Math::BigFloat, Math::BigInt, Math::Complex, NDBM_File,
511 Net::Ping, Net::hostent, Net::netent, Net::protoent, Net::servent, Opcode,
512 Pod::Text, POSIX, SDBM_File, Safe, Search::Dict, SelectSaver, SelfLoader,
513 Shell, Socket, Symbol, Sys::Hostname, Sys::Syslog, Term::Cap,
514 Term::Complete, Term::ReadLine, Test::Harness, Text::Abbrev,
515 Text::ParseWords, Text::Soundex, Text::Tabs, Text::Wrap, Tie::Hash,
516 Tie::RefHash, Tie::Scalar, Tie::SubstrHash, Time::Local, Time::gmtime,
517 Time::localtime, Time::tm, UNIVERSAL, User::grent, User::pwent
519 =item Extension Modules
525 Language Extensions and Documentation Tools, Development Support, Operating
526 System Interfaces, Networking, Device Control (modems) and InterProcess
527 Communication, Data Types and Data Type Utilities, Database Interfaces,
528 User Interfaces, Interfaces to / Emulations of Other Programming Languages,
529 File Names, File Systems and File Locking (see also File Handles), String
530 Processing, Language Text Processing, Parsing, and Searching, Option,
531 Argument, Parameter, and Configuration File Processing,
532 Internationalization and Locale, Authentication, Security, and Encryption,
533 World Wide Web, HTML, HTTP, CGI, MIME, Server and Daemon Utilities,
534 Archiving and Compression, Images, Pixmap and Bitmap Manipulation, Drawing,
535 and Graphing, Mail and Usenet News, Control Flow Utilities (callbacks and
536 exceptions etc), File Handle and Input/Output Stream Utilities,
537 Miscellaneous Modules
539 =item Modules: Creation, Use, and Abuse
543 =item Guidelines for Module Creation
545 Do similar modules already exist in some form?, Try to design the new
546 module to be easy to extend and reuse, Some simple style guidelines, Select
547 what to export, Select a name for the module, Have you got it right?,
548 README and other Additional Files, A description of the
549 module/package/extension etc, A copyright notice - see below, Prerequisites
550 - what else you may need to have, How to build it - possible changes to
551 Makefile.PL etc, How to install it, Recent changes in this release,
552 especially incompatibilities, Changes / enhancements you plan to make in
553 the future, Adding a Copyright Notice, Give the module a
554 version/issue/release number, How to release and distribute a module, Take
555 care when changing a released module
557 =item Guidelines for Converting Perl 4 Library Scripts into Modules
559 There is no requirement to convert anything, Consider the implications,
560 Make the most of the opportunity, The pl2pm utility will get you started,
561 Adds the standard Module prologue lines, Converts package specifiers from '
562 to ::, Converts die(...) to croak(...), Several other minor changes
564 =item Guidelines for Reusing Application Code
566 Complete applications rarely belong in the Perl Module Library, Many
567 applications contain some perl code which could be reused, Break-out the
568 reusable code into one or more separate module files, Take the opportunity
569 to reconsider and redesign the interfaces, In some cases the 'application'
570 can then be reduced to a small
574 =head2 perlform - Perl formats
580 =item Format Variables
590 =item Accessing Formatting Internals
596 =head2 perllocale - Perl locale handling (internationalization and
601 =item PREPARING TO USE LOCALES
607 =item The use locale pragma
609 =item The setlocale function
611 =item The localeconv function
615 =item LOCALE CATEGORIES
619 =item Category LC_COLLATE: Collation
621 =item Category LC_CTYPE: Character Types
623 =item Category LC_NUMERIC: Numeric Formatting
625 =item Category LC_MONETARY: Formatting of monetary amounts
629 =item Other categories
635 B<Comparison operators> (C<lt>, C<le>, C<ge>, C<gt> and C<cmp>):,
636 B<Case-mapping interpolation> (with C<\l>, C<\L>, C<\u> or <\U>),
637 B<Matching operator> (C<m//>):, B<Substitution operator> (C<s///>):,
638 B<In-memory formatting function> (sprintf()):, B<Output formatting
639 functions> (printf() and write()):, B<Case-mapping functions> (lc(),
640 lcfirst(), uc(), ucfirst()):, B<POSIX locale-dependent functions>
641 (localeconv(), strcoll(),strftime(), strxfrm()):, B<POSIX character class
642 tests> (isalnum(), isalpha(), isdigit(),isgraph(), islower(), isprint(),
643 ispunct(), isspace(), isupper(),
648 PERL_BADLANG, LC_ALL, LC_CTYPE, LC_COLLATE, LC_MONETARY, LC_NUMERIC,
655 =item Backward compatibility
657 =item I18N:Collate obsolete
659 =item Sort speed and memory use impacts
661 =item write() and LC_NUMERIC
663 =item Freely available locale definitions
667 =item An imperfect standard
683 =head2 perlref - Perl references and nested data structures
689 =item Symbolic references
691 =item Not-so-symbolic references
699 =head2 perldsc - Perl Data Structures Cookbook
703 arrays of arrays, hashes of arrays, arrays of hashes, hashes of hashes,
704 more elaborate constructs
708 =item COMMON MISTAKES
710 =item CAVEAT ON PRECEDENCE
712 =item WHY YOU SHOULD ALWAYS C<use strict>
722 =item Declaration of a LIST OF LISTS
724 =item Generation of a LIST OF LISTS
726 =item Access and Printing of a LIST OF LISTS
730 =item HASHES OF LISTS
734 =item Declaration of a HASH OF LISTS
736 =item Generation of a HASH OF LISTS
738 =item Access and Printing of a HASH OF LISTS
742 =item LISTS OF HASHES
746 =item Declaration of a LIST OF HASHES
748 =item Generation of a LIST OF HASHES
750 =item Access and Printing of a LIST OF HASHES
754 =item HASHES OF HASHES
758 =item Declaration of a HASH OF HASHES
760 =item Generation of a HASH OF HASHES
762 =item Access and Printing of a HASH OF HASHES
766 =item MORE ELABORATE RECORDS
770 =item Declaration of MORE ELABORATE RECORDS
772 =item Declaration of a HASH OF COMPLEX RECORDS
774 =item Generation of a HASH OF COMPLEX RECORDS
784 =head2 perllol, perlLoL - Manipulating Lists of Lists in Perl
788 =item Declaration and Access of Lists of Lists
790 =item Growing Your Own
792 =item Access and Printing
800 =head2 perltoot - Tom's object-oriented tutorial for perl
804 =item Creating a Class
808 =item Object Representation
810 =item Class Interface
812 =item Constructors and Instance Methods
814 =item Planning for the Future: Better Constructors
818 =item Other Object Methods
826 =item Accessing Class Data
828 =item Debugging Methods
830 =item Class Destructors
832 =item Documenting the Interface
842 =item Overridden Methods
844 =item Multiple Inheritance
846 =item UNIVERSAL: The Root of All Objects
850 =item Alternate Object Representations
854 =item Arrays as Objects
856 =item Closures as Objects
860 =item AUTOLOAD: Proxy Methods
864 =item Autoloaded Data Methods
866 =item Inherited Autoloaded Data Methods
870 =item Metaclassical Tools
874 =item Class::Template
876 =item Data Members as Variables
880 =item Object Terminology
890 =item Acknowledgments
894 =head2 perlobj - Perl objects
900 =item An Object is Simply a Reference
902 =item A Class is Simply a Package
904 =item A Method is Simply a Subroutine
906 =item Method Invocation
908 =item Default UNIVERSAL methods
910 isa(CLASS), can(METHOD), VERSION( [NEED] ), class(), is_instance()
918 =item Two-Phased Garbage Collection
924 =head2 perltie - how to hide an object class in a simple variable
934 TIESCALAR classname, LIST, FETCH this, STORE this, value, DESTROY this
938 TIEARRAY classname, LIST, FETCH this, index, STORE this, index, value,
943 USER, HOME, CLOBBER, LIST, TIEHASH classname, LIST, FETCH this, key, STORE
944 this, key, value, DELETE this, key, CLEAR this, EXISTS this, key, FIRSTKEY
945 this, NEXTKEY this, lastkey, DESTROY this
947 =item Tying FileHandles
949 TIEHANDLE classname, LIST, PRINT this, LIST, READLINE this, DESTROY this
959 =head2 perlbot - Bag'o Object Tricks (the BOT)
963 =item OO SCALING TIPS
965 =item INSTANCE VARIABLES
967 =item SCALAR INSTANCE VARIABLES
969 =item INSTANCE VARIABLE INHERITANCE
971 =item OBJECT RELATIONSHIPS
973 =item OVERRIDING SUPERCLASS METHODS
975 =item USING RELATIONSHIP WITH SDBM
977 =item THINKING OF CODE REUSE
979 =item CLASS CONTEXT AND THE OBJECT
981 =item INHERITING A CONSTRUCTOR
985 =head2 perlipc - Perl interprocess communication (signals, fifos, pipes,
986 safe subprocesses, sockets, and semaphores)
994 =item Using open() for IPC
998 =item Safe Pipe Opens
1000 =item Bidirectional Communication
1004 =item Sockets: Client/Server Communication
1008 =item Internet TCP Clients and Servers
1010 =item Unix-Domain TCP Clients and Servers
1012 =item UDP: Message Passing
1028 =head2 perldebug - Perl debugging
1032 =item The Perl Debugger
1036 =item Debugger Commands
1038 h [command], p expr, x expr, V [pkg [vars]], X [vars], T, s [expr], n
1039 [expr], E<lt>CRE<gt>, c [line|sub], l, l min+incr, l min-max, l line, l
1040 subname, -, w [line], f filename, /pattern/, ?pattern?, L, S [[!]pattern],
1041 t, t expr, b [line] [condition], b subname [condition], b postpone subname
1042 [condition], b load filename, b compile subname, d [line], D, a [line]
1043 command, A, O [opt[=val]] [opt"val"] [opt?].., C<recallCommand>,
1044 C<ShellBang>, C<pager>, C<tkRunning>, C<signalLevel>, C<warnLevel>,
1045 C<dieLevel>, C<AutoTrace>, C<LineInfo>, C<inhibit_exit>, C<PrintRet>,
1046 C<frame>, C<maxTraceLen>, C<arrayDepth>, C<hashDepth>, C<compactDump>,
1047 C<veryCompact>, C<globPrint>, C<DumpDBFiles>, C<DumpPackages>, C<quote>,
1048 C<HighBit>, C<undefPrint>, C<UsageOnly>, C<TTY>, C<noTTY>, C<ReadLine>,
1049 C<NonStop>, E<lt> [ command ], E<lt>E<lt> command, E<gt> command,
1050 E<gt>E<gt> command, { [ command ], {{ command, ! number, ! -number, !
1051 pattern, !! cmd, H -number, q or ^D, R, |dbcmd, ||dbcmd, = [alias value],
1052 command, m expr, m package
1054 =item Debugger input/output
1056 Prompt, Multi-line commands, Stack backtrace, Listing, Frame listing
1058 =item Debugging compile-time statements
1060 =item Debugger Customization
1062 =item Readline Support
1064 =item Editor Support for Debugging
1066 =item The Perl Profiler
1068 =item Debugger support in perl
1070 =item Debugger Internals
1072 =item Other resources
1078 =head2 perldiag - various Perl diagnostics
1082 =head2 perlsec - Perl security
1088 =item Laundering and Detecting Tainted Data
1090 =item Cleaning Up Your Path
1096 =head2 perltrap - Perl traps for the unwary
1112 =item Perl4 to Perl5 Traps
1114 Discontinuance, Deprecation, and BugFix traps, Parsing Traps, Numerical
1115 Traps, General data type traps, Context Traps - scalar, list contexts,
1116 Precedence Traps, General Regular Expression Traps using s///, etc,
1117 Subroutine, Signal, Sorting Traps, OS Traps, DBM Traps, Unclassified Traps
1119 =item Discontinuance, Deprecation, and BugFix traps
1121 Discontinuance, Deprecation, BugFix, Discontinuance, Discontinuance,
1122 Discontinuance, BugFix, Discontinuance, Discontinuance, BugFix,
1123 Discontinuance, Deprecation, Discontinuance
1127 Parsing, Parsing, Parsing
1129 =item Numerical Traps
1131 Numerical, Numerical, Numerical
1133 =item General data type traps
1135 (Arrays), (Arrays), (Hashes), (Globs), (Scalar String), (Constants),
1136 (Scalars), (Variable Suicide)
1138 =item Context Traps - scalar, list contexts
1140 (list context), (scalar context), (scalar context), (list, builtin)
1142 =item Precedence Traps
1144 Precedence, Precedence, Precedence, Precedence, Precedence, Precedence,
1147 =item General Regular Expression Traps using s///, etc.
1149 Regular Expression, Regular Expression, Regular Expression, Regular
1150 Expression, Regular Expression, Regular Expression, Regular Expression,
1153 =item Subroutine, Signal, Sorting Traps
1155 (Signals), (Sort Subroutine), warn() won't let you specify a filehandle
1161 =item Interpolation Traps
1163 Interpolation, Interpolation, Interpolation, Interpolation, Interpolation,
1164 Interpolation, Interpolation, Interpolation, Interpolation
1170 =item Unclassified Traps
1176 =head2 perlstyle - Perl style guide
1180 =head2 perlpod - plain old documentation
1184 =item Embedding Pods in Perl Modules
1186 =item Common Pod Pitfalls
1192 =head2 perlbook - Perl book information
1196 =head2 perlembed - how to embed perl in your C program
1204 B<Use C from Perl?>, B<Use a UNIX program from Perl?>, B<Use Perl from
1205 Perl?>, B<Use C from C?>, B<Use Perl from C?>
1209 =item Compiling your C program
1211 =item Adding a Perl interpreter to your C program
1213 =item Calling a Perl subroutine from your C program
1215 =item Evaluating a Perl statement from your C program
1217 =item Performing Perl pattern matches and substitutions from your C program
1219 =item Fiddling with the Perl stack from your C program
1221 =item Maintaining a persistent interpreter
1223 =item Maintaining multiple interpreter instances
1225 =item Using Perl modules, which themselves use C libraries, from your C
1234 =head2 perlapio - perl's IO abstraction interface.
1240 B<PerlIO *>, B<PerlIO_stdin()>, B<PerlIO_stdout()>, B<PerlIO_stderr()>,
1241 B<PerlIO_open(path, mode)>, B<PerlIO_fdopen(fd,mode)>,
1242 B<PerlIO_printf(f,fmt,...)>, B<PerlIO_vprintf(f,fmt,a)>,
1243 B<PerlIO_stdoutf(fmt,...)>, B<PerlIO_read(f,buf,count)>,
1244 B<PerlIO_write(f,buf,count)>, B<PerlIO_close(f)>, B<PerlIO_puts(s,f)>,
1245 B<PerlIO_putc(c,f)>, B<PerlIO_ungetc(c,f)>, B<PerlIO_getc(f)>,
1246 B<PerlIO_eof(f)>, B<PerlIO_error(f)>, B<PerlIO_fileno(f)>,
1247 B<PerlIO_clearerr(f)>, B<PerlIO_flush(f)>, B<PerlIO_tell(f)>,
1248 B<PerlIO_seek(f,o,w)>, B<PerlIO_getpos(f,p)>, B<PerlIO_setpos(f,p)>,
1249 B<PerlIO_rewind(f)>, B<PerlIO_tmpfile()>
1253 =item Co-existence with stdio
1255 B<PerlIO_importFILE(f,flags)>, B<PerlIO_exportFILE(f,flags)>,
1256 B<PerlIO_findFILE(f)>, B<PerlIO_releaseFILE(p,f)>, B<PerlIO_setlinebuf(f)>,
1257 B<PerlIO_has_cntptr(f)>, B<PerlIO_get_ptr(f)>, B<PerlIO_get_cnt(f)>,
1258 B<PerlIO_canset_cnt(f)>, B<PerlIO_fast_gets(f)>,
1259 B<PerlIO_set_ptrcnt(f,p,c)>, B<PerlIO_set_cnt(f,c)>, B<PerlIO_has_base(f)>,
1260 B<PerlIO_get_base(f)>, B<PerlIO_get_bufsiz(f)>
1264 =head2 perlxs - XS language reference manual
1274 =item The Anatomy of an XSUB
1276 =item The Argument Stack
1278 =item The RETVAL Variable
1280 =item The MODULE Keyword
1282 =item The PACKAGE Keyword
1284 =item The PREFIX Keyword
1286 =item The OUTPUT: Keyword
1288 =item The CODE: Keyword
1290 =item The INIT: Keyword
1292 =item The NO_INIT Keyword
1294 =item Initializing Function Parameters
1296 =item Default Parameter Values
1298 =item The PREINIT: Keyword
1300 =item The SCOPE: Keyword
1302 =item The INPUT: Keyword
1304 =item Variable-length Parameter Lists
1306 =item The PPCODE: Keyword
1308 =item Returning Undef And Empty Lists
1310 =item The REQUIRE: Keyword
1312 =item The CLEANUP: Keyword
1314 =item The BOOT: Keyword
1316 =item The VERSIONCHECK: Keyword
1318 =item The PROTOTYPES: Keyword
1320 =item The PROTOTYPE: Keyword
1322 =item The ALIAS: Keyword
1324 =item The INCLUDE: Keyword
1326 =item The CASE: Keyword
1328 =item The & Unary Operator
1330 =item Inserting Comments and C Preprocessor Directives
1332 =item Using XS With C++
1334 =item Interface Strategy
1336 =item Perl Objects And C Structures
1348 =head2 perlxstut, perlXStut - Tutorial for XSUBs
1354 =item VERSION CAVEAT
1356 =item DYNAMIC VERSUS STATIC
1362 =item WHAT HAS GONE ON?
1364 =item WRITING GOOD TEST SCRIPTS
1368 =item WHAT'S NEW HERE?
1370 =item INPUT AND OUTPUT PARAMETERS
1372 =item THE XSUBPP COMPILER
1374 =item THE TYPEMAP FILE
1380 =item WHAT HAS HAPPENED HERE?
1382 =item SPECIFYING ARGUMENTS TO XSUBPP
1384 =item THE ARGUMENT STACK
1386 =item EXTENDING YOUR EXTENSION
1388 =item DOCUMENTING YOUR EXTENSION
1390 =item INSTALLING YOUR EXTENSION
1400 =head2 perlguts - Perl's Internal Functions
1410 =item What is an "IV"?
1412 =item Working with SV's
1414 =item What's Really Stored in an SV?
1416 =item Working with AV's
1418 =item Working with HV's
1422 =item Blessed References and Class Objects
1424 =item Creating New Variables
1426 =item Reference Counts and Mortality
1428 =item Stashes and Globs
1430 =item Double-Typed SV's
1432 =item Magic Variables
1434 =item Assigning Magic
1436 =item Magic Virtual Tables
1446 =item XSUB's and the Argument Stack
1448 =item Calling Perl Routines from within C Programs
1450 =item Memory Allocation
1454 =item Putting a C value on Perl stack
1458 =item Scratchpads and recursions
1468 =item Examining the tree
1470 =item Compile pass 1: check routines
1472 =item Compile pass 1a: constant folding
1474 =item Compile pass 2: context propagation
1476 =item Compile pass 3: peephole optimization
1482 AvFILL, av_clear, av_extend, av_fetch, av_len, av_make, av_pop, av_push,
1483 av_shift, av_store, av_undef, av_unshift, CLASS, Copy, croak, CvSTASH,
1484 DBsingle, DBsub, DBtrace, dMARK, dORIGMARK, dowarn, dSP, dXSARGS, dXSI32,
1485 dXSI32, ENTER, EXTEND, FREETMPS, G_ARRAY, G_DISCARD, G_EVAL, GIMME,
1486 G_NOARGS, G_SCALAR, gv_fetchmeth, gv_fetchmethod, gv_stashpv, gv_stashsv,
1487 GvSV, he_delayfree, he_free, hv_clear, hv_delete, hv_exists, hv_fetch,
1488 hv_iterinit, hv_iterkey, hv_iternext, hv_iternextsv, hv_iterval, hv_magic,
1489 HvNAME, hv_store, hv_undef, isALNUM, isALPHA, isDIGIT, isLOWER, isSPACE,
1490 isUPPER, items, ix, LEAVE, MARK, mg_clear, mg_copy, mg_find, mg_free,
1491 mg_get, mg_len, mg_magical, mg_set, Move, na, New, Newc, Newz, newAV,
1492 newHV, newRV_inc, newRV_noinc, newSV, newSViv, newSVnv, newSVpv, newSVrv,
1493 newSVsv, newXS, newXSproto, Nullav, Nullch, Nullcv, Nullhv, Nullsv,
1494 ORIGMARK, perl_alloc, perl_call_argv, perl_call_method, perl_call_pv,
1495 perl_call_sv, perl_construct, perl_destruct, perl_eval_sv, perl_free,
1496 perl_get_av, perl_get_cv, perl_get_hv, perl_get_sv, perl_parse,
1497 perl_require_pv, perl_run, POPi, POPl, POPp, POPn, POPs, PUSHMARK, PUSHi,
1498 PUSHn, PUSHp, PUSHs, PUTBACK, Renew, Renewc, RETVAL, safefree, safemalloc,
1499 saferealloc, savepv, savepvn, SAVETMPS, SP, SPAGAIN, ST, strEQ, strGE,
1500 strGT, strLE, strLT, strNE, strnEQ, strnNE, sv_2mortal, sv_bless, sv_catpv,
1501 sv_catpvn, sv_catsv, sv_cmp, sv_cmp, SvCUR, SvCUR_set, sv_dec, sv_dec,
1502 SvEND, sv_eq, SvGROW, sv_grow, sv_inc, SvIOK, SvIOK_off, SvIOK_on,
1503 SvIOK_only, SvIOK_only, SvIOKp, sv_isa, SvIV, sv_isobject, SvIVX, SvLEN,
1504 sv_len, sv_len, sv_magic, sv_mortalcopy, SvOK, sv_newmortal, sv_no, SvNIOK,
1505 SvNIOK_off, SvNIOKp, SvNOK, SvNOK_off, SvNOK_on, SvNOK_only, SvNOK_only,
1506 SvNOKp, SvNV, SvNVX, SvPOK, SvPOK_off, SvPOK_on, SvPOK_only, SvPOK_only,
1507 SvPOKp, SvPV, SvPVX, SvREFCNT, SvREFCNT_dec, SvREFCNT_inc, SvROK,
1508 SvROK_off, SvROK_on, SvRV, sv_setiv, sv_setnv, sv_setpv, sv_setpvn,
1509 sv_setref_iv, sv_setref_nv, sv_setref_pv, sv_setref_pvn, sv_setsv, SvSTASH,
1510 SVt_IV, SVt_PV, SVt_PVAV, SVt_PVCV, SVt_PVHV, SVt_PVMG, SVt_NV, SvTRUE,
1511 SvTYPE, svtype, SvUPGRADE, sv_upgrade, sv_undef, sv_unref, sv_usepvn,
1512 sv_yes, THIS, toLOWER, toUPPER, warn, XPUSHi, XPUSHn, XPUSHp, XPUSHs, XS,
1513 XSRETURN, XSRETURN_EMPTY, XSRETURN_IV, XSRETURN_NO, XSRETURN_NV,
1514 XSRETURN_PV, XSRETURN_UNDEF, XSRETURN_YES, XST_mIV, XST_mNV, XST_mNO,
1515 XST_mPV, XST_mUNDEF, XST_mYES, XS_VERSION, XS_VERSION_BOOTCHECK, Zero
1521 =head2 perlcall - Perl calling conventions from C
1525 An Error Handler, An Event Driven Program
1527 =item THE PERL_CALL FUNCTIONS
1529 B<perl_call_sv>, B<perl_call_pv>, B<perl_call_method>, B<perl_call_argv>
1547 =item Determining the Context
1551 =item KNOWN PROBLEMS
1557 =item No Parameters, Nothing returned
1559 =item Passing Parameters
1561 =item Returning a Scalar
1563 =item Returning a list of values
1565 =item Returning a list in a scalar context
1567 =item Returning Data from Perl via the parameter list
1571 =item Using G_KEEPERR
1573 =item Using perl_call_sv
1575 =item Using perl_call_argv
1577 =item Using perl_call_method
1581 =item Using Perl to dispose of temporaries
1583 =item Strategies for storing Callback Context Information
1585 1. Ignore the problem - Allow only 1 callback, 2. Create a sequence of
1586 callbacks - hard wired limit, 3. Use a parameter to map to the Perl
1589 =item Alternate Stack Manipulation
1599 =head1 PRAGMA DOCUMENTATION
1601 =head2 blib - Use MakeMaker's uninstalled version of a package
1611 =head2 diagnostics - Perl compiler pragma to force verbose warning
1620 =item The C<diagnostics> Pragma
1622 =item The I<splain> Program
1634 =head2 integer - Perl pragma to compute arithmetic in integer instead of
1641 =head2 less - perl pragma to request less of something from the compiler
1647 =head2 lib - manipulate @INC at compile time
1655 =item ADDING DIRECTORIES TO @INC
1657 =item DELETING DIRECTORIES FROM @INC
1659 =item RESTORING ORIGINAL @INC
1667 =head2 locale - Perl pragma to use and avoid POSIX locales for built-in
1674 =head2 ops - Perl pragma to restrict unsafe operations when compiling
1682 =head2 overload - Package for overloading perl operations
1686 =item CAVEAT SCRIPTOR
1692 =item Declaration of overloaded functions
1694 =item Calling Conventions for Binary Operations
1696 FALSE, TRUE, C<undef>
1698 =item Calling Conventions for Unary Operations
1700 =item Overloadable Operations
1702 I<Arithmetic operations>, I<Comparison operations>, I<Bit operations>,
1703 I<Increment and decrement>, I<Transcendental functions>, I<Boolean, string
1704 and numeric conversion>, I<Special>
1706 =item Inheritance and overloading
1708 Strings as values of C<use overload> directive, Overloading of an operation
1709 is inherited by derived classes
1713 =item SPECIAL SYMBOLS FOR C<use overload>
1721 C<undef>, TRUE, defined, but FALSE
1723 =item Copy Constructor
1729 =item MAGIC AUTOGENERATION
1731 I<Assignment forms of arithmetic operations>, I<Conversion operations>,
1732 I<Increment and decrement>, C<abs($a)>, I<Unary minus>, I<Negation>,
1733 I<Concatenation>, I<Comparison operations>, I<Copy operator>
1737 =item Run-time Overloading
1739 =item Public functions
1741 overload::StrVal(arg), overload::Overloaded(arg), overload::Method(obj,op)
1743 =item IMPLEMENTATION
1751 =head2 sigtrap - Perl pragma to enable simple signal handling
1761 =item SIGNAL HANDLERS
1763 B<stack-trace>, B<die>, B<handler> I<your-handler>
1767 B<normal-signals>, B<error-signals>, B<old-interface-signals>
1771 B<untrapped>, B<any>, I<signal>, I<number>
1777 =head2 strict - Perl pragma to restrict unsafe constructs
1783 C<strict refs>, C<strict vars>, C<strict subs>
1785 =head2 subs - Perl pragma to predeclare sub names
1791 =head2 vars - Perl pragma to predeclare global variable names
1797 =head1 MODULE DOCUMENTATION
1799 =head2 AnyDBM_File - provide framework for multiple DBMs
1807 =item DBM Comparisons
1815 =head2 AutoLoader - load functions only on demand
1827 =item Package Lexicals
1829 =item AutoLoader vs. SelfLoader
1835 =head2 AutoSplit - split a package for autoloading
1845 =head2 Benchmark - benchmark running times of code
1857 =item Standard Exports
1859 timeit(COUNT, CODE), timethis, timethese, timediff, timestr
1861 =item Optional Exports
1873 =item MODIFICATION HISTORY
1875 =head2 CPAN - query, download and build perl modules from CPAN sites
1883 =item Interactive Mode
1885 Searching for authors, bundles, distribution files and modules, make, test,
1886 install, clean modules or distributions, readme, look module or
1895 =item ProgrammerE<39>s interface
1905 =item Floppy, Zip, and all that Jazz
1911 o conf E<lt>scalar optionE<gt>, o conf E<lt>scalar optionE<gt>
1912 E<lt>valueE<gt>, o conf E<lt>list optionE<gt>, o conf E<lt>list optionE<gt>
1913 [shift|pop], o conf E<lt>list optionE<gt> [unshift|push|splice]
1926 =head2 CPAN::FirstTime - Utility for CPAN::Config file Initialization
1932 =head2 CPANox, CPAN::Nox - Wrapper around CPAN.pm without using any XS
1941 =head2 Carp, carp - warn of errors (from perspective of caller)
1947 =head2 Class::Template - struct/member template builder
1955 Example 1, Example 2
1959 =head2 Config - access Perl configuration information
1965 myconfig(), config_sh(), config_vars(@names)
1973 =head2 Cwd, getcwd - get pathname of current working directory
1979 =head2 DB_File - Perl5 access to Berkeley DB
1985 B<DB_HASH>, B<DB_BTREE>, B<DB_RECNO>
1989 =item How does DB_File interface to Berkeley DB?
1991 =item Opening a Berkeley DB Database File
1993 =item Default Parameters
1995 =item In Memory Databases
2003 =item A Simple Example.
2011 =item Changing the BTREE sort order
2013 =item Handling duplicate keys
2015 =item The get_dup method.
2017 =item Matching Partial Keys
2025 =item The bval option
2027 =item A Simple Example
2031 B<$X-E<gt>push(list) ;>, B<$value = $X-E<gt>pop ;>, B<$X-E<gt>shift>,
2032 B<$X-E<gt>unshift(list) ;>, B<$X-E<gt>length>
2034 =item Another Example
2038 =item THE API INTERFACE
2040 B<$status = $X-E<gt>get($key, $value [, $flags]) ;>, B<$status =
2041 $X-E<gt>put($key, $value [, $flags]) ;>, B<$status = $X-E<gt>del($key [,
2042 $flags]) ;>, B<$status = $X-E<gt>fd ;>, B<$status = $X-E<gt>seq($key,
2043 $value, $flags) ;>, B<$status = $X-E<gt>sync([$flags]) ;>
2045 =item HINTS AND TIPS
2049 =item Locking Databases
2051 =item Sharing databases with C applications
2055 =item COMMON QUESTIONS
2059 =item Why is there Perl source in my database?
2061 =item How do I store complex data structures with DB_File?
2063 =item What does "Invalid Argument" mean?
2065 =item What does "Bareword 'DB_File' not allowed" mean?
2079 =head2 Devel::SelfStubber - generate stubs for a SelfLoading module
2085 =head2 DirHandle - supply object methods for directory handles
2091 =head2 DynaLoader - Dynamically load C libraries into Perl code
2097 @dl_library_path, @dl_resolve_using, @dl_require_symbols, @dl_librefs,
2098 @dl_modules, dl_error(), $dl_debug, dl_findfile(), dl_expandspec(),
2099 dl_load_file(), dl_loadflags(), dl_find_symbol(),
2100 dl_find_symbol_anywhere(), dl_undef_symbols(), dl_install_xsub(),
2105 =head2 English - use nice English (or awk) names for ugly punctuation
2112 =head2 Env - perl module that imports environment variables
2120 =head2 Exporter - Implements default import method for modules
2128 =item Selecting What To Export
2130 =item Specialised Import Lists
2132 =item Module Version Checking
2134 =item Managing Unknown Symbols
2136 =item Tag Handling Utility Functions
2140 =head2 ExtUtils::Embed - Utilities for embedding Perl in C/C++ applications
2150 xsinit(), Examples, ldopts(), Examples, perl_inc(), ccflags(), ccdlflags(),
2151 ccopts(), xsi_header(), xsi_protos(@modules), xsi_body(@modules)
2159 =head2 ExtUtils::Install - install files from here to there
2165 =head2 ExtUtils::Liblist - determine libraries to use and how to use them
2171 For static extensions, For dynamic extensions, For dynamic extensions
2177 =item LDLOADLIBS and LD_RUN_PATH
2187 =item VMS implementation
2193 =head2 ExtUtils::MM_OS2 - methods to override UN*X behaviour in
2200 =head2 ExtUtils::MM_Unix - methods used by ExtUtils::MakeMaker
2210 =item Preloaded methods
2212 canonpath, catdir, catfile, curdir, rootdir, updir
2214 =item SelfLoaded methods
2216 c_o (o), cflags (o), clean (o), const_cccmd (o), const_config (o),
2217 const_loadlibs (o), constants (o), depend (o), dir_target (o), dist (o),
2218 dist_basics (o), dist_ci (o), dist_core (o), dist_dir (o), dist_test (o),
2219 dlsyms (o), dynamic (o), dynamic_bs (o), dynamic_lib (o), exescan,
2220 extliblist, file_name_is_absolute, find_perl
2222 =item Methods to actually produce chunks of text for the Makefile
2224 force (o), guess_name, has_link_code, init_dirscan, init_main, init_others,
2225 install (o), installbin (o), libscan (o), linkext (o), lsdir, macro (o),
2226 makeaperl (o), makefile (o), manifypods (o), maybe_command,
2227 maybe_command_in_dirs, needs_linking (o), nicetext, parse_version, pasthru
2228 (o), path, perl_script, perldepend (o), pm_to_blib, post_constants (o),
2229 post_initialize (o), postamble (o), prefixify, processPL (o), realclean
2230 (o), replace_manpage_separator, static (o), static_lib (o), staticmake (o),
2231 subdir_x (o), subdirs (o), test (o), test_via_harness (o), test_via_script
2232 (o), tool_autosplit (o), tools_other (o), tool_xsubpp (o), top_targets (o),
2233 writedoc, xs_c (o), xs_o (o)
2239 =head2 ExtUtils::MM_VMS - methods to override UN*X behaviour in
2248 =item Methods always loaded
2250 eliminate_macros, fixpath, catdir, catfile, wraplist, curdir (override),
2251 rootdir (override), updir (override)
2253 =item SelfLoaded methods
2255 guess_name (override), find_perl (override), path (override), maybe_command
2256 (override), maybe_command_in_dirs (override), perl_script (override),
2257 file_name_is_absolute (override), replace_manpage_separator, init_others
2258 (override), constants (override), cflags (override), const_cccmd
2259 (override), pm_to_blib (override), tool_autosplit (override), tool_sxubpp
2260 (override), xsubpp_version (override), tools_other (override), dist
2261 (override), c_o (override), xs_c (override), xs_o (override), top_targets
2262 (override), dlsyms (override), dynamic_lib (override), dynamic_bs
2263 (override), static_lib (override), manifypods (override), processPL
2264 (override), installbin (override), subdir_x (override), clean (override),
2265 realclean (override), dist_basics (override), dist_core (override),
2266 dist_dir (override), dist_test (override), install (override), perldepend
2267 (override), makefile (override), test (override), test_via_harness
2268 (override), test_via_script (override), makeaperl (override), nicetext
2273 =head2 ExtUtils::MakeMaker - create an extension Makefile
2281 =item How To Write A Makefile.PL
2283 =item Default Makefile Behaviour
2291 =item PREFIX and LIB attribute
2295 =item Static Linking of a new Perl Binary
2297 =item Determination of Perl Library and Installation Locations
2299 =item Which architecture dependent directory?
2301 =item Using Attributes and Parameters
2303 C, CONFIG, CONFIGURE, DEFINE, DIR, DISTNAME, DL_FUNCS, DL_VARS,
2304 EXCLUDE_EXT, EXE_FILES, NO_VC, FIRST_MAKEFILE, FULLPERL, H, INC,
2305 INCLUDE_EXT, INSTALLARCHLIB, INSTALLBIN, INSTALLDIRS, INSTALLMAN1DIR,
2306 INSTALLMAN3DIR, INSTALLPRIVLIB, INSTALLSCRIPT, INSTALLSITELIB,
2307 INSTALLSITEARCH, INST_ARCHLIB, INST_BIN, INST_EXE, INST_LIB, INST_MAN1DIR,
2308 INST_MAN3DIR, INST_SCRIPT, LDFROM, LIBPERL_A, LIB, LIBS, LINKTYPE,
2309 MAKEAPERL, MAKEFILE, MAN1PODS, MAN3PODS, MAP_TARGET, MYEXTLIB, NAME,
2310 NEEDS_LINKING, NOECHO, NORECURS, OBJECT, OPTIMIZE, PERL, PERLMAINCC,
2311 PERL_ARCHLIB, PERL_LIB, PERL_SRC, PL_FILES, PM, PMLIBDIRS, PREFIX,
2312 PREREQ_PM, SKIP, TYPEMAPS, VERSION, VERSION_FROM, XS, XSOPT, XSPROTOARG,
2315 =item Additional lowercase attributes
2317 clean, depend, dist, dynamic_lib, installpm, linkext, macro, realclean,
2320 =item Overriding MakeMaker Methods
2322 =item Hintsfile support
2324 =item Distribution Support
2326 make distcheck, make skipcheck, make distclean, make manifest,
2327 make distdir, make tardist, make dist, make uutardist, make
2328 shdist, make zipdist, make ci
2336 =head2 ExtUtils::Manifest - utilities to write and check a MANIFEST file
2346 =item GLOBAL VARIABLES
2350 C<Not in MANIFEST:> I<file>, C<No such file:> I<file>, C<MANIFEST:> I<$!>,
2351 C<Added to MANIFEST:> I<file>
2357 =head2 ExtUtils::Miniperl, writemain - write the C code for perlmain.c
2365 =head2 ExtUtils::Mkbootstrap - make a bootstrap file for use by DynaLoader
2371 =head2 ExtUtils::Mksymlists - write linker options files for dynamic
2378 NAME, DL_FUNCS, DL_VARS, FILE, FUNCLIST, DLBASE
2384 =head2 ExtUtils::testlib - add blib/* directories to @INC
2390 =head2 Fatal - replace functions with equivalents which succeed or die
2398 =head2 Fcntl - load the C Fcntl.h defines
2406 =item EXPORTED SYMBOLS
2408 =head2 File::Basename, fileparse - split a pathname into pieces
2414 fileparse_set_fstype, fileparse
2418 C<basename>, C<dirname>
2420 =head2 File::CheckTree, validate - run many filetest checks on a tree
2426 =head2 File::Compare - Compare files or filehandles
2436 =head2 File::Copy - Copy files or filehandles
2444 =item Special behavior if C<syscopy> is defined (VMS and OS/2)
2446 rmscopy($from,$to[,$date_flag])
2454 =head2 File::Find, find - traverse a file tree
2460 =head2 File::Path - create or remove a series of directories
2470 =head2 File::stat - by-name interface to Perl's built-in stat() functions
2480 =head2 FileCache - keep more files open than the system permits
2488 =head2 FileHandle - supply object methods for filehandles
2494 $fh->print, $fh->printf, $fh->getline, $fh->getlines
2498 =head2 FindBin - Locate directory of original perl script
2504 =item EXPORTABLE VARIABLES
2514 =head2 GDBM_File - Perl5 access to the gdbm library.
2526 =head2 Getopt::Long, GetOptions - extended processing of command line
2533 E<lt>noneE<gt>, !, =s, :s, =i, :i, =f, :f
2537 =item Linkage specification
2539 =item Aliases and abbreviations
2541 =item Non-option call-back routine
2543 =item Option starters
2553 =item CONFIGURATION VARIABLES
2555 $Getopt::Long::autoabbrev, $Getopt::Long::getopt_compat,
2556 $Getopt::Long::order, $Getopt::Long::bundling, $Getopt::Long::ignorecase,
2557 $Getopt::Long::passthrough, $Getopt::Long::VERSION, $Getopt::Long::error,
2558 $Getopt::Long::debug
2560 =head2 Getopt::Std, getopt - Process single-character switches with switch
2567 =head2 I18N::Collate - compare 8-bit scalar data according to the current
2574 =head2 IO - load various IO modules
2580 =head2 IO::File - supply object methods for filehandles
2592 open( FILENAME [,MODE [,PERMS]] )
2598 =head2 IO::Handle - supply object methods for I/O handles
2606 new (), new_from_fd ( FD, MODE )
2610 $fh->getline, $fh->getlines, $fh->fdopen ( FD, MODE ), $fh->write ( BUF,
2611 LEN [, OFFSET }\] ), $fh->opened, $fh->untaint
2621 =head2 IO::Pipe, IO::pipe - supply object methods for pipes
2629 new ( [READER, WRITER] )
2633 reader ([ARGS]), writer ([ARGS]), handles ()
2641 =head2 IO::Seekable - supply seek based methods for I/O objects
2651 =head2 IO::Select - OO interface to the select system call
2663 add ( HANDLES ), remove ( HANDLES ), exists ( HANDLE ), handles, can_read (
2664 [ TIMEOUT ] ), can_write ( [ TIMEOUT ] ), has_error ( [ TIMEOUT ] ), count
2665 (), bits(), bits(), select ( READ, WRITE, ERROR [, TIMEOUT ] )
2673 =head2 IO::Socket - Object interface to socket communications
2685 accept([PKG]), timeout([VAL]), sockopt(OPT [, VAL]), sockdomain, socktype,
2692 =item IO::Socket::INET
2696 sockaddr (), sockport (), sockhost (), peeraddr (), peerport (), peerhost
2699 =item IO::Socket::UNIX
2703 hostpath(), peerpath()
2713 =head2 IO::lib::IO::File, IO::File - supply object methods for filehandles
2725 open( FILENAME [,MODE [,PERMS]] )
2731 =head2 IO::lib::IO::Handle, IO::Handle - supply object methods for I/O
2740 new (), new_from_fd ( FD, MODE )
2744 $fh->getline, $fh->getlines, $fh->fdopen ( FD, MODE ), $fh->write ( BUF,
2745 LEN [, OFFSET }\] ), $fh->opened, $fh->untaint
2755 =head2 IO::lib::IO::Pipe, IO::pipe - supply object methods for pipes
2763 new ( [READER, WRITER] )
2767 reader ([ARGS]), writer ([ARGS]), handles ()
2775 =head2 IO::lib::IO::Seekable, IO::Seekable - supply seek based methods for
2786 =head2 IO::lib::IO::Select, IO::Select - OO interface to the select system
2799 add ( HANDLES ), remove ( HANDLES ), exists ( HANDLE ), handles, can_read (
2800 [ TIMEOUT ] ), can_write ( [ TIMEOUT ] ), has_error ( [ TIMEOUT ] ), count
2801 (), bits(), bits(), select ( READ, WRITE, ERROR [, TIMEOUT ] )
2809 =head2 IO::lib::IO::Socket, IO::Socket - Object interface to socket
2822 accept([PKG]), timeout([VAL]), sockopt(OPT [, VAL]), sockdomain, socktype,
2829 =item IO::Socket::INET
2833 sockaddr (), sockport (), sockhost (), peeraddr (), peerport (), peerhost
2836 =item IO::Socket::UNIX
2840 hostpath(), peerpath()
2850 =head2 IPC::Open2, open2 - open a process for both reading and writing
2860 =head2 IPC::Open3, open3 - open a process for reading, writing, and error
2869 =head2 Math::BigFloat - Arbitrary length float math package
2875 number format, Error returns 'NaN', Division is computed to
2881 =head2 Math::BigInt - Arbitrary size integer math package
2887 Canonical notation, Input, Output
2895 =head2 Math::Complex - complex numbers and associated mathematical
2906 =item STRINGIFICATION
2914 =head2 NDBM_File - Tied access to ndbm files
2920 =head2 Net::Ping - check a remote host for reachability
2930 Net::Ping->new([$proto [, $def_timeout [, $bytes]]]);, $p->ping($host [,
2931 $timeout]);, $p->close();, pingecho($host [, $timeout]);
2939 =head2 Net::hostent - by-name interface to Perl's built-in gethost*()
2952 =head2 Net::netent - by-name interface to Perl's built-in getnet*()
2965 =head2 Net::protoent - by-name interface to Perl's built-in getproto*()
2976 =head2 Net::servent - by-name interface to Perl's built-in getserv*()
2989 =head2 ODBM_File - Tied access to odbm files
2995 =head2 Opcode - Disable named opcodes when compiling perl code
3005 =item Operator Names and Operator Lists
3007 an operator name (opname), an operator tag name (optag), a negated opname
3008 or optag, an operator set (opset)
3010 =item Opcode Functions
3012 opcodes, opset (OP, ...), opset_to_ops (OPSET), opset_to_hex (OPSET),
3013 full_opset, empty_opset, invert_opset (OPSET), verify_opset (OPSET, ...),
3014 define_optag (OPTAG, OPSET), opmask_add (OPSET), opmask, opdesc (OP, ...),
3017 =item Manipulating Opsets
3021 =item Predefined Opcode Tags
3023 :base_core, :base_mem, :base_loop, :base_io, :base_orig, :base_math,
3024 :default, :filesys_read, :sys_db, :browse, :filesys_open, :filesys_write,
3025 :subprocess, :ownprocess, :others, :still_to_be_decided, :dangerous
3031 =head2 Opcode::Safe, Safe - Compile and execute code in restricted
3038 a new namespace, an operator mask
3044 =item RECENT CHANGES
3046 =item Methods in class Safe
3048 permit (OP, ...), permit_only (OP, ...), deny (OP, ...), deny_only (OP,
3049 ...), trap (OP, ...), untrap (OP, ...), share (NAME, ...), share_from
3050 (PACKAGE, ARRAYREF), varglob (VARNAME), reval (STRING), rdo (FILENAME),
3051 root (NAMESPACE), mask (MASK)
3053 =item Some Safety Issues
3055 Memory, CPU, Snooping, Signals, State Changes
3061 =head2 Opcode::ops, ops - Perl pragma to restrict unsafe operations when
3070 =head2 POSIX - Perl interface to IEEE Std 1003.1
3082 _exit, abort, abs, access, acos, alarm, asctime, asin, assert, atan, atan2,
3083 atexit, atof, atoi, atol, bsearch, calloc, ceil, chdir, chmod, chown,
3084 clearerr, clock, close, closedir, cos, cosh, creat, ctermid, ctime,
3085 cuserid, difftime, div, dup, dup2, errno, execl, execle, execlp, execv,
3086 execve, execvp, exit, exp, fabs, fclose, fcntl, fdopen, feof, ferror,
3087 fflush, fgetc, fgetpos, fgets, fileno, floor, fmod, fopen, fork, fpathconf,
3088 fprintf, fputc, fputs, fread, free, freopen, frexp, fscanf, fseek, fsetpos,
3089 fstat, ftell, fwrite, getc, getchar, getcwd, getegid, getenv, geteuid,
3090 getgid, getgrgid, getgrnam, getgroups, getlogin, getpgrp, getpid, getppid,
3091 getpwnam, getpwuid, gets, getuid, gmtime, isalnum, isalpha, isatty,
3092 iscntrl, isdigit, isgraph, islower, isprint, ispunct, isspace, isupper,
3093 isxdigit, kill, labs, ldexp, ldiv, link, localeconv, localtime, log, log10,
3094 longjmp, lseek, malloc, mblen, mbstowcs, mbtowc, memchr, memcmp, memcpy,
3095 memmove, memset, mkdir, mkfifo, mktime, modf, nice, offsetof, open,
3096 opendir, pathconf, pause, perror, pipe, pow, printf, putc, putchar, puts,
3097 qsort, raise, rand, read, readdir, realloc, remove, rename, rewind,
3098 rewinddir, rmdir, scanf, setgid, setjmp, setlocale, setpgid, setsid,
3099 setuid, sigaction, siglongjmp, sigpending, sigprocmask, sigsetjmp,
3100 sigsuspend, sin, sinh, sleep, sprintf, sqrt, srand, sscanf, stat, strcat,
3101 strchr, strcmp, strcoll, strcpy, strcspn, strerror, strftime, strlen,
3102 strncat, strncmp, strncpy, stroul, strpbrk, strrchr, strspn, strstr,
3103 strtod, strtok, strtol, strtoul, strxfrm, sysconf, system, tan, tanh,
3104 tcdrain, tcflow, tcflush, tcgetpgrp, tcsendbreak, tcsetpgrp, time, times,
3105 tmpfile, tmpnam, tolower, toupper, ttyname, tzname, tzset, umask, uname,
3106 ungetc, unlink, utime, vfprintf, vprintf, vsprintf, wait, waitpid,
3107 wcstombs, wctomb, write
3113 =item POSIX::SigAction
3119 new, addset, delset, emptyset, fillset, ismember
3121 =item POSIX::Termios
3123 new, getattr, getcc, getcflag, getiflag, getispeed, getlflag, getoflag,
3124 getospeed, setattr, setcc, setcflag, setiflag, setispeed, setlflag,
3125 setoflag, setospeed, Baud rate values, Terminal interface values, c_cc
3126 field values, c_cflag field values, c_iflag field values, c_lflag field
3127 values, c_oflag field values
3131 =item PATHNAME CONSTANTS
3135 =item POSIX CONSTANTS
3139 =item SYSTEM CONFIGURATION
3197 =head2 Pod::Text - convert POD data to formatted ASCII text
3207 =head2 SDBM_File - Tied access to sdbm files
3213 =head2 Safe - Compile and execute code in restricted compartments
3219 a new namespace, an operator mask
3225 =item RECENT CHANGES
3227 =item Methods in class Safe
3229 permit (OP, ...), permit_only (OP, ...), deny (OP, ...), deny_only (OP,
3230 ...), trap (OP, ...), untrap (OP, ...), share (NAME, ...), share_from
3231 (PACKAGE, ARRAYREF), varglob (VARNAME), reval (STRING), rdo (FILENAME),
3232 root (NAMESPACE), mask (MASK)
3234 =item Some Safety Issues
3236 Memory, CPU, Snooping, Signals, State Changes
3242 =head2 Search::Dict, look - search for key in dictionary file
3248 =head2 SelectSaver - save and restore selected file handle
3254 =head2 SelfLoader - load functions only on demand
3262 =item The __DATA__ token
3264 =item SelfLoader autoloading
3266 =item Autoloading and package lexicals
3268 =item SelfLoader and AutoLoader
3270 =item __DATA__, __END__, and the FOOBAR::DATA filehandle.
3272 =item Classes and inherited methods.
3276 =item Multiple packages and fully qualified subroutine names
3278 =head2 Shell - run shell commands transparently within perl
3286 =head2 Socket, sockaddr_in, sockaddr_un, inet_aton, inet_ntoa - load the C
3287 socket.h defines and structure manipulators
3293 inet_aton HOSTNAME, inet_ntoa IP_ADDRESS, INADDR_ANY, INADDR_BROADCAST,
3294 INADDR_LOOPBACK, INADDR_NONE, sockaddr_in PORT, ADDRESS, sockaddr_in
3295 SOCKADDR_IN, pack_sockaddr_in PORT, IP_ADDRESS, unpack_sockaddr_in
3296 SOCKADDR_IN, sockaddr_un PATHNAME, sockaddr_un SOCKADDR_UN,
3297 pack_sockaddr_un PATH, unpack_sockaddr_un SOCKADDR_UN
3299 =head2 Symbol - manipulate Perl symbols and their names
3305 =head2 Sys::Hostname - Try every conceivable way to get hostname
3313 =head2 Syslog, Sys::Syslog, openlog, closelog, setlogmask, syslog - Perl
3314 interface to the UNIX syslog(3) calls
3320 openlog $ident, $logopt, $facility, syslog $priority, $format, @args,
3321 setlogmask $mask_priority, closelog
3331 =head2 Term::Cap - Perl termcap interface
3339 =head2 Term::Complete - Perl word completion module
3345 E<lt>tabE<gt>Attempts word completion.
3346 Cannot be changed, ^D, ^U, E<lt>delE<gt>, E<lt>bsE<gt>
3354 =head2 Term::ReadLine - Perl interface to various C<readline> packages. If
3355 no real package is found, substitutes stubs instead of basic functions.
3361 =item Minimal set of supported functions
3363 C<ReadLine>, C<new>, C<readline>, C<addhistory>, C<IN>, $C<OUT>,
3364 C<MinLine>, C<findConsole>, C<Features>
3368 =head2 Test::Harness - run perl standard test scripts with statistics
3376 =item The test script output
3384 C<All tests successful.\nFiles=%d, Tests=%d, %s>, C<FAILED tests
3385 %s\n\tFailed %d/%d tests, %.2f%% okay.>, C<Test returned status %d (wstat
3386 %d)>, C<Failed 1 test, %.2f%% okay. %s>, C<Failed %d/%d tests, %.2f%% okay.
3395 =head2 Text::Abbrev, abbrev - create an abbreviation table from a list
3403 =head2 Text::ParseWords - parse text into an array of tokens
3411 =head2 Text::Soundex - Implementation of the Soundex Algorithm as Described
3424 =head2 Text::Tabs -- expand and unexpand tabs per the unix expand(1) and
3435 =head2 Text::Wrap - line wrapping to form simple paragraphs
3447 =head2 Tie::Hash, Tie::StdHash - base class definitions for tied hashes
3453 TIEHASH classname, LIST, STORE this, key, value, FETCH this, key, FIRSTKEY
3454 this, NEXTKEY this, lastkey, EXISTS this, key, DELETE this, key, CLEAR this
3458 =item MORE INFORMATION
3460 =head2 Tie::RefHash - use references as hash keys
3474 =head2 Tie::Scalar, Tie::StdScalar - base class definitions for tied
3481 TIESCALAR classname, LIST, FETCH this, STORE this, value, DESTROY this
3483 =item MORE INFORMATION
3485 =head2 Tie::SubstrHash - Fixed-table-size, fixed-key-length hashing
3493 =head2 Time::Local - efficiently compute time from local and GMT time
3499 =head2 Time::gmtime - by-name interface to Perl's built-in gmtime()
3510 =head2 Time::localtime - by-name interface to Perl's built-in localtime()
3521 =head2 Time::tm - internal object used by Time::gmtime and Time::localtime
3529 =head2 UNIVERSAL - base class for ALL classes (blessed references)
3535 isa ( TYPE ), can ( METHOD ), VERSION ( [ REQUIRE ] ), isa ( REF, TYPE )
3537 =head2 User::grent - by-name interface to Perl's built-in getgr*()
3548 =head2 User::pwent - by-name interface to Perl's built-in getpw*()
3559 =head1 AUXILIARY DOCUMENTATION
3561 Here should be listed all the extra programs' documentation, but they
3562 don't all have manual pages yet:
3584 Larry Wall E<lt>F<larry@wall.org>E<gt>, with the help of oodles