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<perlbug>, L<perldelta>, L<perllocale>, L<perltoot>, L<perlapio>,
134 L<perldebug>, L<perlsec>
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 srand, stat FILEHANDLE, stat EXPR, stat, study SCALAR, study, sub BLOCK,
404 sub NAME, sub NAME BLOCK, substr EXPR,OFFSET,LEN, substr EXPR,OFFSET,
405 symlink OLDFILE,NEWFILE, syscall LIST, sysopen FILEHANDLE,FILENAME,MODE,
406 sysopen FILEHANDLE,FILENAME,MODE,PERMS, sysread
407 FILEHANDLE,SCALAR,LENGTH,OFFSET, sysread FILEHANDLE,SCALAR,LENGTH, system
408 LIST, syswrite FILEHANDLE,SCALAR,LENGTH,OFFSET, syswrite
409 FILEHANDLE,SCALAR,LENGTH, tell FILEHANDLE, tell, telldir DIRHANDLE, tie
410 VARIABLE,CLASSNAME,LIST, tied VARIABLE, time, times, tr///, truncate
411 FILEHANDLE,LENGTH, truncate EXPR,LENGTH, uc EXPR, uc, ucfirst EXPR,
412 ucfirst, umask EXPR, umask, undef EXPR, undef, unlink LIST, unlink, unpack
413 TEMPLATE,EXPR, untie VARIABLE, unshift ARRAY,LIST, use Module LIST, use
414 Module, use Module VERSION LIST, use VERSION, utime LIST, values HASH, vec
415 EXPR,OFFSET,BITS, wait, waitpid PID,FLAGS, wantarray, warn LIST, write
416 FILEHANDLE, write EXPR, write, y///
420 =head2 perlvar - Perl predefined variables
426 =item Predefined Names
428 $ARG, $_, $E<lt>I<digit>E<gt>, $MATCH, $&, $PREMATCH, $`, $POSTMATCH, $',
429 $LAST_PAREN_MATCH, $+, $MULTILINE_MATCHING, $*, input_line_number HANDLE
430 EXPR, $INPUT_LINE_NUMBER, $NR, $, input_record_separator HANDLE EXPR,
431 $INPUT_RECORD_SEPARATOR, $RS, $/, autoflush HANDLE EXPR, $OUTPUT_AUTOFLUSH,
432 $|, output_field_separator HANDLE EXPR, $OUTPUT_FIELD_SEPARATOR, $OFS, $,,
433 output_record_separator HANDLE EXPR, $OUTPUT_RECORD_SEPARATOR, $ORS, $\,
434 $LIST_SEPARATOR, $", $SUBSCRIPT_SEPARATOR, $SUBSEP, $;, $OFMT, $#,
435 format_page_number HANDLE EXPR, $FORMAT_PAGE_NUMBER, $%,
436 format_lines_per_page HANDLE EXPR, $FORMAT_LINES_PER_PAGE, $=,
437 format_lines_left HANDLE EXPR, $FORMAT_LINES_LEFT, $-, format_name HANDLE
438 EXPR, $FORMAT_NAME, $~, format_top_name HANDLE EXPR, $FORMAT_TOP_NAME, $^,
439 format_line_break_characters HANDLE EXPR, $FORMAT_LINE_BREAK_CHARACTERS,
440 $:, format_formfeed HANDLE EXPR, $FORMAT_FORMFEED, $^L, $ACCUMULATOR, $^A,
441 $CHILD_ERROR, $?, $OS_ERROR, $ERRNO, $!, $EXTENDED_OS_ERROR, $^E,
442 $EVAL_ERROR, $@, $PROCESS_ID, $PID, $$, $REAL_USER_ID, $UID, $<,
443 $EFFECTIVE_USER_ID, $EUID, $>, $REAL_GROUP_ID, $GID, $(,
444 $EFFECTIVE_GROUP_ID, $EGID, $), $PROGRAM_NAME, $0, $[, $PERL_VERSION, $],
445 $DEBUGGING, $^D, $SYSTEM_FD_MAX, $^F, $^H, $INPLACE_EDIT, $^I, $OSNAME,
446 $^O, $PERLDB, $^P, $BASETIME, $^T, $WARNING, $^W, $EXECUTABLE_NAME, $^X,
447 $ARGV, @ARGV, @INC, %INC, $ENV{expr}, $SIG{expr}
451 =head2 perlsub - Perl subroutines
459 =item Private Variables via my()
461 =item Temporary Values via local()
463 =item Passing Symbol Table Entries (typeglobs)
465 =item Pass by Reference
469 =item Constant Functions
471 =item Overriding Builtin Functions
479 =head2 perlmod - Perl modules (packages)
489 =item Package Constructors and Destructors
499 =item THE PERL MODULE LIBRARY
503 =item Pragmatic Modules
505 blib, diagnostics, integer, less, lib, locale, ops, overload, sigtrap,
506 strict, subs, vmsish, vars
508 =item Standard Modules
510 AnyDBM_File, AutoLoader, AutoSplit, Benchmark, CPAN, CPAN::FirstTime,
511 CPAN::Nox, Carp, Class::Template, Config, Cwd, DB_File, Devel::SelfStubber,
512 DirHandle, DynaLoader, English, Env, Exporter, ExtUtils::Embed,
513 ExtUtils::Install, ExtUtils::Liblist, ExtUtils::MM_OS2, ExtUtils::MM_Unix,
514 ExtUtils::MM_VMS, ExtUtils::MakeMaker, ExtUtils::Manifest,
515 ExtUtils::Mkbootstrap, ExtUtils::Mksymlists, ExtUtils::testlib, Fcntl,
516 File::Basename, File::CheckTree, File::Compare, File::Copy, File::Find,
517 File::Path, File::stat, FileCache, FileHandle, FindBin, GDBM_File,
518 Getopt::Long, Getopt::Std, I18N::Collate, IO, IO::File, IO::Handle,
519 IO::Pipe, IO::Seekable, IO::Select, IO::Socket, IPC::Open2, IPC::Open3,
520 Math::BigFloat, Math::BigInt, Math::Complex, NDBM_File, Net::Ping,
521 Net::hostent, Net::netent, Net::protoent, Net::servent, Opcode, Pod::Text,
522 POSIX, SDBM_File, Safe, Search::Dict, SelectSaver, SelfLoader, Shell,
523 Socket, Symbol, Sys::Hostname, Sys::Syslog, Term::Cap, Term::Complete,
524 Term::ReadLine, Test::Harness, Text::Abbrev, Text::ParseWords,
525 Text::Soundex, Text::Tabs, Text::Wrap, Tie::Hash, Tie::RefHash,
526 Tie::Scalar, Tie::SubstrHash, Time::Local, Time::gmtime, Time::localtime,
527 Time::tm, UNIVERSAL, User::grent, User::pwent
529 =item Extension Modules
535 Language Extensions and Documentation Tools, Development Support, Operating
536 System Interfaces, Networking, Device Control (modems) and InterProcess
537 Communication, Data Types and Data Type Utilities, Database Interfaces,
538 User Interfaces, Interfaces to / Emulations of Other Programming Languages,
539 File Names, File Systems and File Locking (see also File Handles), String
540 Processing, Language Text Processing, Parsing, and Searching, Option,
541 Argument, Parameter, and Configuration File Processing,
542 Internationalization and Locale, Authentication, Security, and Encryption,
543 World Wide Web, HTML, HTTP, CGI, MIME, Server and Daemon Utilities,
544 Archiving and Compression, Images, Pixmap and Bitmap Manipulation, Drawing,
545 and Graphing, Mail and Usenet News, Control Flow Utilities (callbacks and
546 exceptions etc), File Handle and Input/Output Stream Utilities,
547 Miscellaneous Modules
549 =item Modules: Creation, Use, and Abuse
553 =item Guidelines for Module Creation
555 Do similar modules already exist in some form?, Try to design the new
556 module to be easy to extend and reuse, Some simple style guidelines, Select
557 what to export, Select a name for the module, Have you got it right?,
558 README and other Additional Files, A description of the
559 module/package/extension etc, A copyright notice - see below, Prerequisites
560 - what else you may need to have, How to build it - possible changes to
561 Makefile.PL etc, How to install it, Recent changes in this release,
562 especially incompatibilities, Changes / enhancements you plan to make in
563 the future, Adding a Copyright Notice, Give the module a
564 version/issue/release number, How to release and distribute a module, Take
565 care when changing a released module
567 =item Guidelines for Converting Perl 4 Library Scripts into Modules
569 There is no requirement to convert anything, Consider the implications,
570 Make the most of the opportunity, The pl2pm utility will get you started,
571 Adds the standard Module prologue lines, Converts package specifiers from '
572 to ::, Converts die(...) to croak(...), Several other minor changes
574 =item Guidelines for Reusing Application Code
576 Complete applications rarely belong in the Perl Module Library, Many
577 applications contain some perl code which could be reused, Break-out the
578 reusable code into one or more separate module files, Take the opportunity
579 to reconsider and redesign the interfaces, In some cases the 'application'
580 can then be reduced to a small
584 =head2 perlform - Perl formats
590 =item Format Variables
600 =item Accessing Formatting Internals
606 =head2 perllocale - Perl locale handling (internationalization and
611 =item PREPARING TO USE LOCALES
617 =item The use locale pragma
619 =item The setlocale function
621 =item The localeconv function
625 =item LOCALE CATEGORIES
629 =item Category LC_COLLATE: Collation
631 =item Category LC_CTYPE: Character Types
633 =item Category LC_NUMERIC: Numeric Formatting
635 =item Category LC_MONETARY: Formatting of monetary amounts
639 =item Other categories
645 B<Comparison operators> (C<lt>, C<le>, C<ge>, C<gt> and C<cmp>):,
646 B<Case-mapping interpolation> (with C<\l>, C<\L>, C<\u> or <\U>),
647 B<Matching operator> (C<m//>):, B<Substitution operator> (C<s///>):,
648 B<In-memory formatting function> (sprintf()):, B<Output formatting
649 functions> (printf() and write()):, B<Case-mapping functions> (lc(),
650 lcfirst(), uc(), ucfirst()):, B<POSIX locale-dependent functions>
651 (localeconv(), strcoll(),strftime(), strxfrm()):, B<POSIX character class
652 tests> (isalnum(), isalpha(), isdigit(),isgraph(), islower(), isprint(),
653 ispunct(), isspace(), isupper(),
658 PERL_BADLANG, LC_ALL, LC_CTYPE, LC_COLLATE, LC_MONETARY, LC_NUMERIC,
665 =item Backward compatibility
667 =item I18N:Collate obsolete
669 =item Sort speed and memory use impacts
671 =item write() and LC_NUMERIC
673 =item Freely available locale definitions
677 =item An imperfect standard
693 =head2 perlref - Perl references and nested data structures
699 =item Symbolic references
701 =item Not-so-symbolic references
709 =head2 perldsc - Perl Data Structures Cookbook
713 arrays of arrays, hashes of arrays, arrays of hashes, hashes of hashes,
714 more elaborate constructs
718 =item COMMON MISTAKES
720 =item CAVEAT ON PRECEDENCE
722 =item WHY YOU SHOULD ALWAYS C<use strict>
732 =item Declaration of a LIST OF LISTS
734 =item Generation of a LIST OF LISTS
736 =item Access and Printing of a LIST OF LISTS
740 =item HASHES OF LISTS
744 =item Declaration of a HASH OF LISTS
746 =item Generation of a HASH OF LISTS
748 =item Access and Printing of a HASH OF LISTS
752 =item LISTS OF HASHES
756 =item Declaration of a LIST OF HASHES
758 =item Generation of a LIST OF HASHES
760 =item Access and Printing of a LIST OF HASHES
764 =item HASHES OF HASHES
768 =item Declaration of a HASH OF HASHES
770 =item Generation of a HASH OF HASHES
772 =item Access and Printing of a HASH OF HASHES
776 =item MORE ELABORATE RECORDS
780 =item Declaration of MORE ELABORATE RECORDS
782 =item Declaration of a HASH OF COMPLEX RECORDS
784 =item Generation of a HASH OF COMPLEX RECORDS
794 =head2 perllol, perlLoL - Manipulating Lists of Lists in Perl
798 =item Declaration and Access of Lists of Lists
800 =item Growing Your Own
802 =item Access and Printing
810 =head2 perltoot - Tom's object-oriented tutorial for perl
814 =item Creating a Class
818 =item Object Representation
820 =item Class Interface
822 =item Constructors and Instance Methods
824 =item Planning for the Future: Better Constructors
828 =item Other Object Methods
836 =item Accessing Class Data
838 =item Debugging Methods
840 =item Class Destructors
842 =item Documenting the Interface
852 =item Overridden Methods
854 =item Multiple Inheritance
856 =item UNIVERSAL: The Root of All Objects
860 =item Alternate Object Representations
864 =item Arrays as Objects
866 =item Closures as Objects
870 =item AUTOLOAD: Proxy Methods
874 =item Autoloaded Data Methods
876 =item Inherited Autoloaded Data Methods
880 =item Metaclassical Tools
884 =item Class::Template
886 =item Data Members as Variables
890 =item Object Terminology
900 =item Acknowledgments
904 =head2 perlobj - Perl objects
910 =item An Object is Simply a Reference
912 =item A Class is Simply a Package
914 =item A Method is Simply a Subroutine
916 =item Method Invocation
918 =item Default UNIVERSAL methods
920 isa(CLASS), can(METHOD), VERSION( [NEED] )
928 =item Two-Phased Garbage Collection
934 =head2 perltie - how to hide an object class in a simple variable
944 TIESCALAR classname, LIST, FETCH this, STORE this, value, DESTROY this
948 TIEARRAY classname, LIST, FETCH this, index, STORE this, index, value,
953 USER, HOME, CLOBBER, LIST, TIEHASH classname, LIST, FETCH this, key, STORE
954 this, key, value, DELETE this, key, CLEAR this, EXISTS this, key, FIRSTKEY
955 this, NEXTKEY this, lastkey, DESTROY this
957 =item Tying FileHandles
959 TIEHANDLE classname, LIST, PRINT this, LIST, READLINE this, DESTROY this
961 =item The C<untie> Gotcha
971 =head2 perlbot - Bag'o Object Tricks (the BOT)
975 =item OO SCALING TIPS
977 =item INSTANCE VARIABLES
979 =item SCALAR INSTANCE VARIABLES
981 =item INSTANCE VARIABLE INHERITANCE
983 =item OBJECT RELATIONSHIPS
985 =item OVERRIDING SUPERCLASS METHODS
987 =item USING RELATIONSHIP WITH SDBM
989 =item THINKING OF CODE REUSE
991 =item CLASS CONTEXT AND THE OBJECT
993 =item INHERITING A CONSTRUCTOR
997 =head2 perlipc - Perl interprocess communication (signals, fifos, pipes,
998 safe subprocesses, sockets, and semaphores)
1006 =item Using open() for IPC
1010 =item Safe Pipe Opens
1012 =item Bidirectional Communication
1016 =item Sockets: Client/Server Communication
1020 =item Internet TCP Clients and Servers
1022 =item Unix-Domain TCP Clients and Servers
1024 =item UDP: Message Passing
1040 =head2 perldebug - Perl debugging
1044 =item The Perl Debugger
1048 =item Debugger Commands
1050 h [command], p expr, x expr, V [pkg [vars]], X [vars], T, s [expr], n
1051 [expr], E<lt>CRE<gt>, c [line|sub], l, l min+incr, l min-max, l line, l
1052 subname, -, w [line], f filename, /pattern/, ?pattern?, L, S [[!]pattern],
1053 t, t expr, b [line] [condition], b subname [condition], b postpone subname
1054 [condition], b load filename, b compile subname, d [line], D, a [line]
1055 command, A, O [opt[=val]] [opt"val"] [opt?].., C<recallCommand>,
1056 C<ShellBang>, C<pager>, C<tkRunning>, C<signalLevel>, C<warnLevel>,
1057 C<dieLevel>, C<AutoTrace>, C<LineInfo>, C<inhibit_exit>, C<PrintRet>,
1058 C<frame>, C<maxTraceLen>, C<arrayDepth>, C<hashDepth>, C<compactDump>,
1059 C<veryCompact>, C<globPrint>, C<DumpDBFiles>, C<DumpPackages>, C<quote>,
1060 C<HighBit>, C<undefPrint>, C<UsageOnly>, C<TTY>, C<noTTY>, C<ReadLine>,
1061 C<NonStop>, E<lt> [ command ], E<lt>E<lt> command, E<gt> command,
1062 E<gt>E<gt> command, { [ command ], {{ command, ! number, ! -number, !
1063 pattern, !! cmd, H -number, q or ^D, R, |dbcmd, ||dbcmd, = [alias value],
1064 command, m expr, m package
1066 =item Debugger input/output
1068 Prompt, Multi-line commands, Stack backtrace, Listing, Frame listing
1070 =item Debugging compile-time statements
1072 =item Debugger Customization
1074 =item Readline Support
1076 =item Editor Support for Debugging
1078 =item The Perl Profiler
1080 =item Debugger support in perl
1082 =item Debugger Internals
1084 =item Other resources
1090 =head2 perldiag - various Perl diagnostics
1094 =head2 perlsec - Perl security
1100 =item Laundering and Detecting Tainted Data
1102 =item Switches On the "#!" Line
1104 =item Cleaning Up Your Path
1110 =head2 perltrap - Perl traps for the unwary
1126 =item Perl4 to Perl5 Traps
1128 Discontinuance, Deprecation, and BugFix traps, Parsing Traps, Numerical
1129 Traps, General data type traps, Context Traps - scalar, list contexts,
1130 Precedence Traps, General Regular Expression Traps using s///, etc,
1131 Subroutine, Signal, Sorting Traps, OS Traps, DBM Traps, Unclassified Traps
1133 =item Discontinuance, Deprecation, and BugFix traps
1135 Discontinuance, Deprecation, BugFix, Discontinuance, Discontinuance,
1136 Discontinuance, BugFix, Discontinuance, Discontinuance, BugFix,
1137 Discontinuance, Deprecation, Discontinuance
1141 Parsing, Parsing, Parsing
1143 =item Numerical Traps
1145 Numerical, Numerical, Numerical
1147 =item General data type traps
1149 (Arrays), (Arrays), (Hashes), (Globs), (Scalar String), (Constants),
1150 (Scalars), (Variable Suicide)
1152 =item Context Traps - scalar, list contexts
1154 (list context), (scalar context), (scalar context), (list, builtin)
1156 =item Precedence Traps
1158 Precedence, Precedence, Precedence, Precedence, Precedence, Precedence,
1161 =item General Regular Expression Traps using s///, etc.
1163 Regular Expression, Regular Expression, Regular Expression, Regular
1164 Expression, Regular Expression, Regular Expression, Regular Expression,
1167 =item Subroutine, Signal, Sorting Traps
1169 Subroutine calls provide lvalue context to arguments, (Signals), (Sort
1170 Subroutine), warn() won't let you specify a filehandle
1176 =item Interpolation Traps
1178 Interpolation, Interpolation, Interpolation, Interpolation, Interpolation,
1179 Interpolation, Interpolation, Interpolation, Interpolation
1185 =item Unclassified Traps
1191 =head2 perlstyle - Perl style guide
1195 =head2 perlpod - plain old documentation
1199 =item Embedding Pods in Perl Modules
1201 =item Common Pod Pitfalls
1207 =head2 perlbook - Perl book information
1211 =head2 perlembed - how to embed perl in your C program
1219 B<Use C from Perl?>, B<Use a UNIX program from Perl?>, B<Use Perl from
1220 Perl?>, B<Use C from C?>, B<Use Perl from C?>
1224 =item Compiling your C program
1226 =item Adding a Perl interpreter to your C program
1228 =item Calling a Perl subroutine from your C program
1230 =item Evaluating a Perl statement from your C program
1232 =item Performing Perl pattern matches and substitutions from your C program
1234 =item Fiddling with the Perl stack from your C program
1236 =item Maintaining a persistent interpreter
1238 =item Maintaining multiple interpreter instances
1240 =item Using Perl modules, which themselves use C libraries, from your C
1251 =head2 perlapio - perl's IO abstraction interface.
1257 B<PerlIO *>, B<PerlIO_stdin()>, B<PerlIO_stdout()>, B<PerlIO_stderr()>,
1258 B<PerlIO_open(path, mode)>, B<PerlIO_fdopen(fd,mode)>,
1259 B<PerlIO_printf(f,fmt,...)>, B<PerlIO_vprintf(f,fmt,a)>,
1260 B<PerlIO_stdoutf(fmt,...)>, B<PerlIO_read(f,buf,count)>,
1261 B<PerlIO_write(f,buf,count)>, B<PerlIO_close(f)>, B<PerlIO_puts(s,f)>,
1262 B<PerlIO_putc(c,f)>, B<PerlIO_ungetc(c,f)>, B<PerlIO_getc(f)>,
1263 B<PerlIO_eof(f)>, B<PerlIO_error(f)>, B<PerlIO_fileno(f)>,
1264 B<PerlIO_clearerr(f)>, B<PerlIO_flush(f)>, B<PerlIO_tell(f)>,
1265 B<PerlIO_seek(f,o,w)>, B<PerlIO_getpos(f,p)>, B<PerlIO_setpos(f,p)>,
1266 B<PerlIO_rewind(f)>, B<PerlIO_tmpfile()>
1270 =item Co-existence with stdio
1272 B<PerlIO_importFILE(f,flags)>, B<PerlIO_exportFILE(f,flags)>,
1273 B<PerlIO_findFILE(f)>, B<PerlIO_releaseFILE(p,f)>, B<PerlIO_setlinebuf(f)>,
1274 B<PerlIO_has_cntptr(f)>, B<PerlIO_get_ptr(f)>, B<PerlIO_get_cnt(f)>,
1275 B<PerlIO_canset_cnt(f)>, B<PerlIO_fast_gets(f)>,
1276 B<PerlIO_set_ptrcnt(f,p,c)>, B<PerlIO_set_cnt(f,c)>, B<PerlIO_has_base(f)>,
1277 B<PerlIO_get_base(f)>, B<PerlIO_get_bufsiz(f)>
1281 =head2 perlxs - XS language reference manual
1291 =item The Anatomy of an XSUB
1293 =item The Argument Stack
1295 =item The RETVAL Variable
1297 =item The MODULE Keyword
1299 =item The PACKAGE Keyword
1301 =item The PREFIX Keyword
1303 =item The OUTPUT: Keyword
1305 =item The CODE: Keyword
1307 =item The INIT: Keyword
1309 =item The NO_INIT Keyword
1311 =item Initializing Function Parameters
1313 =item Default Parameter Values
1315 =item The PREINIT: Keyword
1317 =item The SCOPE: Keyword
1319 =item The INPUT: Keyword
1321 =item Variable-length Parameter Lists
1323 =item The PPCODE: Keyword
1325 =item Returning Undef And Empty Lists
1327 =item The REQUIRE: Keyword
1329 =item The CLEANUP: Keyword
1331 =item The BOOT: Keyword
1333 =item The VERSIONCHECK: Keyword
1335 =item The PROTOTYPES: Keyword
1337 =item The PROTOTYPE: Keyword
1339 =item The ALIAS: Keyword
1341 =item The INCLUDE: Keyword
1343 =item The CASE: Keyword
1345 =item The & Unary Operator
1347 =item Inserting Comments and C Preprocessor Directives
1349 =item Using XS With C++
1351 =item Interface Strategy
1353 =item Perl Objects And C Structures
1365 =head2 perlxstut, perlXStut - Tutorial for XSUBs
1371 =item VERSION CAVEAT
1373 =item DYNAMIC VERSUS STATIC
1379 =item WHAT HAS GONE ON?
1381 =item WRITING GOOD TEST SCRIPTS
1385 =item WHAT'S NEW HERE?
1387 =item INPUT AND OUTPUT PARAMETERS
1389 =item THE XSUBPP COMPILER
1391 =item THE TYPEMAP FILE
1397 =item WHAT HAS HAPPENED HERE?
1399 =item SPECIFYING ARGUMENTS TO XSUBPP
1401 =item THE ARGUMENT STACK
1403 =item EXTENDING YOUR EXTENSION
1405 =item DOCUMENTING YOUR EXTENSION
1407 =item INSTALLING YOUR EXTENSION
1417 =head2 perlguts - Perl's Internal Functions
1427 =item What is an "IV"?
1429 =item Working with SV's
1431 =item What's Really Stored in an SV?
1433 =item Working with AV's
1435 =item Working with HV's
1439 =item Blessed References and Class Objects
1441 =item Creating New Variables
1443 =item Reference Counts and Mortality
1445 =item Stashes and Globs
1447 =item Double-Typed SV's
1449 =item Magic Variables
1451 =item Assigning Magic
1453 =item Magic Virtual Tables
1463 =item XSUB's and the Argument Stack
1465 =item Calling Perl Routines from within C Programs
1467 =item Memory Allocation
1471 =item Putting a C value on Perl stack
1475 =item Scratchpads and recursions
1485 =item Examining the tree
1487 =item Compile pass 1: check routines
1489 =item Compile pass 1a: constant folding
1491 =item Compile pass 2: context propagation
1493 =item Compile pass 3: peephole optimization
1499 AvFILL, av_clear, av_extend, av_fetch, av_len, av_make, av_pop, av_push,
1500 av_shift, av_store, av_undef, av_unshift, CLASS, Copy, croak, CvSTASH,
1501 DBsingle, DBsub, DBtrace, dMARK, dORIGMARK, dowarn, dSP, dXSARGS, dXSI32,
1502 dXSI32, ENTER, EXTEND, FREETMPS, G_ARRAY, G_DISCARD, G_EVAL, GIMME,
1503 G_NOARGS, G_SCALAR, gv_fetchmeth, gv_fetchmethod, gv_stashpv, gv_stashsv,
1504 GvSV, he_delayfree, he_free, hv_clear, hv_delete, hv_exists, hv_fetch,
1505 hv_iterinit, hv_iterkey, hv_iternext, hv_iternextsv, hv_iterval, hv_magic,
1506 HvNAME, hv_store, hv_undef, isALNUM, isALPHA, isDIGIT, isLOWER, isSPACE,
1507 isUPPER, items, ix, LEAVE, MARK, mg_clear, mg_copy, mg_find, mg_free,
1508 mg_get, mg_len, mg_magical, mg_set, Move, na, New, Newc, Newz, newAV,
1509 newHV, newRV_inc, newRV_noinc, newSV, newSViv, newSVnv, newSVpv, newSVrv,
1510 newSVsv, newXS, newXSproto, Nullav, Nullch, Nullcv, Nullhv, Nullsv,
1511 ORIGMARK, perl_alloc, perl_call_argv, perl_call_method, perl_call_pv,
1512 perl_call_sv, perl_construct, perl_destruct, perl_eval_sv, perl_free,
1513 perl_get_av, perl_get_cv, perl_get_hv, perl_get_sv, perl_parse,
1514 perl_require_pv, perl_run, POPi, POPl, POPp, POPn, POPs, PUSHMARK, PUSHi,
1515 PUSHn, PUSHp, PUSHs, PUTBACK, Renew, Renewc, RETVAL, safefree, safemalloc,
1516 saferealloc, savepv, savepvn, SAVETMPS, SP, SPAGAIN, ST, strEQ, strGE,
1517 strGT, strLE, strLT, strNE, strnEQ, strnNE, sv_2mortal, sv_bless, sv_catpv,
1518 sv_catpvn, sv_catsv, sv_cmp, sv_cmp, SvCUR, SvCUR_set, sv_dec, sv_dec,
1519 SvEND, sv_eq, SvGROW, sv_grow, sv_inc, SvIOK, SvIOK_off, SvIOK_on,
1520 SvIOK_only, SvIOK_only, SvIOKp, sv_isa, SvIV, sv_isobject, SvIVX, SvLEN,
1521 sv_len, sv_len, sv_magic, sv_mortalcopy, SvOK, sv_newmortal, sv_no, SvNIOK,
1522 SvNIOK_off, SvNIOKp, SvNOK, SvNOK_off, SvNOK_on, SvNOK_only, SvNOK_only,
1523 SvNOKp, SvNV, SvNVX, SvPOK, SvPOK_off, SvPOK_on, SvPOK_only, SvPOK_only,
1524 SvPOKp, SvPV, SvPVX, SvREFCNT, SvREFCNT_dec, SvREFCNT_inc, SvROK,
1525 SvROK_off, SvROK_on, SvRV, sv_setiv, sv_setnv, sv_setpv, sv_setpvn,
1526 sv_setref_iv, sv_setref_nv, sv_setref_pv, sv_setref_pvn, sv_setsv, SvSTASH,
1527 SVt_IV, SVt_PV, SVt_PVAV, SVt_PVCV, SVt_PVHV, SVt_PVMG, SVt_NV, SvTRUE,
1528 SvTYPE, svtype, SvUPGRADE, sv_upgrade, sv_undef, sv_unref, sv_usepvn,
1529 sv_yes, THIS, toLOWER, toUPPER, warn, XPUSHi, XPUSHn, XPUSHp, XPUSHs, XS,
1530 XSRETURN, XSRETURN_EMPTY, XSRETURN_IV, XSRETURN_NO, XSRETURN_NV,
1531 XSRETURN_PV, XSRETURN_UNDEF, XSRETURN_YES, XST_mIV, XST_mNV, XST_mNO,
1532 XST_mPV, XST_mUNDEF, XST_mYES, XS_VERSION, XS_VERSION_BOOTCHECK, Zero
1538 =head2 perlcall - Perl calling conventions from C
1542 An Error Handler, An Event Driven Program
1544 =item THE PERL_CALL FUNCTIONS
1546 B<perl_call_sv>, B<perl_call_pv>, B<perl_call_method>, B<perl_call_argv>
1564 =item Determining the Context
1568 =item KNOWN PROBLEMS
1574 =item No Parameters, Nothing returned
1576 =item Passing Parameters
1578 =item Returning a Scalar
1580 =item Returning a list of values
1582 =item Returning a list in a scalar context
1584 =item Returning Data from Perl via the parameter list
1588 =item Using G_KEEPERR
1590 =item Using perl_call_sv
1592 =item Using perl_call_argv
1594 =item Using perl_call_method
1598 =item Using Perl to dispose of temporaries
1600 =item Strategies for storing Callback Context Information
1602 1. Ignore the problem - Allow only 1 callback, 2. Create a sequence of
1603 callbacks - hard wired limit, 3. Use a parameter to map to the Perl
1606 =item Alternate Stack Manipulation
1616 =head1 PRAGMA DOCUMENTATION
1618 =head2 blib - Use MakeMaker's uninstalled version of a package
1628 =head2 diagnostics - Perl compiler pragma to force verbose warning
1637 =item The C<diagnostics> Pragma
1639 =item The I<splain> Program
1651 =head2 integer - Perl pragma to compute arithmetic in integer instead of
1658 =head2 less - perl pragma to request less of something from the compiler
1664 =head2 lib - manipulate @INC at compile time
1672 =item ADDING DIRECTORIES TO @INC
1674 =item DELETING DIRECTORIES FROM @INC
1676 =item RESTORING ORIGINAL @INC
1684 =head2 locale - Perl pragma to use and avoid POSIX locales for built-in
1691 =head2 ops - Perl pragma to restrict unsafe operations when compiling
1699 =head2 overload - Package for overloading perl operations
1703 =item CAVEAT SCRIPTOR
1709 =item Declaration of overloaded functions
1711 =item Calling Conventions for Binary Operations
1713 FALSE, TRUE, C<undef>
1715 =item Calling Conventions for Unary Operations
1717 =item Overloadable Operations
1719 I<Arithmetic operations>, I<Comparison operations>, I<Bit operations>,
1720 I<Increment and decrement>, I<Transcendental functions>, I<Boolean, string
1721 and numeric conversion>, I<Special>
1723 =item Inheritance and overloading
1725 Strings as values of C<use overload> directive, Overloading of an operation
1726 is inherited by derived classes
1730 =item SPECIAL SYMBOLS FOR C<use overload>
1738 C<undef>, TRUE, defined, but FALSE
1740 =item Copy Constructor
1746 =item MAGIC AUTOGENERATION
1748 I<Assignment forms of arithmetic operations>, I<Conversion operations>,
1749 I<Increment and decrement>, C<abs($a)>, I<Unary minus>, I<Negation>,
1750 I<Concatenation>, I<Comparison operations>, I<Copy operator>
1754 =item Run-time Overloading
1756 =item Public functions
1758 overload::StrVal(arg), overload::Overloaded(arg), overload::Method(obj,op)
1760 =item IMPLEMENTATION
1768 =head2 sigtrap - Perl pragma to enable simple signal handling
1778 =item SIGNAL HANDLERS
1780 B<stack-trace>, B<die>, B<handler> I<your-handler>
1784 B<normal-signals>, B<error-signals>, B<old-interface-signals>
1788 B<untrapped>, B<any>, I<signal>, I<number>
1794 =head2 strict - Perl pragma to restrict unsafe constructs
1800 C<strict refs>, C<strict vars>, C<strict subs>
1802 =head2 subs - Perl pragma to predeclare sub names
1808 =head2 vars - Perl pragma to predeclare global variable names
1814 =head1 MODULE DOCUMENTATION
1816 =head2 AnyDBM_File - provide framework for multiple DBMs
1824 =item DBM Comparisons
1832 =head2 AutoLoader - load functions only on demand
1844 =item Package Lexicals
1846 =item AutoLoader vs. SelfLoader
1852 =head2 AutoSplit - split a package for autoloading
1862 =head2 Benchmark - benchmark running times of code
1874 =item Standard Exports
1876 timeit(COUNT, CODE), timethis, timethese, timediff, timestr
1878 =item Optional Exports
1890 =item MODIFICATION HISTORY
1892 =head2 Bundle::CPAN - A bundle to play with all the other modules on CPAN
1902 =head2 CPAN - query, download and build perl modules from CPAN sites
1910 =item Interactive Mode
1912 Searching for authors, bundles, distribution files and modules, make, test,
1913 install, clean modules or distributions, readme, look module or
1922 =item ProgrammerE<39>s interface
1932 =item Floppy, Zip, and all that Jazz
1938 o conf E<lt>scalar optionE<gt>, o conf E<lt>scalar optionE<gt>
1939 E<lt>valueE<gt>, o conf E<lt>list optionE<gt>, o conf E<lt>list optionE<gt>
1940 [shift|pop], o conf E<lt>list optionE<gt> [unshift|push|splice]
1953 =head2 CPAN::FirstTime - Utility for CPAN::Config file Initialization
1959 =head2 CPANox, CPAN::Nox - Wrapper around CPAN.pm without using any XS
1968 =head2 Carp, carp - warn of errors (from perspective of caller)
1974 =head2 Class::Template - struct/member template builder
1982 Example 1, Example 2
1986 =head2 Config - access Perl configuration information
1992 myconfig(), config_sh(), config_vars(@names)
2000 =head2 Cwd, getcwd - get pathname of current working directory
2006 =head2 DB_File - Perl5 access to Berkeley DB
2012 B<DB_HASH>, B<DB_BTREE>, B<DB_RECNO>
2016 =item How does DB_File interface to Berkeley DB?
2018 =item Opening a Berkeley DB Database File
2020 =item Default Parameters
2022 =item In Memory Databases
2030 =item A Simple Example.
2038 =item Changing the BTREE sort order
2040 =item Handling duplicate keys
2042 =item The get_dup method.
2044 =item Matching Partial Keys
2052 =item The bval option
2054 =item A Simple Example
2058 B<$X-E<gt>push(list) ;>, B<$value = $X-E<gt>pop ;>, B<$X-E<gt>shift>,
2059 B<$X-E<gt>unshift(list) ;>, B<$X-E<gt>length>
2061 =item Another Example
2065 =item THE API INTERFACE
2067 B<$status = $X-E<gt>get($key, $value [, $flags]) ;>, B<$status =
2068 $X-E<gt>put($key, $value [, $flags]) ;>, B<$status = $X-E<gt>del($key [,
2069 $flags]) ;>, B<$status = $X-E<gt>fd ;>, B<$status = $X-E<gt>seq($key,
2070 $value, $flags) ;>, B<$status = $X-E<gt>sync([$flags]) ;>
2072 =item HINTS AND TIPS
2076 =item Locking Databases
2078 =item Sharing databases with C applications
2080 =item The untie gotcha
2084 =item COMMON QUESTIONS
2088 =item Why is there Perl source in my database?
2090 =item How do I store complex data structures with DB_File?
2092 =item What does "Invalid Argument" mean?
2094 =item What does "Bareword 'DB_File' not allowed" mean?
2108 =head2 Devel::SelfStubber - generate stubs for a SelfLoading module
2114 =head2 DirHandle - supply object methods for directory handles
2120 =head2 DynaLoader - Dynamically load C libraries into Perl code
2126 @dl_library_path, @dl_resolve_using, @dl_require_symbols, @dl_librefs,
2127 @dl_modules, dl_error(), $dl_debug, dl_findfile(), dl_expandspec(),
2128 dl_load_file(), dl_loadflags(), dl_find_symbol(),
2129 dl_find_symbol_anywhere(), dl_undef_symbols(), dl_install_xsub(),
2134 =head2 English - use nice English (or awk) names for ugly punctuation
2141 =head2 Env - perl module that imports environment variables
2149 =head2 Exporter - Implements default import method for modules
2157 =item Selecting What To Export
2159 =item Specialised Import Lists
2161 =item Module Version Checking
2163 =item Managing Unknown Symbols
2165 =item Tag Handling Utility Functions
2169 =head2 ExtUtils::Embed - Utilities for embedding Perl in C/C++ applications
2179 xsinit(), Examples, ldopts(), Examples, perl_inc(), ccflags(), ccdlflags(),
2180 ccopts(), xsi_header(), xsi_protos(@modules), xsi_body(@modules)
2188 =head2 ExtUtils::Install - install files from here to there
2194 =head2 ExtUtils::Liblist - determine libraries to use and how to use them
2200 For static extensions, For dynamic extensions, For dynamic extensions
2206 =item LDLOADLIBS and LD_RUN_PATH
2216 =item VMS implementation
2222 =head2 ExtUtils::MM_OS2 - methods to override UN*X behaviour in
2229 =head2 ExtUtils::MM_Unix - methods used by ExtUtils::MakeMaker
2239 =item Preloaded methods
2241 canonpath, catdir, catfile, curdir, rootdir, updir
2243 =item SelfLoaded methods
2245 c_o (o), cflags (o), clean (o), const_cccmd (o), const_config (o),
2246 const_loadlibs (o), constants (o), depend (o), dir_target (o), dist (o),
2247 dist_basics (o), dist_ci (o), dist_core (o), dist_dir (o), dist_test (o),
2248 dlsyms (o), dynamic (o), dynamic_bs (o), dynamic_lib (o), exescan,
2249 extliblist, file_name_is_absolute, find_perl
2251 =item Methods to actually produce chunks of text for the Makefile
2253 force (o), guess_name, has_link_code, init_dirscan, init_main, init_others,
2254 install (o), installbin (o), libscan (o), linkext (o), lsdir, macro (o),
2255 makeaperl (o), makefile (o), manifypods (o), maybe_command,
2256 maybe_command_in_dirs, needs_linking (o), nicetext, parse_version, pasthru
2257 (o), path, perl_script, perldepend (o), pm_to_blib, post_constants (o),
2258 post_initialize (o), postamble (o), prefixify, processPL (o), realclean
2259 (o), replace_manpage_separator, static (o), static_lib (o), staticmake (o),
2260 subdir_x (o), subdirs (o), test (o), test_via_harness (o), test_via_script
2261 (o), tool_autosplit (o), tools_other (o), tool_xsubpp (o), top_targets (o),
2262 writedoc, xs_c (o), xs_o (o)
2268 =head2 ExtUtils::MM_VMS - methods to override UN*X behaviour in
2277 =item Methods always loaded
2279 eliminate_macros, fixpath, catdir, catfile, wraplist, curdir (override),
2280 rootdir (override), updir (override)
2282 =item SelfLoaded methods
2284 guess_name (override), find_perl (override), path (override), maybe_command
2285 (override), maybe_command_in_dirs (override), perl_script (override),
2286 file_name_is_absolute (override), replace_manpage_separator, init_others
2287 (override), constants (override), cflags (override), const_cccmd
2288 (override), pm_to_blib (override), tool_autosplit (override), tool_sxubpp
2289 (override), xsubpp_version (override), tools_other (override), dist
2290 (override), c_o (override), xs_c (override), xs_o (override), top_targets
2291 (override), dlsyms (override), dynamic_lib (override), dynamic_bs
2292 (override), static_lib (override), manifypods (override), processPL
2293 (override), installbin (override), subdir_x (override), clean (override),
2294 realclean (override), dist_basics (override), dist_core (override),
2295 dist_dir (override), dist_test (override), install (override), perldepend
2296 (override), makefile (override), test (override), test_via_harness
2297 (override), test_via_script (override), makeaperl (override), nicetext
2302 =head2 ExtUtils::MakeMaker - create an extension Makefile
2310 =item How To Write A Makefile.PL
2312 =item Default Makefile Behaviour
2320 =item PREFIX and LIB attribute
2324 =item Static Linking of a new Perl Binary
2326 =item Determination of Perl Library and Installation Locations
2328 =item Which architecture dependent directory?
2330 =item Using Attributes and Parameters
2332 C, CONFIG, CONFIGURE, DEFINE, DIR, DISTNAME, DL_FUNCS, DL_VARS,
2333 EXCLUDE_EXT, EXE_FILES, NO_VC, FIRST_MAKEFILE, FULLPERL, H, INC,
2334 INCLUDE_EXT, INSTALLARCHLIB, INSTALLBIN, INSTALLDIRS, INSTALLMAN1DIR,
2335 INSTALLMAN3DIR, INSTALLPRIVLIB, INSTALLSCRIPT, INSTALLSITELIB,
2336 INSTALLSITEARCH, INST_ARCHLIB, INST_BIN, INST_EXE, INST_LIB, INST_MAN1DIR,
2337 INST_MAN3DIR, INST_SCRIPT, LDFROM, LIBPERL_A, LIB, LIBS, LINKTYPE,
2338 MAKEAPERL, MAKEFILE, MAN1PODS, MAN3PODS, MAP_TARGET, MYEXTLIB, NAME,
2339 NEEDS_LINKING, NOECHO, NORECURS, OBJECT, OPTIMIZE, PERL, PERLMAINCC,
2340 PERL_ARCHLIB, PERL_LIB, PERL_SRC, PL_FILES, PM, PMLIBDIRS, PREFIX,
2341 PREREQ_PM, SKIP, TYPEMAPS, VERSION, VERSION_FROM, XS, XSOPT, XSPROTOARG,
2344 =item Additional lowercase attributes
2346 clean, depend, dist, dynamic_lib, installpm, linkext, macro, realclean,
2349 =item Overriding MakeMaker Methods
2351 =item Hintsfile support
2353 =item Distribution Support
2355 make distcheck, make skipcheck, make distclean, make manifest,
2356 make distdir, make tardist, make dist, make uutardist, make
2357 shdist, make zipdist, make ci
2365 =head2 ExtUtils::Manifest - utilities to write and check a MANIFEST file
2375 =item GLOBAL VARIABLES
2379 C<Not in MANIFEST:> I<file>, C<No such file:> I<file>, C<MANIFEST:> I<$!>,
2380 C<Added to MANIFEST:> I<file>
2386 =head2 ExtUtils::Miniperl, writemain - write the C code for perlmain.c
2394 =head2 ExtUtils::Mkbootstrap - make a bootstrap file for use by DynaLoader
2400 =head2 ExtUtils::Mksymlists - write linker options files for dynamic
2407 NAME, DL_FUNCS, DL_VARS, FILE, FUNCLIST, DLBASE
2413 =head2 ExtUtils::testlib - add blib/* directories to @INC
2419 =head2 Fcntl - load the C Fcntl.h defines
2427 =item EXPORTED SYMBOLS
2429 =head2 File::Basename, fileparse - split a pathname into pieces
2435 fileparse_set_fstype, fileparse
2439 C<basename>, C<dirname>
2441 =head2 File::CheckTree, validate - run many filetest checks on a tree
2447 =head2 File::Compare - Compare files or filehandles
2457 =head2 File::Copy - Copy files or filehandles
2465 =item Special behavior if C<syscopy> is defined (VMS and OS/2)
2467 rmscopy($from,$to[,$date_flag])
2475 =head2 File::Find, find - traverse a file tree
2481 =head2 File::Path - create or remove a series of directories
2491 =head2 File::stat - by-name interface to Perl's built-in stat() functions
2501 =head2 FileCache - keep more files open than the system permits
2509 =head2 FileHandle - supply object methods for filehandles
2515 $fh->print, $fh->printf, $fh->getline, $fh->getlines
2519 =head2 FindBin - Locate directory of original perl script
2525 =item EXPORTABLE VARIABLES
2535 =head2 GDBM_File - Perl5 access to the gdbm library.
2547 =head2 Getopt::Long, GetOptions - extended processing of command line
2554 E<lt>noneE<gt>, !, =s, :s, =i, :i, =f, :f
2558 =item Linkage specification
2560 =item Aliases and abbreviations
2562 =item Non-option call-back routine
2564 =item Option starters
2574 =item CONFIGURATION VARIABLES
2576 $Getopt::Long::autoabbrev, $Getopt::Long::getopt_compat,
2577 $Getopt::Long::order, $Getopt::Long::bundling, $Getopt::Long::ignorecase,
2578 $Getopt::Long::passthrough, $Getopt::Long::VERSION, $Getopt::Long::error,
2579 $Getopt::Long::debug
2581 =head2 Getopt::Std, getopt - Process single-character switches with switch
2588 =head2 I18N::Collate - compare 8-bit scalar data according to the current
2595 =head2 IO - load various IO modules
2601 =head2 IO::File - supply object methods for filehandles
2613 open( FILENAME [,MODE [,PERMS]] )
2619 =head2 IO::Handle - supply object methods for I/O handles
2627 new (), new_from_fd ( FD, MODE )
2631 $fh->getline, $fh->getlines, $fh->fdopen ( FD, MODE ), $fh->write ( BUF,
2632 LEN [, OFFSET }\] ), $fh->opened, $fh->untaint
2642 =head2 IO::Pipe, IO::pipe - supply object methods for pipes
2650 new ( [READER, WRITER] )
2654 reader ([ARGS]), writer ([ARGS]), handles ()
2662 =head2 IO::Seekable - supply seek based methods for I/O objects
2672 =head2 IO::Select - OO interface to the select system call
2684 add ( HANDLES ), remove ( HANDLES ), exists ( HANDLE ), handles, can_read (
2685 [ TIMEOUT ] ), can_write ( [ TIMEOUT ] ), has_error ( [ TIMEOUT ] ), count
2686 (), bits(), bits(), select ( READ, WRITE, ERROR [, TIMEOUT ] )
2694 =head2 IO::Socket - Object interface to socket communications
2706 accept([PKG]), timeout([VAL]), sockopt(OPT [, VAL]), sockdomain, socktype,
2713 =item IO::Socket::INET
2717 sockaddr (), sockport (), sockhost (), peeraddr (), peerport (), peerhost
2720 =item IO::Socket::UNIX
2724 hostpath(), peerpath()
2734 =head2 IO::lib::IO::File, IO::File - supply object methods for filehandles
2746 open( FILENAME [,MODE [,PERMS]] )
2752 =head2 IO::lib::IO::Handle, IO::Handle - supply object methods for I/O
2761 new (), new_from_fd ( FD, MODE )
2765 $fh->getline, $fh->getlines, $fh->fdopen ( FD, MODE ), $fh->write ( BUF,
2766 LEN [, OFFSET }\] ), $fh->opened, $fh->untaint
2776 =head2 IO::lib::IO::Pipe, IO::pipe - supply object methods for pipes
2784 new ( [READER, WRITER] )
2788 reader ([ARGS]), writer ([ARGS]), handles ()
2796 =head2 IO::lib::IO::Seekable, IO::Seekable - supply seek based methods for
2807 =head2 IO::lib::IO::Select, IO::Select - OO interface to the select system
2820 add ( HANDLES ), remove ( HANDLES ), exists ( HANDLE ), handles, can_read (
2821 [ TIMEOUT ] ), can_write ( [ TIMEOUT ] ), has_error ( [ TIMEOUT ] ), count
2822 (), bits(), bits(), select ( READ, WRITE, ERROR [, TIMEOUT ] )
2830 =head2 IO::lib::IO::Socket, IO::Socket - Object interface to socket
2843 accept([PKG]), timeout([VAL]), sockopt(OPT [, VAL]), sockdomain, socktype,
2850 =item IO::Socket::INET
2854 sockaddr (), sockport (), sockhost (), peeraddr (), peerport (), peerhost
2857 =item IO::Socket::UNIX
2861 hostpath(), peerpath()
2871 =head2 IPC::Open2, open2 - open a process for both reading and writing
2881 =head2 IPC::Open3, open3 - open a process for reading, writing, and error
2890 =head2 Math::BigFloat - Arbitrary length float math package
2896 number format, Error returns 'NaN', Division is computed to
2902 =head2 Math::BigInt - Arbitrary size integer math package
2908 Canonical notation, Input, Output
2916 =head2 Math::Complex - complex numbers and associated mathematical
2927 =item STRINGIFICATION
2935 =head2 NDBM_File - Tied access to ndbm files
2941 =head2 Net::Ping - check a remote host for reachability
2951 Net::Ping->new([$proto [, $def_timeout [, $bytes]]]);, $p->ping($host [,
2952 $timeout]);, $p->close();, pingecho($host [, $timeout]);
2960 =head2 Net::hostent - by-name interface to Perl's built-in gethost*()
2973 =head2 Net::netent - by-name interface to Perl's built-in getnet*()
2986 =head2 Net::protoent - by-name interface to Perl's built-in getproto*()
2997 =head2 Net::servent - by-name interface to Perl's built-in getserv*()
3010 =head2 ODBM_File - Tied access to odbm files
3016 =head2 Opcode - Disable named opcodes when compiling perl code
3026 =item Operator Names and Operator Lists
3028 an operator name (opname), an operator tag name (optag), a negated opname
3029 or optag, an operator set (opset)
3031 =item Opcode Functions
3033 opcodes, opset (OP, ...), opset_to_ops (OPSET), opset_to_hex (OPSET),
3034 full_opset, empty_opset, invert_opset (OPSET), verify_opset (OPSET, ...),
3035 define_optag (OPTAG, OPSET), opmask_add (OPSET), opmask, opdesc (OP, ...),
3038 =item Manipulating Opsets
3042 =item Predefined Opcode Tags
3044 :base_core, :base_mem, :base_loop, :base_io, :base_orig, :base_math,
3045 :default, :filesys_read, :sys_db, :browse, :filesys_open, :filesys_write,
3046 :subprocess, :ownprocess, :others, :still_to_be_decided, :dangerous
3052 =head2 Opcode::Safe, Safe - Compile and execute code in restricted
3059 a new namespace, an operator mask
3065 =item RECENT CHANGES
3067 =item Methods in class Safe
3069 permit (OP, ...), permit_only (OP, ...), deny (OP, ...), deny_only (OP,
3070 ...), trap (OP, ...), untrap (OP, ...), share (NAME, ...), share_from
3071 (PACKAGE, ARRAYREF), varglob (VARNAME), reval (STRING), rdo (FILENAME),
3072 root (NAMESPACE), mask (MASK)
3074 =item Some Safety Issues
3076 Memory, CPU, Snooping, Signals, State Changes
3082 =head2 Opcode::ops, ops - Perl pragma to restrict unsafe operations when
3091 =head2 POSIX - Perl interface to IEEE Std 1003.1
3103 _exit, abort, abs, access, acos, alarm, asctime, asin, assert, atan, atan2,
3104 atexit, atof, atoi, atol, bsearch, calloc, ceil, chdir, chmod, chown,
3105 clearerr, clock, close, closedir, cos, cosh, creat, ctermid, ctime,
3106 cuserid, difftime, div, dup, dup2, errno, execl, execle, execlp, execv,
3107 execve, execvp, exit, exp, fabs, fclose, fcntl, fdopen, feof, ferror,
3108 fflush, fgetc, fgetpos, fgets, fileno, floor, fmod, fopen, fork, fpathconf,
3109 fprintf, fputc, fputs, fread, free, freopen, frexp, fscanf, fseek, fsetpos,
3110 fstat, ftell, fwrite, getc, getchar, getcwd, getegid, getenv, geteuid,
3111 getgid, getgrgid, getgrnam, getgroups, getlogin, getpgrp, getpid, getppid,
3112 getpwnam, getpwuid, gets, getuid, gmtime, isalnum, isalpha, isatty,
3113 iscntrl, isdigit, isgraph, islower, isprint, ispunct, isspace, isupper,
3114 isxdigit, kill, labs, ldexp, ldiv, link, localeconv, localtime, log, log10,
3115 longjmp, lseek, malloc, mblen, mbstowcs, mbtowc, memchr, memcmp, memcpy,
3116 memmove, memset, mkdir, mkfifo, mktime, modf, nice, offsetof, open,
3117 opendir, pathconf, pause, perror, pipe, pow, printf, putc, putchar, puts,
3118 qsort, raise, rand, read, readdir, realloc, remove, rename, rewind,
3119 rewinddir, rmdir, scanf, setgid, setjmp, setlocale, setpgid, setsid,
3120 setuid, sigaction, siglongjmp, sigpending, sigprocmask, sigsetjmp,
3121 sigsuspend, sin, sinh, sleep, sprintf, sqrt, srand, sscanf, stat, strcat,
3122 strchr, strcmp, strcoll, strcpy, strcspn, strerror, strftime, strlen,
3123 strncat, strncmp, strncpy, stroul, strpbrk, strrchr, strspn, strstr,
3124 strtod, strtok, strtol, strtoul, strxfrm, sysconf, system, tan, tanh,
3125 tcdrain, tcflow, tcflush, tcgetpgrp, tcsendbreak, tcsetpgrp, time, times,
3126 tmpfile, tmpnam, tolower, toupper, ttyname, tzname, tzset, umask, uname,
3127 ungetc, unlink, utime, vfprintf, vprintf, vsprintf, wait, waitpid,
3128 wcstombs, wctomb, write
3134 =item POSIX::SigAction
3140 new, addset, delset, emptyset, fillset, ismember
3142 =item POSIX::Termios
3144 new, getattr, getcc, getcflag, getiflag, getispeed, getlflag, getoflag,
3145 getospeed, setattr, setcc, setcflag, setiflag, setispeed, setlflag,
3146 setoflag, setospeed, Baud rate values, Terminal interface values, c_cc
3147 field values, c_cflag field values, c_iflag field values, c_lflag field
3148 values, c_oflag field values
3152 =item PATHNAME CONSTANTS
3156 =item POSIX CONSTANTS
3160 =item SYSTEM CONFIGURATION
3218 =head2 Pod::Text - convert POD data to formatted ASCII text
3228 =head2 SDBM_File - Tied access to sdbm files
3234 =head2 Safe - Compile and execute code in restricted compartments
3240 a new namespace, an operator mask
3246 =item RECENT CHANGES
3248 =item Methods in class Safe
3250 permit (OP, ...), permit_only (OP, ...), deny (OP, ...), deny_only (OP,
3251 ...), trap (OP, ...), untrap (OP, ...), share (NAME, ...), share_from
3252 (PACKAGE, ARRAYREF), varglob (VARNAME), reval (STRING), rdo (FILENAME),
3253 root (NAMESPACE), mask (MASK)
3255 =item Some Safety Issues
3257 Memory, CPU, Snooping, Signals, State Changes
3263 =head2 Search::Dict, look - search for key in dictionary file
3269 =head2 SelectSaver - save and restore selected file handle
3275 =head2 SelfLoader - load functions only on demand
3283 =item The __DATA__ token
3285 =item SelfLoader autoloading
3287 =item Autoloading and package lexicals
3289 =item SelfLoader and AutoLoader
3291 =item __DATA__, __END__, and the FOOBAR::DATA filehandle.
3293 =item Classes and inherited methods.
3297 =item Multiple packages and fully qualified subroutine names
3299 =head2 Shell - run shell commands transparently within perl
3307 =head2 Socket, sockaddr_in, sockaddr_un, inet_aton, inet_ntoa - load the C
3308 socket.h defines and structure manipulators
3314 inet_aton HOSTNAME, inet_ntoa IP_ADDRESS, INADDR_ANY, INADDR_BROADCAST,
3315 INADDR_LOOPBACK, INADDR_NONE, sockaddr_in PORT, ADDRESS, sockaddr_in
3316 SOCKADDR_IN, pack_sockaddr_in PORT, IP_ADDRESS, unpack_sockaddr_in
3317 SOCKADDR_IN, sockaddr_un PATHNAME, sockaddr_un SOCKADDR_UN,
3318 pack_sockaddr_un PATH, unpack_sockaddr_un SOCKADDR_UN
3320 =head2 Symbol - manipulate Perl symbols and their names
3326 =head2 Sys::Hostname - Try every conceivable way to get hostname
3334 =head2 Syslog, Sys::Syslog, openlog, closelog, setlogmask, syslog - Perl
3335 interface to the UNIX syslog(3) calls
3341 openlog $ident, $logopt, $facility, syslog $priority, $format, @args,
3342 setlogmask $mask_priority, closelog
3352 =head2 Term::Cap - Perl termcap interface
3360 =head2 Term::Complete - Perl word completion module
3366 E<lt>tabE<gt>Attempts word completion.
3367 Cannot be changed, ^D, ^U, E<lt>delE<gt>, E<lt>bsE<gt>
3375 =head2 Term::ReadLine - Perl interface to various C<readline> packages. If
3376 no real package is found, substitutes stubs instead of basic functions.
3382 =item Minimal set of supported functions
3384 C<ReadLine>, C<new>, C<readline>, C<addhistory>, C<IN>, $C<OUT>,
3385 C<MinLine>, C<findConsole>, C<Features>
3389 =head2 Test::Harness - run perl standard test scripts with statistics
3397 =item The test script output
3405 C<All tests successful.\nFiles=%d, Tests=%d, %s>, C<FAILED tests
3406 %s\n\tFailed %d/%d tests, %.2f%% okay.>, C<Test returned status %d (wstat
3407 %d)>, C<Failed 1 test, %.2f%% okay. %s>, C<Failed %d/%d tests, %.2f%% okay.
3416 =head2 Text::Abbrev, abbrev - create an abbreviation table from a list
3424 =head2 Text::ParseWords - parse text into an array of tokens
3432 =head2 Text::Soundex - Implementation of the Soundex Algorithm as Described
3445 =head2 Text::Tabs -- expand and unexpand tabs per the unix expand(1) and
3456 =head2 Text::Wrap - line wrapping to form simple paragraphs
3468 =head2 Tie::Hash, Tie::StdHash - base class definitions for tied hashes
3474 TIEHASH classname, LIST, STORE this, key, value, FETCH this, key, FIRSTKEY
3475 this, NEXTKEY this, lastkey, EXISTS this, key, DELETE this, key, CLEAR this
3479 =item MORE INFORMATION
3481 =head2 Tie::RefHash - use references as hash keys
3495 =head2 Tie::Scalar, Tie::StdScalar - base class definitions for tied
3502 TIESCALAR classname, LIST, FETCH this, STORE this, value, DESTROY this
3504 =item MORE INFORMATION
3506 =head2 Tie::SubstrHash - Fixed-table-size, fixed-key-length hashing
3514 =head2 Time::Local - efficiently compute time from local and GMT time
3520 =head2 Time::gmtime - by-name interface to Perl's built-in gmtime()
3531 =head2 Time::localtime - by-name interface to Perl's built-in localtime()
3542 =head2 Time::tm - internal object used by Time::gmtime and Time::localtime
3550 =head2 UNIVERSAL - base class for ALL classes (blessed references)
3556 isa ( TYPE ), can ( METHOD ), VERSION ( [ REQUIRE ] ), isa ( REF, TYPE )
3558 =head2 User::grent - by-name interface to Perl's built-in getgr*()
3569 =head2 User::pwent - by-name interface to Perl's built-in getpw*()
3580 =head1 AUXILIARY DOCUMENTATION
3582 Here should be listed all the extra programs' documentation, but they
3583 don't all have manual pages yet:
3605 Larry Wall E<lt>F<larry@wall.org>E<gt>, with the help of oodles