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 Fixed Parsing of $$<digit>, &$<digit>, etc.
59 =item Internal Change: FileHandle Deprecated
61 =item Internal Change: PerlIO internal IO abstraction interface
63 =item New and Changed Built-in Variables
67 =item New and Changed Built-in Functions
69 delete on slices, flock, printf and sprintf, keys as an lvalue, my() in
70 Control Structures, unpack() and pack(), use VERSION, use Module VERSION
71 LIST, prototype(FUNCTION), $_ as Default, C<m//g> does not trigger a pos()
72 reset on failure, nested C<sub{}> closures work now, formats work right on
75 =item New Built-in Methods
77 isa(CLASS), can(METHOD), VERSION( [NEED] )
79 =item TIEHANDLE Now Supported
81 TIEHANDLE classname, LIST, PRINT this, LIST, READLINE this, DESTROY this
83 =item Malloc Enhancements
85 -DEMERGENCY_SBRK, -DPACK_MALLOC, -DTWO_POT_OPTIMIZE
87 =item Miscellaneous Efficiency Enhancements
93 use blib, use blib 'dir', use locale, use ops, use vmsish
99 =item Installation Directories
103 =item Module Information Summary
113 =item Overridden Built-ins
117 =item Utility Changes
123 C<void> XSUBs now default to returning nothing
127 =item C Language API Changes
129 C<gv_fetchmethod> and C<perl_call_sv>
131 =item Documentation Changes
133 L<perldelta>, L<perllocale>, L<perltoot>, L<perlapio>, L<perldebug>,
136 =item New Diagnostics
138 "my" variable %s masks earlier declaration in same scope, %s argument is
139 not a HASH element or slice, Allocation too large: %lx, Allocation too
140 large, Attempt to free non-existent shared string, Attempt to use reference
141 as lvalue in substr, Unsupported function fork, Ill-formed logical name
142 |%s| in prime_env_iter, Can't use bareword ("%s") as %s ref while "strict
143 refs" in use, Constant subroutine %s redefined, Died, Integer overflow in
144 hex number, Integer overflow in octal number, Name "%s::%s" used only once:
145 possible typo, Null picture in formline, Offset outside string, Stub found
146 while resolving method `%s' overloading `%s' in package `%s', Cannot
147 resolve method `%s' overloading `%s' in package `s', Out of memory!, Out of
148 memory during request for %s, Possible attempt to put comments in qw()
149 list, Possible attempt to separate words with commas, Scalar value @%s{%s}
150 better written as $%s{%s}, untie attempted while %d inner references still
151 exist, Value of %s construct can be "0"; test with defined(), Variable "%s"
152 may be unavailable, Variable "%s" will not stay shared, Warning:
153 something's wrong, Got an error from DosAllocMem, Malformed PERLLIB_PREFIX,
154 PERL_SH_DIR too long, Process terminated by SIG%s
162 =head2 perldata - Perl data types
174 =item Scalar value constructors
176 =item List value constructors
178 =item Typeglobs and Filehandles
182 =head2 perlsyn - Perl syntax
190 =item Simple statements
192 =item Compound statements
200 =item Basic BLOCKs and Switch Statements
204 =item PODs: Embedded Documentation
206 =item Plain Old Comments (Not!)
210 =head2 perlop - Perl operators and precedence
218 =item Terms and List Operators (Leftward)
220 =item The Arrow Operator
222 =item Auto-increment and Auto-decrement
226 =item Symbolic Unary Operators
228 =item Binding Operators
230 =item Multiplicative Operators
232 =item Additive Operators
234 =item Shift Operators
236 =item Named Unary Operators
238 =item Relational Operators
240 =item Equality Operators
244 =item Bitwise Or and Exclusive Or
246 =item C-style Logical And
248 =item C-style Logical Or
252 =item Conditional Operator
254 =item Assignment Operators
258 =item List Operators (Rightward)
264 =item Logical or and Exclusive Or
266 =item C Operators Missing From Perl
268 unary &, unary *, (TYPE)
270 =item Quote and Quote-like Operators
272 =item Regexp Quote-Like Operators
274 ?PATTERN?, m/PATTERN/gimosx, /PATTERN/gimosx, q/STRING/, C<'STRING'>,
275 qq/STRING/, "STRING", qx/STRING/, `STRING`, qw/STRING/,
276 s/PATTERN/REPLACEMENT/egimosx, tr/SEARCHLIST/REPLACEMENTLIST/cds,
277 y/SEARCHLIST/REPLACEMENTLIST/cds
281 =item Constant Folding
283 =item Integer Arithmetic
287 =head2 perlre - Perl regular expressions
295 =item Regular Expressions
297 (?#text), (?:regexp), (?=regexp), (?!regexp), (?imsx)
301 =item Version 8 Regular Expressions
303 =item WARNING on \1 vs $1
307 =head2 perlrun - how to execute the Perl interpreter
317 B<-0>[I<digits>], B<-a>, B<-c>, B<-d>, B<-d:>I<foo>, B<-D>I<number>,
318 B<-D>I<list>, B<-e> I<commandline>, B<-F>I<pattern>, B<-h>,
319 B<-i>[I<extension>], B<-I>I<directory>, B<-l>[I<octnum>],
320 B<-m>[B<->]I<module>, B<-M>[B<->]I<module>, B<-M>[B<->]I<'module ...'>,
321 B<-[mM]>[B<->]I<module=arg[,arg]...>, B<-n>, B<-p>, B<-P>, B<-s>, B<-S>,
322 B<-T>, B<-u>, B<-U>, B<-v>, B<-V>, B<-V:>I<name>, B<-w>, B<-x> I<directory>
326 =head2 perlfunc - Perl builtin functions
330 I<THERE IS NO GENERAL RULE FOR CONVERTING A LIST INTO A SCALAR!>
334 =item Perl Functions by Category
336 Functions for SCALARs or strings, Regular expressions and pattern matching,
337 Numeric functions, Functions for real @ARRAYs, Functions for list data,
338 Functions for real %HASHes, Input and output functions, Functions for fixed
339 length data or records, Functions for filehandles, files, or directories,
340 Keywords related to the control flow of your perl program, Keywords related
341 to scoping, Miscellaneous functions, Functions for processes and process
342 groups, Keywords related to perl modules, Keywords related to classes and
343 object-orientedness, Low-level socket functions, System V interprocess
344 communication functions, Fetching user and group info, Fetching network
345 info, Time-related functions, Functions new in perl5, Functions obsoleted
348 =item Alphabetical Listing of Perl Functions
350 -I<X> FILEHANDLE, -I<X> EXPR, -I<X>, abs VALUE, abs, accept
351 NEWSOCKET,GENERICSOCKET, alarm SECONDS, alarm, atan2 Y,X, bind SOCKET,NAME,
352 binmode FILEHANDLE, bless REF,CLASSNAME, bless REF, caller EXPR, caller,
353 chdir EXPR, chmod LIST, chomp VARIABLE, chomp LIST, chomp, chop VARIABLE,
354 chop LIST, chop, chown LIST, chr NUMBER, chr, chroot FILENAME, chroot,
355 close FILEHANDLE, closedir DIRHANDLE, connect SOCKET,NAME, continue BLOCK,
356 cos EXPR, crypt PLAINTEXT,SALT, dbmclose HASH, dbmopen HASH,DBNAME,MODE,
357 defined EXPR, defined, delete EXPR, die LIST, do BLOCK, do
358 SUBROUTINE(LIST), do EXPR, dump LABEL, each HASH, eof FILEHANDLE, eof (),
359 eof, eval EXPR, eval BLOCK, exec LIST, exists EXPR, exit EXPR, exp EXPR,
360 exp, fcntl FILEHANDLE,FUNCTION,SCALAR, fileno FILEHANDLE, flock
361 FILEHANDLE,OPERATION, fork, format, formline PICTURE, LIST, getc
362 FILEHANDLE, getc, getlogin, getpeername SOCKET, getpgrp PID, getppid,
363 getpriority WHICH,WHO, getpwnam NAME, getgrnam NAME, gethostbyname NAME,
364 getnetbyname NAME, getprotobyname NAME, getpwuid UID, getgrgid GID,
365 getservbyname NAME,PROTO, gethostbyaddr ADDR,ADDRTYPE, getnetbyaddr
366 ADDR,ADDRTYPE, getprotobynumber NUMBER, getservbyport PORT,PROTO, getpwent,
367 getgrent, gethostent, getnetent, getprotoent, getservent, setpwent,
368 setgrent, sethostent STAYOPEN, setnetent STAYOPEN, setprotoent STAYOPEN,
369 setservent STAYOPEN, endpwent, endgrent, endhostent, endnetent,
370 endprotoent, endservent, getsockname SOCKET, getsockopt
371 SOCKET,LEVEL,OPTNAME, glob EXPR, glob, gmtime EXPR, goto LABEL, goto EXPR,
372 goto &NAME, grep BLOCK LIST, grep EXPR,LIST, hex EXPR, hex, import, index
373 STR,SUBSTR,POSITION, index STR,SUBSTR, int EXPR, int, ioctl
374 FILEHANDLE,FUNCTION,SCALAR, join EXPR,LIST, keys HASH, kill LIST, last
375 LABEL, last, lc EXPR, lc, lcfirst EXPR, lcfirst, length EXPR, length, link
376 OLDFILE,NEWFILE, listen SOCKET,QUEUESIZE, local EXPR, localtime EXPR, log
377 EXPR, log, lstat FILEHANDLE, lstat EXPR, lstat, m//, map BLOCK LIST, map
378 EXPR,LIST, mkdir FILENAME,MODE, msgctl ID,CMD,ARG, msgget KEY,FLAGS, msgsnd
379 ID,MSG,FLAGS, msgrcv ID,VAR,SIZE,TYPE,FLAGS, my EXPR, next LABEL, next, no
380 Module LIST, oct EXPR, oct, open FILEHANDLE,EXPR, open FILEHANDLE, opendir
381 DIRHANDLE,EXPR, ord EXPR, ord, pack TEMPLATE,LIST, package NAMESPACE, pipe
382 READHANDLE,WRITEHANDLE, pop ARRAY, pop, pos SCALAR, pos, print FILEHANDLE
383 LIST, print LIST, print, printf FILEHANDLE FORMAT, LIST, printf FORMAT,
384 LIST, prototype FUNCTION, push ARRAY,LIST, q/STRING/, qq/STRING/,
385 qx/STRING/, qw/STRING/, quotemeta EXPR, quotemeta, rand EXPR, rand, read
386 FILEHANDLE,SCALAR,LENGTH,OFFSET, read FILEHANDLE,SCALAR,LENGTH, readdir
387 DIRHANDLE, readlink EXPR, readlink, recv SOCKET,SCALAR,LEN,FLAGS, redo
388 LABEL, redo, ref EXPR, ref, rename OLDNAME,NEWNAME, require EXPR, require,
389 reset EXPR, reset, return LIST, reverse LIST, rewinddir DIRHANDLE, rindex
390 STR,SUBSTR,POSITION, rindex STR,SUBSTR, rmdir FILENAME, rmdir, s///, scalar
391 EXPR, seek FILEHANDLE,POSITION,WHENCE, seekdir DIRHANDLE,POS, select
392 FILEHANDLE, select, select RBITS,WBITS,EBITS,TIMEOUT, semctl
393 ID,SEMNUM,CMD,ARG, semget KEY,NSEMS,FLAGS, semop KEY,OPSTRING, send
394 SOCKET,MSG,FLAGS,TO, send SOCKET,MSG,FLAGS, setpgrp PID,PGRP, setpriority
395 WHICH,WHO,PRIORITY, setsockopt SOCKET,LEVEL,OPTNAME,OPTVAL, shift ARRAY,
396 shift, shmctl ID,CMD,ARG, shmget KEY,SIZE,FLAGS, shmread ID,VAR,POS,SIZE,
397 shmwrite ID,STRING,POS,SIZE, shutdown SOCKET,HOW, sin EXPR, sin, sleep
398 EXPR, sleep, socket SOCKET,DOMAIN,TYPE,PROTOCOL, socketpair
399 SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL, sort SUBNAME LIST, sort BLOCK LIST,
400 sort LIST, splice ARRAY,OFFSET,LENGTH,LIST, splice ARRAY,OFFSET,LENGTH,
401 splice ARRAY,OFFSET, split /PATTERN/,EXPR,LIMIT, split /PATTERN/,EXPR,
402 split /PATTERN/, split, sprintf FORMAT, LIST, sqrt EXPR, sqrt, srand EXPR,
403 stat FILEHANDLE, stat EXPR, stat, study SCALAR, study, sub BLOCK, sub NAME,
404 sub NAME BLOCK, substr EXPR,OFFSET,LEN, substr EXPR,OFFSET, symlink
405 OLDFILE,NEWFILE, syscall LIST, sysopen FILEHANDLE,FILENAME,MODE, sysopen
406 FILEHANDLE,FILENAME,MODE,PERMS, sysread FILEHANDLE,SCALAR,LENGTH,OFFSET,
407 sysread FILEHANDLE,SCALAR,LENGTH, system LIST, syswrite
408 FILEHANDLE,SCALAR,LENGTH,OFFSET, syswrite FILEHANDLE,SCALAR,LENGTH, tell
409 FILEHANDLE, tell, telldir DIRHANDLE, tie VARIABLE,CLASSNAME,LIST, tied
410 VARIABLE, time, times, tr///, truncate FILEHANDLE,LENGTH, truncate
411 EXPR,LENGTH, uc EXPR, uc, ucfirst EXPR, ucfirst, umask EXPR, umask, undef
412 EXPR, undef, unlink LIST, unlink, unpack TEMPLATE,EXPR, untie VARIABLE,
413 unshift ARRAY,LIST, use Module LIST, use Module, use Module VERSION LIST,
414 use VERSION, utime LIST, values HASH, vec EXPR,OFFSET,BITS, wait, waitpid
415 PID,FLAGS, wantarray, warn LIST, write FILEHANDLE, write EXPR, write, y///
419 =head2 perlvar - Perl predefined variables
425 =item Predefined Names
427 $ARG, $_, $E<lt>I<digit>E<gt>, $MATCH, $&, $PREMATCH, $`, $POSTMATCH, $',
428 $LAST_PAREN_MATCH, $+, $MULTILINE_MATCHING, $*, input_line_number HANDLE
429 EXPR, $INPUT_LINE_NUMBER, $NR, $, input_record_separator HANDLE EXPR,
430 $INPUT_RECORD_SEPARATOR, $RS, $/, autoflush HANDLE EXPR, $OUTPUT_AUTOFLUSH,
431 $|, output_field_separator HANDLE EXPR, $OUTPUT_FIELD_SEPARATOR, $OFS, $,,
432 output_record_separator HANDLE EXPR, $OUTPUT_RECORD_SEPARATOR, $ORS, $\,
433 $LIST_SEPARATOR, $", $SUBSCRIPT_SEPARATOR, $SUBSEP, $;, $OFMT, $#,
434 format_page_number HANDLE EXPR, $FORMAT_PAGE_NUMBER, $%,
435 format_lines_per_page HANDLE EXPR, $FORMAT_LINES_PER_PAGE, $=,
436 format_lines_left HANDLE EXPR, $FORMAT_LINES_LEFT, $-, format_name HANDLE
437 EXPR, $FORMAT_NAME, $~, format_top_name HANDLE EXPR, $FORMAT_TOP_NAME, $^,
438 format_line_break_characters HANDLE EXPR, $FORMAT_LINE_BREAK_CHARACTERS,
439 $:, format_formfeed HANDLE EXPR, $FORMAT_FORMFEED, $^L, $ACCUMULATOR, $^A,
440 $CHILD_ERROR, $?, $OS_ERROR, $ERRNO, $!, $EXTENDED_OS_ERROR, $^E,
441 $EVAL_ERROR, $@, $PROCESS_ID, $PID, $$, $REAL_USER_ID, $UID, $<,
442 $EFFECTIVE_USER_ID, $EUID, $>, $REAL_GROUP_ID, $GID, $(,
443 $EFFECTIVE_GROUP_ID, $EGID, $), $PROGRAM_NAME, $0, $[, $PERL_VERSION, $],
444 $DEBUGGING, $^D, $SYSTEM_FD_MAX, $^F, $^H, $INPLACE_EDIT, $^I, $OSNAME,
445 $^O, $PERLDB, $^P, $BASETIME, $^T, $WARNING, $^W, $EXECUTABLE_NAME, $^X,
446 $ARGV, @ARGV, @INC, %INC, $ENV{expr}, $SIG{expr}
450 =head2 perlsub - Perl subroutines
458 =item Private Variables via my()
460 =item Temporary Values via local()
462 =item Passing Symbol Table Entries (typeglobs)
464 =item Pass by Reference
468 =item Constant Functions
470 =item Overriding Builtin Functions
478 =head2 perlmod - Perl modules (packages)
488 =item Package Constructors and Destructors
498 =item THE PERL MODULE LIBRARY
502 =item Pragmatic Modules
504 blib, diagnostics, integer, less, lib, locale, ops, overload, sigtrap,
505 strict, subs, vmsish, vars
507 =item Standard Modules
509 AnyDBM_File, AutoLoader, AutoSplit, Benchmark, CPAN, CPAN::FirstTime,
510 CPAN::Nox, Carp, Class::Template, Config, Cwd, DB_File, Devel::SelfStubber,
511 DirHandle, DynaLoader, English, Env, Exporter, ExtUtils::Embed,
512 ExtUtils::Install, ExtUtils::Liblist, ExtUtils::MM_OS2, ExtUtils::MM_Unix,
513 ExtUtils::MM_VMS, ExtUtils::MakeMaker, ExtUtils::Manifest,
514 ExtUtils::Mkbootstrap, ExtUtils::Mksymlists, ExtUtils::testlib, Fcntl,
515 File::Basename, File::CheckTree, File::Compare, File::Copy, File::Find,
516 File::Path, File::stat, FileCache, FileHandle, FindBin, GDBM_File,
517 Getopt::Long, Getopt::Std, I18N::Collate, IO, IO::File, IO::Handle,
518 IO::Pipe, IO::Seekable, IO::Select, IO::Socket, IPC::Open2, IPC::Open3,
519 Math::BigFloat, Math::BigInt, Math::Complex, NDBM_File, Net::Ping,
520 Net::hostent, Net::netent, Net::protoent, Net::servent, Opcode, Pod::Text,
521 POSIX, SDBM_File, Safe, Search::Dict, SelectSaver, SelfLoader, Shell,
522 Socket, Symbol, Sys::Hostname, Sys::Syslog, Term::Cap, Term::Complete,
523 Term::ReadLine, Test::Harness, Text::Abbrev, Text::ParseWords,
524 Text::Soundex, Text::Tabs, Text::Wrap, Tie::Hash, Tie::RefHash,
525 Tie::Scalar, Tie::SubstrHash, Time::Local, Time::gmtime, Time::localtime,
526 Time::tm, UNIVERSAL, User::grent, User::pwent
528 =item Extension Modules
534 Language Extensions and Documentation Tools, Development Support, Operating
535 System Interfaces, Networking, Device Control (modems) and InterProcess
536 Communication, Data Types and Data Type Utilities, Database Interfaces,
537 User Interfaces, Interfaces to / Emulations of Other Programming Languages,
538 File Names, File Systems and File Locking (see also File Handles), String
539 Processing, Language Text Processing, Parsing, and Searching, Option,
540 Argument, Parameter, and Configuration File Processing,
541 Internationalization and Locale, Authentication, Security, and Encryption,
542 World Wide Web, HTML, HTTP, CGI, MIME, Server and Daemon Utilities,
543 Archiving and Compression, Images, Pixmap and Bitmap Manipulation, Drawing,
544 and Graphing, Mail and Usenet News, Control Flow Utilities (callbacks and
545 exceptions etc), File Handle and Input/Output Stream Utilities,
546 Miscellaneous Modules
548 =item Modules: Creation, Use, and Abuse
552 =item Guidelines for Module Creation
554 Do similar modules already exist in some form?, Try to design the new
555 module to be easy to extend and reuse, Some simple style guidelines, Select
556 what to export, Select a name for the module, Have you got it right?,
557 README and other Additional Files, A description of the
558 module/package/extension etc, A copyright notice - see below, Prerequisites
559 - what else you may need to have, How to build it - possible changes to
560 Makefile.PL etc, How to install it, Recent changes in this release,
561 especially incompatibilities, Changes / enhancements you plan to make in
562 the future, Adding a Copyright Notice, Give the module a
563 version/issue/release number, How to release and distribute a module, Take
564 care when changing a released module
566 =item Guidelines for Converting Perl 4 Library Scripts into Modules
568 There is no requirement to convert anything, Consider the implications,
569 Make the most of the opportunity, The pl2pm utility will get you started,
570 Adds the standard Module prologue lines, Converts package specifiers from '
571 to ::, Converts die(...) to croak(...), Several other minor changes
573 =item Guidelines for Reusing Application Code
575 Complete applications rarely belong in the Perl Module Library, Many
576 applications contain some perl code which could be reused, Break-out the
577 reusable code into one or more separate module files, Take the opportunity
578 to reconsider and redesign the interfaces, In some cases the 'application'
579 can then be reduced to a small
583 =head2 perlform - Perl formats
589 =item Format Variables
599 =item Accessing Formatting Internals
605 =head2 perllocale - Perl locale handling (internationalization and
610 =item PREPARING TO USE LOCALES
616 =item The use locale pragma
618 =item The setlocale function
620 =item The localeconv function
624 =item LOCALE CATEGORIES
628 =item Category LC_COLLATE: Collation
630 =item Category LC_CTYPE: Character Types
632 =item Category LC_NUMERIC: Numeric Formatting
634 =item Category LC_MONETARY: Formatting of monetary amounts
638 =item Other categories
644 B<Comparison operators> (C<lt>, C<le>, C<ge>, C<gt> and C<cmp>):,
645 B<Case-mapping interpolation> (with C<\l>, C<\L>, C<\u> or <\U>),
646 B<Matching operator> (C<m//>):, B<Substitution operator> (C<s///>):,
647 B<In-memory formatting function> (sprintf()):, B<Output formatting
648 functions> (printf() and write()):, B<Case-mapping functions> (lc(),
649 lcfirst(), uc(), ucfirst()):, B<POSIX locale-dependent functions>
650 (localeconv(), strcoll(),strftime(), strxfrm()):, B<POSIX character class
651 tests> (isalnum(), isalpha(), isdigit(),isgraph(), islower(), isprint(),
652 ispunct(), isspace(), isupper(),
657 PERL_BADLANG, LC_ALL, LC_CTYPE, LC_COLLATE, LC_MONETARY, LC_NUMERIC,
664 =item Backward compatibility
666 =item I18N:Collate obsolete
668 =item Sort speed and memory use impacts
670 =item write() and LC_NUMERIC
672 =item Freely available locale definitions
676 =item An imperfect standard
692 =head2 perlref - Perl references and nested data structures
698 =item Symbolic references
700 =item Not-so-symbolic references
708 =head2 perldsc - Perl Data Structures Cookbook
712 arrays of arrays, hashes of arrays, arrays of hashes, hashes of hashes,
713 more elaborate constructs
717 =item COMMON MISTAKES
719 =item CAVEAT ON PRECEDENCE
721 =item WHY YOU SHOULD ALWAYS C<use strict>
731 =item Declaration of a LIST OF LISTS
733 =item Generation of a LIST OF LISTS
735 =item Access and Printing of a LIST OF LISTS
739 =item HASHES OF LISTS
743 =item Declaration of a HASH OF LISTS
745 =item Generation of a HASH OF LISTS
747 =item Access and Printing of a HASH OF LISTS
751 =item LISTS OF HASHES
755 =item Declaration of a LIST OF HASHES
757 =item Generation of a LIST OF HASHES
759 =item Access and Printing of a LIST OF HASHES
763 =item HASHES OF HASHES
767 =item Declaration of a HASH OF HASHES
769 =item Generation of a HASH OF HASHES
771 =item Access and Printing of a HASH OF HASHES
775 =item MORE ELABORATE RECORDS
779 =item Declaration of MORE ELABORATE RECORDS
781 =item Declaration of a HASH OF COMPLEX RECORDS
783 =item Generation of a HASH OF COMPLEX RECORDS
793 =head2 perllol, perlLoL - Manipulating Lists of Lists in Perl
797 =item Declaration and Access of Lists of Lists
799 =item Growing Your Own
801 =item Access and Printing
809 =head2 perltoot - Tom's object-oriented tutorial for perl
813 =item Creating a Class
817 =item Object Representation
819 =item Class Interface
821 =item Constructors and Instance Methods
823 =item Planning for the Future: Better Constructors
827 =item Other Object Methods
835 =item Accessing Class Data
837 =item Debugging Methods
839 =item Class Destructors
841 =item Documenting the Interface
851 =item Overridden Methods
853 =item Multiple Inheritance
855 =item UNIVERSAL: The Root of All Objects
859 =item Alternate Object Representations
863 =item Arrays as Objects
865 =item Closures as Objects
869 =item AUTOLOAD: Proxy Methods
873 =item Autoloaded Data Methods
875 =item Inherited Autoloaded Data Methods
879 =item Metaclassical Tools
883 =item Class::Template
885 =item Data Members as Variables
889 =item Object Terminology
899 =item Acknowledgments
903 =head2 perlobj - Perl objects
909 =item An Object is Simply a Reference
911 =item A Class is Simply a Package
913 =item A Method is Simply a Subroutine
915 =item Method Invocation
917 =item Default UNIVERSAL methods
919 isa(CLASS), can(METHOD), VERSION( [NEED] )
927 =item Two-Phased Garbage Collection
933 =head2 perltie - how to hide an object class in a simple variable
943 TIESCALAR classname, LIST, FETCH this, STORE this, value, DESTROY this
947 TIEARRAY classname, LIST, FETCH this, index, STORE this, index, value,
952 USER, HOME, CLOBBER, LIST, TIEHASH classname, LIST, FETCH this, key, STORE
953 this, key, value, DELETE this, key, CLEAR this, EXISTS this, key, FIRSTKEY
954 this, NEXTKEY this, lastkey, DESTROY this
956 =item Tying FileHandles
958 TIEHANDLE classname, LIST, PRINT this, LIST, READLINE this, DESTROY this
960 =item The C<untie> Gotcha
970 =head2 perlbot - Bag'o Object Tricks (the BOT)
974 =item OO SCALING TIPS
976 =item INSTANCE VARIABLES
978 =item SCALAR INSTANCE VARIABLES
980 =item INSTANCE VARIABLE INHERITANCE
982 =item OBJECT RELATIONSHIPS
984 =item OVERRIDING SUPERCLASS METHODS
986 =item USING RELATIONSHIP WITH SDBM
988 =item THINKING OF CODE REUSE
990 =item CLASS CONTEXT AND THE OBJECT
992 =item INHERITING A CONSTRUCTOR
996 =head2 perlipc - Perl interprocess communication (signals, fifos, pipes,
997 safe subprocesses, sockets, and semaphores)
1005 =item Using open() for IPC
1009 =item Safe Pipe Opens
1011 =item Bidirectional Communication
1015 =item Sockets: Client/Server Communication
1019 =item Internet TCP Clients and Servers
1021 =item Unix-Domain TCP Clients and Servers
1023 =item UDP: Message Passing
1039 =head2 perldebug - Perl debugging
1043 =item The Perl Debugger
1047 =item Debugger Commands
1049 h [command], p expr, x expr, V [pkg [vars]], X [vars], T, s [expr], n
1050 [expr], E<lt>CRE<gt>, c [line|sub], l, l min+incr, l min-max, l line, l
1051 subname, -, w [line], f filename, /pattern/, ?pattern?, L, S [[!]pattern],
1052 t, t expr, b [line] [condition], b subname [condition], b postpone subname
1053 [condition], b load filename, b compile subname, d [line], D, a [line]
1054 command, A, O [opt[=val]] [opt"val"] [opt?].., C<recallCommand>,
1055 C<ShellBang>, C<pager>, C<tkRunning>, C<signalLevel>, C<warnLevel>,
1056 C<dieLevel>, C<AutoTrace>, C<LineInfo>, C<inhibit_exit>, C<PrintRet>,
1057 C<frame>, C<maxTraceLen>, C<arrayDepth>, C<hashDepth>, C<compactDump>,
1058 C<veryCompact>, C<globPrint>, C<DumpDBFiles>, C<DumpPackages>, C<quote>,
1059 C<HighBit>, C<undefPrint>, C<UsageOnly>, C<TTY>, C<noTTY>, C<ReadLine>,
1060 C<NonStop>, E<lt> [ command ], E<lt>E<lt> command, E<gt> command,
1061 E<gt>E<gt> command, { [ command ], {{ command, ! number, ! -number, !
1062 pattern, !! cmd, H -number, q or ^D, R, |dbcmd, ||dbcmd, = [alias value],
1063 command, m expr, m package
1065 =item Debugger input/output
1067 Prompt, Multi-line commands, Stack backtrace, Listing, Frame listing
1069 =item Debugging compile-time statements
1071 =item Debugger Customization
1073 =item Readline Support
1075 =item Editor Support for Debugging
1077 =item The Perl Profiler
1079 =item Debugger support in perl
1081 =item Debugger Internals
1083 =item Other resources
1089 =head2 perldiag - various Perl diagnostics
1093 =head2 perlsec - Perl security
1099 =item Laundering and Detecting Tainted Data
1101 =item Cleaning Up Your Path
1107 =head2 perltrap - Perl traps for the unwary
1123 =item Perl4 to Perl5 Traps
1125 Discontinuance, Deprecation, and BugFix traps, Parsing Traps, Numerical
1126 Traps, General data type traps, Context Traps - scalar, list contexts,
1127 Precedence Traps, General Regular Expression Traps using s///, etc,
1128 Subroutine, Signal, Sorting Traps, OS Traps, DBM Traps, Unclassified Traps
1130 =item Discontinuance, Deprecation, and BugFix traps
1132 Discontinuance, Deprecation, BugFix, Discontinuance, Discontinuance,
1133 Discontinuance, BugFix, Discontinuance, Discontinuance, BugFix,
1134 Discontinuance, Deprecation, Discontinuance
1138 Parsing, Parsing, Parsing
1140 =item Numerical Traps
1142 Numerical, Numerical, Numerical
1144 =item General data type traps
1146 (Arrays), (Arrays), (Hashes), (Globs), (Scalar String), (Constants),
1147 (Scalars), (Variable Suicide)
1149 =item Context Traps - scalar, list contexts
1151 (list context), (scalar context), (scalar context), (list, builtin)
1153 =item Precedence Traps
1155 Precedence, Precedence, Precedence, Precedence, Precedence, Precedence,
1158 =item General Regular Expression Traps using s///, etc.
1160 Regular Expression, Regular Expression, Regular Expression, Regular
1161 Expression, Regular Expression, Regular Expression, Regular Expression,
1164 =item Subroutine, Signal, Sorting Traps
1166 (Signals), (Sort Subroutine), warn() won't let you specify a filehandle
1172 =item Interpolation Traps
1174 Interpolation, Interpolation, Interpolation, Interpolation, Interpolation,
1175 Interpolation, Interpolation, Interpolation, Interpolation
1181 =item Unclassified Traps
1187 =head2 perlstyle - Perl style guide
1191 =head2 perlpod - plain old documentation
1195 =item Embedding Pods in Perl Modules
1197 =item Common Pod Pitfalls
1203 =head2 perlbook - Perl book information
1207 =head2 perlembed - how to embed perl in your C program
1215 B<Use C from Perl?>, B<Use a UNIX program from Perl?>, B<Use Perl from
1216 Perl?>, B<Use C from C?>, B<Use Perl from C?>
1220 =item Compiling your C program
1222 =item Adding a Perl interpreter to your C program
1224 =item Calling a Perl subroutine from your C program
1226 =item Evaluating a Perl statement from your C program
1228 =item Performing Perl pattern matches and substitutions from your C program
1230 =item Fiddling with the Perl stack from your C program
1232 =item Maintaining a persistent interpreter
1234 =item Maintaining multiple interpreter instances
1236 =item Using Perl modules, which themselves use C libraries, from your C
1247 =head2 perlapio - perl's IO abstraction interface.
1253 B<PerlIO *>, B<PerlIO_stdin()>, B<PerlIO_stdout()>, B<PerlIO_stderr()>,
1254 B<PerlIO_open(path, mode)>, B<PerlIO_fdopen(fd,mode)>,
1255 B<PerlIO_printf(f,fmt,...)>, B<PerlIO_vprintf(f,fmt,a)>,
1256 B<PerlIO_stdoutf(fmt,...)>, B<PerlIO_read(f,buf,count)>,
1257 B<PerlIO_write(f,buf,count)>, B<PerlIO_close(f)>, B<PerlIO_puts(s,f)>,
1258 B<PerlIO_putc(c,f)>, B<PerlIO_ungetc(c,f)>, B<PerlIO_getc(f)>,
1259 B<PerlIO_eof(f)>, B<PerlIO_error(f)>, B<PerlIO_fileno(f)>,
1260 B<PerlIO_clearerr(f)>, B<PerlIO_flush(f)>, B<PerlIO_tell(f)>,
1261 B<PerlIO_seek(f,o,w)>, B<PerlIO_getpos(f,p)>, B<PerlIO_setpos(f,p)>,
1262 B<PerlIO_rewind(f)>, B<PerlIO_tmpfile()>
1266 =item Co-existence with stdio
1268 B<PerlIO_importFILE(f,flags)>, B<PerlIO_exportFILE(f,flags)>,
1269 B<PerlIO_findFILE(f)>, B<PerlIO_releaseFILE(p,f)>, B<PerlIO_setlinebuf(f)>,
1270 B<PerlIO_has_cntptr(f)>, B<PerlIO_get_ptr(f)>, B<PerlIO_get_cnt(f)>,
1271 B<PerlIO_canset_cnt(f)>, B<PerlIO_fast_gets(f)>,
1272 B<PerlIO_set_ptrcnt(f,p,c)>, B<PerlIO_set_cnt(f,c)>, B<PerlIO_has_base(f)>,
1273 B<PerlIO_get_base(f)>, B<PerlIO_get_bufsiz(f)>
1277 =head2 perlxs - XS language reference manual
1287 =item The Anatomy of an XSUB
1289 =item The Argument Stack
1291 =item The RETVAL Variable
1293 =item The MODULE Keyword
1295 =item The PACKAGE Keyword
1297 =item The PREFIX Keyword
1299 =item The OUTPUT: Keyword
1301 =item The CODE: Keyword
1303 =item The INIT: Keyword
1305 =item The NO_INIT Keyword
1307 =item Initializing Function Parameters
1309 =item Default Parameter Values
1311 =item The PREINIT: Keyword
1313 =item The SCOPE: Keyword
1315 =item The INPUT: Keyword
1317 =item Variable-length Parameter Lists
1319 =item The PPCODE: Keyword
1321 =item Returning Undef And Empty Lists
1323 =item The REQUIRE: Keyword
1325 =item The CLEANUP: Keyword
1327 =item The BOOT: Keyword
1329 =item The VERSIONCHECK: Keyword
1331 =item The PROTOTYPES: Keyword
1333 =item The PROTOTYPE: Keyword
1335 =item The ALIAS: Keyword
1337 =item The INCLUDE: Keyword
1339 =item The CASE: Keyword
1341 =item The & Unary Operator
1343 =item Inserting Comments and C Preprocessor Directives
1345 =item Using XS With C++
1347 =item Interface Strategy
1349 =item Perl Objects And C Structures
1361 =head2 perlxstut, perlXStut - Tutorial for XSUBs
1367 =item VERSION CAVEAT
1369 =item DYNAMIC VERSUS STATIC
1375 =item WHAT HAS GONE ON?
1377 =item WRITING GOOD TEST SCRIPTS
1381 =item WHAT'S NEW HERE?
1383 =item INPUT AND OUTPUT PARAMETERS
1385 =item THE XSUBPP COMPILER
1387 =item THE TYPEMAP FILE
1393 =item WHAT HAS HAPPENED HERE?
1395 =item SPECIFYING ARGUMENTS TO XSUBPP
1397 =item THE ARGUMENT STACK
1399 =item EXTENDING YOUR EXTENSION
1401 =item DOCUMENTING YOUR EXTENSION
1403 =item INSTALLING YOUR EXTENSION
1413 =head2 perlguts - Perl's Internal Functions
1423 =item What is an "IV"?
1425 =item Working with SV's
1427 =item What's Really Stored in an SV?
1429 =item Working with AV's
1431 =item Working with HV's
1435 =item Blessed References and Class Objects
1437 =item Creating New Variables
1439 =item Reference Counts and Mortality
1441 =item Stashes and Globs
1443 =item Double-Typed SV's
1445 =item Magic Variables
1447 =item Assigning Magic
1449 =item Magic Virtual Tables
1459 =item XSUB's and the Argument Stack
1461 =item Calling Perl Routines from within C Programs
1463 =item Memory Allocation
1467 =item Putting a C value on Perl stack
1471 =item Scratchpads and recursions
1481 =item Examining the tree
1483 =item Compile pass 1: check routines
1485 =item Compile pass 1a: constant folding
1487 =item Compile pass 2: context propagation
1489 =item Compile pass 3: peephole optimization
1495 AvFILL, av_clear, av_extend, av_fetch, av_len, av_make, av_pop, av_push,
1496 av_shift, av_store, av_undef, av_unshift, CLASS, Copy, croak, CvSTASH,
1497 DBsingle, DBsub, DBtrace, dMARK, dORIGMARK, dowarn, dSP, dXSARGS, dXSI32,
1498 dXSI32, ENTER, EXTEND, FREETMPS, G_ARRAY, G_DISCARD, G_EVAL, GIMME,
1499 G_NOARGS, G_SCALAR, gv_fetchmeth, gv_fetchmethod, gv_stashpv, gv_stashsv,
1500 GvSV, he_delayfree, he_free, hv_clear, hv_delete, hv_exists, hv_fetch,
1501 hv_iterinit, hv_iterkey, hv_iternext, hv_iternextsv, hv_iterval, hv_magic,
1502 HvNAME, hv_store, hv_undef, isALNUM, isALPHA, isDIGIT, isLOWER, isSPACE,
1503 isUPPER, items, ix, LEAVE, MARK, mg_clear, mg_copy, mg_find, mg_free,
1504 mg_get, mg_len, mg_magical, mg_set, Move, na, New, Newc, Newz, newAV,
1505 newHV, newRV_inc, newRV_noinc, newSV, newSViv, newSVnv, newSVpv, newSVrv,
1506 newSVsv, newXS, newXSproto, Nullav, Nullch, Nullcv, Nullhv, Nullsv,
1507 ORIGMARK, perl_alloc, perl_call_argv, perl_call_method, perl_call_pv,
1508 perl_call_sv, perl_construct, perl_destruct, perl_eval_sv, perl_free,
1509 perl_get_av, perl_get_cv, perl_get_hv, perl_get_sv, perl_parse,
1510 perl_require_pv, perl_run, POPi, POPl, POPp, POPn, POPs, PUSHMARK, PUSHi,
1511 PUSHn, PUSHp, PUSHs, PUTBACK, Renew, Renewc, RETVAL, safefree, safemalloc,
1512 saferealloc, savepv, savepvn, SAVETMPS, SP, SPAGAIN, ST, strEQ, strGE,
1513 strGT, strLE, strLT, strNE, strnEQ, strnNE, sv_2mortal, sv_bless, sv_catpv,
1514 sv_catpvn, sv_catsv, sv_cmp, sv_cmp, SvCUR, SvCUR_set, sv_dec, sv_dec,
1515 SvEND, sv_eq, SvGROW, sv_grow, sv_inc, SvIOK, SvIOK_off, SvIOK_on,
1516 SvIOK_only, SvIOK_only, SvIOKp, sv_isa, SvIV, sv_isobject, SvIVX, SvLEN,
1517 sv_len, sv_len, sv_magic, sv_mortalcopy, SvOK, sv_newmortal, sv_no, SvNIOK,
1518 SvNIOK_off, SvNIOKp, SvNOK, SvNOK_off, SvNOK_on, SvNOK_only, SvNOK_only,
1519 SvNOKp, SvNV, SvNVX, SvPOK, SvPOK_off, SvPOK_on, SvPOK_only, SvPOK_only,
1520 SvPOKp, SvPV, SvPVX, SvREFCNT, SvREFCNT_dec, SvREFCNT_inc, SvROK,
1521 SvROK_off, SvROK_on, SvRV, sv_setiv, sv_setnv, sv_setpv, sv_setpvn,
1522 sv_setref_iv, sv_setref_nv, sv_setref_pv, sv_setref_pvn, sv_setsv, SvSTASH,
1523 SVt_IV, SVt_PV, SVt_PVAV, SVt_PVCV, SVt_PVHV, SVt_PVMG, SVt_NV, SvTRUE,
1524 SvTYPE, svtype, SvUPGRADE, sv_upgrade, sv_undef, sv_unref, sv_usepvn,
1525 sv_yes, THIS, toLOWER, toUPPER, warn, XPUSHi, XPUSHn, XPUSHp, XPUSHs, XS,
1526 XSRETURN, XSRETURN_EMPTY, XSRETURN_IV, XSRETURN_NO, XSRETURN_NV,
1527 XSRETURN_PV, XSRETURN_UNDEF, XSRETURN_YES, XST_mIV, XST_mNV, XST_mNO,
1528 XST_mPV, XST_mUNDEF, XST_mYES, XS_VERSION, XS_VERSION_BOOTCHECK, Zero
1534 =head2 perlcall - Perl calling conventions from C
1538 An Error Handler, An Event Driven Program
1540 =item THE PERL_CALL FUNCTIONS
1542 B<perl_call_sv>, B<perl_call_pv>, B<perl_call_method>, B<perl_call_argv>
1560 =item Determining the Context
1564 =item KNOWN PROBLEMS
1570 =item No Parameters, Nothing returned
1572 =item Passing Parameters
1574 =item Returning a Scalar
1576 =item Returning a list of values
1578 =item Returning a list in a scalar context
1580 =item Returning Data from Perl via the parameter list
1584 =item Using G_KEEPERR
1586 =item Using perl_call_sv
1588 =item Using perl_call_argv
1590 =item Using perl_call_method
1594 =item Using Perl to dispose of temporaries
1596 =item Strategies for storing Callback Context Information
1598 1. Ignore the problem - Allow only 1 callback, 2. Create a sequence of
1599 callbacks - hard wired limit, 3. Use a parameter to map to the Perl
1602 =item Alternate Stack Manipulation
1612 =head1 PRAGMA DOCUMENTATION
1614 =head2 blib - Use MakeMaker's uninstalled version of a package
1624 =head2 diagnostics - Perl compiler pragma to force verbose warning
1633 =item The C<diagnostics> Pragma
1635 =item The I<splain> Program
1647 =head2 integer - Perl pragma to compute arithmetic in integer instead of
1654 =head2 less - perl pragma to request less of something from the compiler
1660 =head2 lib - manipulate @INC at compile time
1668 =item ADDING DIRECTORIES TO @INC
1670 =item DELETING DIRECTORIES FROM @INC
1672 =item RESTORING ORIGINAL @INC
1680 =head2 locale - Perl pragma to use and avoid POSIX locales for built-in
1687 =head2 ops - Perl pragma to restrict unsafe operations when compiling
1695 =head2 overload - Package for overloading perl operations
1699 =item CAVEAT SCRIPTOR
1705 =item Declaration of overloaded functions
1707 =item Calling Conventions for Binary Operations
1709 FALSE, TRUE, C<undef>
1711 =item Calling Conventions for Unary Operations
1713 =item Overloadable Operations
1715 I<Arithmetic operations>, I<Comparison operations>, I<Bit operations>,
1716 I<Increment and decrement>, I<Transcendental functions>, I<Boolean, string
1717 and numeric conversion>, I<Special>
1719 =item Inheritance and overloading
1721 Strings as values of C<use overload> directive, Overloading of an operation
1722 is inherited by derived classes
1726 =item SPECIAL SYMBOLS FOR C<use overload>
1734 C<undef>, TRUE, defined, but FALSE
1736 =item Copy Constructor
1742 =item MAGIC AUTOGENERATION
1744 I<Assignment forms of arithmetic operations>, I<Conversion operations>,
1745 I<Increment and decrement>, C<abs($a)>, I<Unary minus>, I<Negation>,
1746 I<Concatenation>, I<Comparison operations>, I<Copy operator>
1750 =item Run-time Overloading
1752 =item Public functions
1754 overload::StrVal(arg), overload::Overloaded(arg), overload::Method(obj,op)
1756 =item IMPLEMENTATION
1764 =head2 sigtrap - Perl pragma to enable simple signal handling
1774 =item SIGNAL HANDLERS
1776 B<stack-trace>, B<die>, B<handler> I<your-handler>
1780 B<normal-signals>, B<error-signals>, B<old-interface-signals>
1784 B<untrapped>, B<any>, I<signal>, I<number>
1790 =head2 strict - Perl pragma to restrict unsafe constructs
1796 C<strict refs>, C<strict vars>, C<strict subs>
1798 =head2 subs - Perl pragma to predeclare sub names
1804 =head2 vars - Perl pragma to predeclare global variable names
1810 =head1 MODULE DOCUMENTATION
1812 =head2 AnyDBM_File - provide framework for multiple DBMs
1820 =item DBM Comparisons
1828 =head2 AutoLoader - load functions only on demand
1840 =item Package Lexicals
1842 =item AutoLoader vs. SelfLoader
1848 =head2 AutoSplit - split a package for autoloading
1858 =head2 Benchmark - benchmark running times of code
1870 =item Standard Exports
1872 timeit(COUNT, CODE), timethis, timethese, timediff, timestr
1874 =item Optional Exports
1886 =item MODIFICATION HISTORY
1888 =head2 Bundle::CPAN - A bundle to play with all the other modules on CPAN
1898 =head2 CPAN - query, download and build perl modules from CPAN sites
1906 =item Interactive Mode
1908 Searching for authors, bundles, distribution files and modules, make, test,
1909 install, clean modules or distributions, readme, look module or
1918 =item ProgrammerE<39>s interface
1928 =item Floppy, Zip, and all that Jazz
1934 o conf E<lt>scalar optionE<gt>, o conf E<lt>scalar optionE<gt>
1935 E<lt>valueE<gt>, o conf E<lt>list optionE<gt>, o conf E<lt>list optionE<gt>
1936 [shift|pop], o conf E<lt>list optionE<gt> [unshift|push|splice]
1949 =head2 CPAN::FirstTime - Utility for CPAN::Config file Initialization
1955 =head2 CPANox, CPAN::Nox - Wrapper around CPAN.pm without using any XS
1964 =head2 Carp, carp - warn of errors (from perspective of caller)
1970 =head2 Class::Template - struct/member template builder
1978 Example 1, Example 2
1982 =head2 Config - access Perl configuration information
1988 myconfig(), config_sh(), config_vars(@names)
1996 =head2 Cwd, getcwd - get pathname of current working directory
2002 =head2 DB_File - Perl5 access to Berkeley DB
2008 B<DB_HASH>, B<DB_BTREE>, B<DB_RECNO>
2012 =item How does DB_File interface to Berkeley DB?
2014 =item Opening a Berkeley DB Database File
2016 =item Default Parameters
2018 =item In Memory Databases
2026 =item A Simple Example.
2034 =item Changing the BTREE sort order
2036 =item Handling duplicate keys
2038 =item The get_dup method.
2040 =item Matching Partial Keys
2048 =item The bval option
2050 =item A Simple Example
2054 B<$X-E<gt>push(list) ;>, B<$value = $X-E<gt>pop ;>, B<$X-E<gt>shift>,
2055 B<$X-E<gt>unshift(list) ;>, B<$X-E<gt>length>
2057 =item Another Example
2061 =item THE API INTERFACE
2063 B<$status = $X-E<gt>get($key, $value [, $flags]) ;>, B<$status =
2064 $X-E<gt>put($key, $value [, $flags]) ;>, B<$status = $X-E<gt>del($key [,
2065 $flags]) ;>, B<$status = $X-E<gt>fd ;>, B<$status = $X-E<gt>seq($key,
2066 $value, $flags) ;>, B<$status = $X-E<gt>sync([$flags]) ;>
2068 =item HINTS AND TIPS
2072 =item Locking Databases
2074 =item Sharing databases with C applications
2076 =item The untie gotcha
2080 =item COMMON QUESTIONS
2084 =item Why is there Perl source in my database?
2086 =item How do I store complex data structures with DB_File?
2088 =item What does "Invalid Argument" mean?
2090 =item What does "Bareword 'DB_File' not allowed" mean?
2104 =head2 Devel::SelfStubber - generate stubs for a SelfLoading module
2110 =head2 DirHandle - supply object methods for directory handles
2116 =head2 DynaLoader - Dynamically load C libraries into Perl code
2122 @dl_library_path, @dl_resolve_using, @dl_require_symbols, @dl_librefs,
2123 @dl_modules, dl_error(), $dl_debug, dl_findfile(), dl_expandspec(),
2124 dl_load_file(), dl_loadflags(), dl_find_symbol(),
2125 dl_find_symbol_anywhere(), dl_undef_symbols(), dl_install_xsub(),
2130 =head2 English - use nice English (or awk) names for ugly punctuation
2137 =head2 Env - perl module that imports environment variables
2145 =head2 Exporter - Implements default import method for modules
2153 =item Selecting What To Export
2155 =item Specialised Import Lists
2157 =item Module Version Checking
2159 =item Managing Unknown Symbols
2161 =item Tag Handling Utility Functions
2165 =head2 ExtUtils::Embed - Utilities for embedding Perl in C/C++ applications
2175 xsinit(), Examples, ldopts(), Examples, perl_inc(), ccflags(), ccdlflags(),
2176 ccopts(), xsi_header(), xsi_protos(@modules), xsi_body(@modules)
2184 =head2 ExtUtils::Install - install files from here to there
2190 =head2 ExtUtils::Liblist - determine libraries to use and how to use them
2196 For static extensions, For dynamic extensions, For dynamic extensions
2202 =item LDLOADLIBS and LD_RUN_PATH
2212 =item VMS implementation
2218 =head2 ExtUtils::MM_OS2 - methods to override UN*X behaviour in
2225 =head2 ExtUtils::MM_Unix - methods used by ExtUtils::MakeMaker
2235 =item Preloaded methods
2237 canonpath, catdir, catfile, curdir, rootdir, updir
2239 =item SelfLoaded methods
2241 c_o (o), cflags (o), clean (o), const_cccmd (o), const_config (o),
2242 const_loadlibs (o), constants (o), depend (o), dir_target (o), dist (o),
2243 dist_basics (o), dist_ci (o), dist_core (o), dist_dir (o), dist_test (o),
2244 dlsyms (o), dynamic (o), dynamic_bs (o), dynamic_lib (o), exescan,
2245 extliblist, file_name_is_absolute, find_perl
2247 =item Methods to actually produce chunks of text for the Makefile
2249 force (o), guess_name, has_link_code, init_dirscan, init_main, init_others,
2250 install (o), installbin (o), libscan (o), linkext (o), lsdir, macro (o),
2251 makeaperl (o), makefile (o), manifypods (o), maybe_command,
2252 maybe_command_in_dirs, needs_linking (o), nicetext, parse_version, pasthru
2253 (o), path, perl_script, perldepend (o), pm_to_blib, post_constants (o),
2254 post_initialize (o), postamble (o), prefixify, processPL (o), realclean
2255 (o), replace_manpage_separator, static (o), static_lib (o), staticmake (o),
2256 subdir_x (o), subdirs (o), test (o), test_via_harness (o), test_via_script
2257 (o), tool_autosplit (o), tools_other (o), tool_xsubpp (o), top_targets (o),
2258 writedoc, xs_c (o), xs_o (o)
2264 =head2 ExtUtils::MM_VMS - methods to override UN*X behaviour in
2273 =item Methods always loaded
2275 eliminate_macros, fixpath, catdir, catfile, wraplist, curdir (override),
2276 rootdir (override), updir (override)
2278 =item SelfLoaded methods
2280 guess_name (override), find_perl (override), path (override), maybe_command
2281 (override), maybe_command_in_dirs (override), perl_script (override),
2282 file_name_is_absolute (override), replace_manpage_separator, init_others
2283 (override), constants (override), cflags (override), const_cccmd
2284 (override), pm_to_blib (override), tool_autosplit (override), tool_sxubpp
2285 (override), xsubpp_version (override), tools_other (override), dist
2286 (override), c_o (override), xs_c (override), xs_o (override), top_targets
2287 (override), dlsyms (override), dynamic_lib (override), dynamic_bs
2288 (override), static_lib (override), manifypods (override), processPL
2289 (override), installbin (override), subdir_x (override), clean (override),
2290 realclean (override), dist_basics (override), dist_core (override),
2291 dist_dir (override), dist_test (override), install (override), perldepend
2292 (override), makefile (override), test (override), test_via_harness
2293 (override), test_via_script (override), makeaperl (override), nicetext
2298 =head2 ExtUtils::MakeMaker - create an extension Makefile
2306 =item How To Write A Makefile.PL
2308 =item Default Makefile Behaviour
2316 =item PREFIX and LIB attribute
2320 =item Static Linking of a new Perl Binary
2322 =item Determination of Perl Library and Installation Locations
2324 =item Which architecture dependent directory?
2326 =item Using Attributes and Parameters
2328 C, CONFIG, CONFIGURE, DEFINE, DIR, DISTNAME, DL_FUNCS, DL_VARS,
2329 EXCLUDE_EXT, EXE_FILES, NO_VC, FIRST_MAKEFILE, FULLPERL, H, INC,
2330 INCLUDE_EXT, INSTALLARCHLIB, INSTALLBIN, INSTALLDIRS, INSTALLMAN1DIR,
2331 INSTALLMAN3DIR, INSTALLPRIVLIB, INSTALLSCRIPT, INSTALLSITELIB,
2332 INSTALLSITEARCH, INST_ARCHLIB, INST_BIN, INST_EXE, INST_LIB, INST_MAN1DIR,
2333 INST_MAN3DIR, INST_SCRIPT, LDFROM, LIBPERL_A, LIB, LIBS, LINKTYPE,
2334 MAKEAPERL, MAKEFILE, MAN1PODS, MAN3PODS, MAP_TARGET, MYEXTLIB, NAME,
2335 NEEDS_LINKING, NOECHO, NORECURS, OBJECT, OPTIMIZE, PERL, PERLMAINCC,
2336 PERL_ARCHLIB, PERL_LIB, PERL_SRC, PL_FILES, PM, PMLIBDIRS, PREFIX,
2337 PREREQ_PM, SKIP, TYPEMAPS, VERSION, VERSION_FROM, XS, XSOPT, XSPROTOARG,
2340 =item Additional lowercase attributes
2342 clean, depend, dist, dynamic_lib, installpm, linkext, macro, realclean,
2345 =item Overriding MakeMaker Methods
2347 =item Hintsfile support
2349 =item Distribution Support
2351 make distcheck, make skipcheck, make distclean, make manifest,
2352 make distdir, make tardist, make dist, make uutardist, make
2353 shdist, make zipdist, make ci
2361 =head2 ExtUtils::Manifest - utilities to write and check a MANIFEST file
2371 =item GLOBAL VARIABLES
2375 C<Not in MANIFEST:> I<file>, C<No such file:> I<file>, C<MANIFEST:> I<$!>,
2376 C<Added to MANIFEST:> I<file>
2382 =head2 ExtUtils::Miniperl, writemain - write the C code for perlmain.c
2390 =head2 ExtUtils::Mkbootstrap - make a bootstrap file for use by DynaLoader
2396 =head2 ExtUtils::Mksymlists - write linker options files for dynamic
2403 NAME, DL_FUNCS, DL_VARS, FILE, FUNCLIST, DLBASE
2409 =head2 ExtUtils::testlib - add blib/* directories to @INC
2415 =head2 Fcntl - load the C Fcntl.h defines
2423 =item EXPORTED SYMBOLS
2425 =head2 File::Basename, fileparse - split a pathname into pieces
2431 fileparse_set_fstype, fileparse
2435 C<basename>, C<dirname>
2437 =head2 File::CheckTree, validate - run many filetest checks on a tree
2443 =head2 File::Compare - Compare files or filehandles
2453 =head2 File::Copy - Copy files or filehandles
2461 =item Special behavior if C<syscopy> is defined (VMS and OS/2)
2463 rmscopy($from,$to[,$date_flag])
2471 =head2 File::Find, find - traverse a file tree
2477 =head2 File::Path - create or remove a series of directories
2487 =head2 File::stat - by-name interface to Perl's built-in stat() functions
2497 =head2 FileCache - keep more files open than the system permits
2505 =head2 FileHandle - supply object methods for filehandles
2511 $fh->print, $fh->printf, $fh->getline, $fh->getlines
2515 =head2 FindBin - Locate directory of original perl script
2521 =item EXPORTABLE VARIABLES
2531 =head2 GDBM_File - Perl5 access to the gdbm library.
2543 =head2 Getopt::Long, GetOptions - extended processing of command line
2550 E<lt>noneE<gt>, !, =s, :s, =i, :i, =f, :f
2554 =item Linkage specification
2556 =item Aliases and abbreviations
2558 =item Non-option call-back routine
2560 =item Option starters
2570 =item CONFIGURATION VARIABLES
2572 $Getopt::Long::autoabbrev, $Getopt::Long::getopt_compat,
2573 $Getopt::Long::order, $Getopt::Long::bundling, $Getopt::Long::ignorecase,
2574 $Getopt::Long::passthrough, $Getopt::Long::VERSION, $Getopt::Long::error,
2575 $Getopt::Long::debug
2577 =head2 Getopt::Std, getopt - Process single-character switches with switch
2584 =head2 I18N::Collate - compare 8-bit scalar data according to the current
2591 =head2 IO - load various IO modules
2597 =head2 IO::File - supply object methods for filehandles
2609 open( FILENAME [,MODE [,PERMS]] )
2615 =head2 IO::Handle - supply object methods for I/O handles
2623 new (), new_from_fd ( FD, MODE )
2627 $fh->getline, $fh->getlines, $fh->fdopen ( FD, MODE ), $fh->write ( BUF,
2628 LEN [, OFFSET }\] ), $fh->opened, $fh->untaint
2638 =head2 IO::Pipe, IO::pipe - supply object methods for pipes
2646 new ( [READER, WRITER] )
2650 reader ([ARGS]), writer ([ARGS]), handles ()
2658 =head2 IO::Seekable - supply seek based methods for I/O objects
2668 =head2 IO::Select - OO interface to the select system call
2680 add ( HANDLES ), remove ( HANDLES ), exists ( HANDLE ), handles, can_read (
2681 [ TIMEOUT ] ), can_write ( [ TIMEOUT ] ), has_error ( [ TIMEOUT ] ), count
2682 (), bits(), bits(), select ( READ, WRITE, ERROR [, TIMEOUT ] )
2690 =head2 IO::Socket - Object interface to socket communications
2702 accept([PKG]), timeout([VAL]), sockopt(OPT [, VAL]), sockdomain, socktype,
2709 =item IO::Socket::INET
2713 sockaddr (), sockport (), sockhost (), peeraddr (), peerport (), peerhost
2716 =item IO::Socket::UNIX
2720 hostpath(), peerpath()
2730 =head2 IO::lib::IO::File, IO::File - supply object methods for filehandles
2742 open( FILENAME [,MODE [,PERMS]] )
2748 =head2 IO::lib::IO::Handle, IO::Handle - supply object methods for I/O
2757 new (), new_from_fd ( FD, MODE )
2761 $fh->getline, $fh->getlines, $fh->fdopen ( FD, MODE ), $fh->write ( BUF,
2762 LEN [, OFFSET }\] ), $fh->opened, $fh->untaint
2772 =head2 IO::lib::IO::Pipe, IO::pipe - supply object methods for pipes
2780 new ( [READER, WRITER] )
2784 reader ([ARGS]), writer ([ARGS]), handles ()
2792 =head2 IO::lib::IO::Seekable, IO::Seekable - supply seek based methods for
2803 =head2 IO::lib::IO::Select, IO::Select - OO interface to the select system
2816 add ( HANDLES ), remove ( HANDLES ), exists ( HANDLE ), handles, can_read (
2817 [ TIMEOUT ] ), can_write ( [ TIMEOUT ] ), has_error ( [ TIMEOUT ] ), count
2818 (), bits(), bits(), select ( READ, WRITE, ERROR [, TIMEOUT ] )
2826 =head2 IO::lib::IO::Socket, IO::Socket - Object interface to socket
2839 accept([PKG]), timeout([VAL]), sockopt(OPT [, VAL]), sockdomain, socktype,
2846 =item IO::Socket::INET
2850 sockaddr (), sockport (), sockhost (), peeraddr (), peerport (), peerhost
2853 =item IO::Socket::UNIX
2857 hostpath(), peerpath()
2867 =head2 IPC::Open2, open2 - open a process for both reading and writing
2877 =head2 IPC::Open3, open3 - open a process for reading, writing, and error
2886 =head2 Math::BigFloat - Arbitrary length float math package
2892 number format, Error returns 'NaN', Division is computed to
2898 =head2 Math::BigInt - Arbitrary size integer math package
2904 Canonical notation, Input, Output
2912 =head2 Math::Complex - complex numbers and associated mathematical
2923 =item STRINGIFICATION
2931 =head2 NDBM_File - Tied access to ndbm files
2937 =head2 Net::Ping - check a remote host for reachability
2947 Net::Ping->new([$proto [, $def_timeout [, $bytes]]]);, $p->ping($host [,
2948 $timeout]);, $p->close();, pingecho($host [, $timeout]);
2956 =head2 Net::hostent - by-name interface to Perl's built-in gethost*()
2969 =head2 Net::netent - by-name interface to Perl's built-in getnet*()
2982 =head2 Net::protoent - by-name interface to Perl's built-in getproto*()
2993 =head2 Net::servent - by-name interface to Perl's built-in getserv*()
3006 =head2 ODBM_File - Tied access to odbm files
3012 =head2 Opcode - Disable named opcodes when compiling perl code
3022 =item Operator Names and Operator Lists
3024 an operator name (opname), an operator tag name (optag), a negated opname
3025 or optag, an operator set (opset)
3027 =item Opcode Functions
3029 opcodes, opset (OP, ...), opset_to_ops (OPSET), opset_to_hex (OPSET),
3030 full_opset, empty_opset, invert_opset (OPSET), verify_opset (OPSET, ...),
3031 define_optag (OPTAG, OPSET), opmask_add (OPSET), opmask, opdesc (OP, ...),
3034 =item Manipulating Opsets
3038 =item Predefined Opcode Tags
3040 :base_core, :base_mem, :base_loop, :base_io, :base_orig, :base_math,
3041 :default, :filesys_read, :sys_db, :browse, :filesys_open, :filesys_write,
3042 :subprocess, :ownprocess, :others, :still_to_be_decided, :dangerous
3048 =head2 Opcode::Safe, Safe - Compile and execute code in restricted
3055 a new namespace, an operator mask
3061 =item RECENT CHANGES
3063 =item Methods in class Safe
3065 permit (OP, ...), permit_only (OP, ...), deny (OP, ...), deny_only (OP,
3066 ...), trap (OP, ...), untrap (OP, ...), share (NAME, ...), share_from
3067 (PACKAGE, ARRAYREF), varglob (VARNAME), reval (STRING), rdo (FILENAME),
3068 root (NAMESPACE), mask (MASK)
3070 =item Some Safety Issues
3072 Memory, CPU, Snooping, Signals, State Changes
3078 =head2 Opcode::ops, ops - Perl pragma to restrict unsafe operations when
3087 =head2 POSIX - Perl interface to IEEE Std 1003.1
3099 _exit, abort, abs, access, acos, alarm, asctime, asin, assert, atan, atan2,
3100 atexit, atof, atoi, atol, bsearch, calloc, ceil, chdir, chmod, chown,
3101 clearerr, clock, close, closedir, cos, cosh, creat, ctermid, ctime,
3102 cuserid, difftime, div, dup, dup2, errno, execl, execle, execlp, execv,
3103 execve, execvp, exit, exp, fabs, fclose, fcntl, fdopen, feof, ferror,
3104 fflush, fgetc, fgetpos, fgets, fileno, floor, fmod, fopen, fork, fpathconf,
3105 fprintf, fputc, fputs, fread, free, freopen, frexp, fscanf, fseek, fsetpos,
3106 fstat, ftell, fwrite, getc, getchar, getcwd, getegid, getenv, geteuid,
3107 getgid, getgrgid, getgrnam, getgroups, getlogin, getpgrp, getpid, getppid,
3108 getpwnam, getpwuid, gets, getuid, gmtime, isalnum, isalpha, isatty,
3109 iscntrl, isdigit, isgraph, islower, isprint, ispunct, isspace, isupper,
3110 isxdigit, kill, labs, ldexp, ldiv, link, localeconv, localtime, log, log10,
3111 longjmp, lseek, malloc, mblen, mbstowcs, mbtowc, memchr, memcmp, memcpy,
3112 memmove, memset, mkdir, mkfifo, mktime, modf, nice, offsetof, open,
3113 opendir, pathconf, pause, perror, pipe, pow, printf, putc, putchar, puts,
3114 qsort, raise, rand, read, readdir, realloc, remove, rename, rewind,
3115 rewinddir, rmdir, scanf, setgid, setjmp, setlocale, setpgid, setsid,
3116 setuid, sigaction, siglongjmp, sigpending, sigprocmask, sigsetjmp,
3117 sigsuspend, sin, sinh, sleep, sprintf, sqrt, srand, sscanf, stat, strcat,
3118 strchr, strcmp, strcoll, strcpy, strcspn, strerror, strftime, strlen,
3119 strncat, strncmp, strncpy, stroul, strpbrk, strrchr, strspn, strstr,
3120 strtod, strtok, strtol, strtoul, strxfrm, sysconf, system, tan, tanh,
3121 tcdrain, tcflow, tcflush, tcgetpgrp, tcsendbreak, tcsetpgrp, time, times,
3122 tmpfile, tmpnam, tolower, toupper, ttyname, tzname, tzset, umask, uname,
3123 ungetc, unlink, utime, vfprintf, vprintf, vsprintf, wait, waitpid,
3124 wcstombs, wctomb, write
3130 =item POSIX::SigAction
3136 new, addset, delset, emptyset, fillset, ismember
3138 =item POSIX::Termios
3140 new, getattr, getcc, getcflag, getiflag, getispeed, getlflag, getoflag,
3141 getospeed, setattr, setcc, setcflag, setiflag, setispeed, setlflag,
3142 setoflag, setospeed, Baud rate values, Terminal interface values, c_cc
3143 field values, c_cflag field values, c_iflag field values, c_lflag field
3144 values, c_oflag field values
3148 =item PATHNAME CONSTANTS
3152 =item POSIX CONSTANTS
3156 =item SYSTEM CONFIGURATION
3214 =head2 Pod::Text - convert POD data to formatted ASCII text
3224 =head2 SDBM_File - Tied access to sdbm files
3230 =head2 Safe - Compile and execute code in restricted compartments
3236 a new namespace, an operator mask
3242 =item RECENT CHANGES
3244 =item Methods in class Safe
3246 permit (OP, ...), permit_only (OP, ...), deny (OP, ...), deny_only (OP,
3247 ...), trap (OP, ...), untrap (OP, ...), share (NAME, ...), share_from
3248 (PACKAGE, ARRAYREF), varglob (VARNAME), reval (STRING), rdo (FILENAME),
3249 root (NAMESPACE), mask (MASK)
3251 =item Some Safety Issues
3253 Memory, CPU, Snooping, Signals, State Changes
3259 =head2 Search::Dict, look - search for key in dictionary file
3265 =head2 SelectSaver - save and restore selected file handle
3271 =head2 SelfLoader - load functions only on demand
3279 =item The __DATA__ token
3281 =item SelfLoader autoloading
3283 =item Autoloading and package lexicals
3285 =item SelfLoader and AutoLoader
3287 =item __DATA__, __END__, and the FOOBAR::DATA filehandle.
3289 =item Classes and inherited methods.
3293 =item Multiple packages and fully qualified subroutine names
3295 =head2 Shell - run shell commands transparently within perl
3303 =head2 Socket, sockaddr_in, sockaddr_un, inet_aton, inet_ntoa - load the C
3304 socket.h defines and structure manipulators
3310 inet_aton HOSTNAME, inet_ntoa IP_ADDRESS, INADDR_ANY, INADDR_BROADCAST,
3311 INADDR_LOOPBACK, INADDR_NONE, sockaddr_in PORT, ADDRESS, sockaddr_in
3312 SOCKADDR_IN, pack_sockaddr_in PORT, IP_ADDRESS, unpack_sockaddr_in
3313 SOCKADDR_IN, sockaddr_un PATHNAME, sockaddr_un SOCKADDR_UN,
3314 pack_sockaddr_un PATH, unpack_sockaddr_un SOCKADDR_UN
3316 =head2 Symbol - manipulate Perl symbols and their names
3322 =head2 Sys::Hostname - Try every conceivable way to get hostname
3330 =head2 Syslog, Sys::Syslog, openlog, closelog, setlogmask, syslog - Perl
3331 interface to the UNIX syslog(3) calls
3337 openlog $ident, $logopt, $facility, syslog $priority, $format, @args,
3338 setlogmask $mask_priority, closelog
3348 =head2 Term::Cap - Perl termcap interface
3356 =head2 Term::Complete - Perl word completion module
3362 E<lt>tabE<gt>Attempts word completion.
3363 Cannot be changed, ^D, ^U, E<lt>delE<gt>, E<lt>bsE<gt>
3371 =head2 Term::ReadLine - Perl interface to various C<readline> packages. If
3372 no real package is found, substitutes stubs instead of basic functions.
3378 =item Minimal set of supported functions
3380 C<ReadLine>, C<new>, C<readline>, C<addhistory>, C<IN>, $C<OUT>,
3381 C<MinLine>, C<findConsole>, C<Features>
3385 =head2 Test::Harness - run perl standard test scripts with statistics
3393 =item The test script output
3401 C<All tests successful.\nFiles=%d, Tests=%d, %s>, C<FAILED tests
3402 %s\n\tFailed %d/%d tests, %.2f%% okay.>, C<Test returned status %d (wstat
3403 %d)>, C<Failed 1 test, %.2f%% okay. %s>, C<Failed %d/%d tests, %.2f%% okay.
3412 =head2 Text::Abbrev, abbrev - create an abbreviation table from a list
3420 =head2 Text::ParseWords - parse text into an array of tokens
3428 =head2 Text::Soundex - Implementation of the Soundex Algorithm as Described
3441 =head2 Text::Tabs -- expand and unexpand tabs per the unix expand(1) and
3452 =head2 Text::Wrap - line wrapping to form simple paragraphs
3464 =head2 Tie::Hash, Tie::StdHash - base class definitions for tied hashes
3470 TIEHASH classname, LIST, STORE this, key, value, FETCH this, key, FIRSTKEY
3471 this, NEXTKEY this, lastkey, EXISTS this, key, DELETE this, key, CLEAR this
3475 =item MORE INFORMATION
3477 =head2 Tie::RefHash - use references as hash keys
3491 =head2 Tie::Scalar, Tie::StdScalar - base class definitions for tied
3498 TIESCALAR classname, LIST, FETCH this, STORE this, value, DESTROY this
3500 =item MORE INFORMATION
3502 =head2 Tie::SubstrHash - Fixed-table-size, fixed-key-length hashing
3510 =head2 Time::Local - efficiently compute time from local and GMT time
3516 =head2 Time::gmtime - by-name interface to Perl's built-in gmtime()
3527 =head2 Time::localtime - by-name interface to Perl's built-in localtime()
3538 =head2 Time::tm - internal object used by Time::gmtime and Time::localtime
3546 =head2 UNIVERSAL - base class for ALL classes (blessed references)
3552 isa ( TYPE ), can ( METHOD ), VERSION ( [ REQUIRE ] ), isa ( REF, TYPE )
3554 =head2 User::grent - by-name interface to Perl's built-in getgr*()
3565 =head2 User::pwent - by-name interface to Perl's built-in getpw*()
3576 =head1 AUXILIARY DOCUMENTATION
3578 Here should be listed all the extra programs' documentation, but they
3579 don't all have manual pages yet:
3601 Larry Wall E<lt>F<larry@wall.org>E<gt>, with the help of oodles