4 perltoc - perl documentation table of contents
8 This page provides a brief table of contents for the rest of the Perl
9 documentation set. It is meant to be scanned quickly or grepped
10 through to locate the proper section you're looking for.
12 =head1 BASIC DOCUMENTATION
14 =head2 perl - Practical Extraction and Report Language
20 Many usability enhancements, Simplified grammar, Lexical scoping,
21 Arbitrarily nested data structures, Modularity and reusability,
22 Object-oriented programming, Embeddable and Extensible, POSIX compliant,
23 Package constructors and destructors, Multiple simultaneous DBM
24 implementations, Subroutine definitions may now be autoloaded, Regular
25 expression enhancements, Innumerable Unbundled Modules, Compilability
41 =head2 perldelta - what's new for perl5.004
45 =item Supported Environments
51 =item Compilation Option: Binary Compatibility With 5.003
53 =item New Opcode Module and Revised Safe Module
55 =item Fixed Parsing of $$<digit>, &$<digit>, etc.
57 =item Changes to Tainting Checks
59 =item Internal Change: FileHandle Class Based on IO::* Classes
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), srand, $_ as Default, C<m//g> does not trigger a
72 pos() reset on failure, nested C<sub{}> closures work now, formats work
73 right on changing lexicals
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>, Extended API for manipulating hashes
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>
328 HOME, LOGDIR, PATH, PERL5LIB, PERLLIB, PERL5DB, PERL_DEBUG_MSTATS,
331 =head2 perlfunc - Perl builtin functions
335 I<THERE IS NO GENERAL RULE FOR CONVERTING A LIST INTO A SCALAR!>
339 =item Perl Functions by Category
341 Functions for SCALARs or strings, Regular expressions and pattern matching,
342 Numeric functions, Functions for real @ARRAYs, Functions for list data,
343 Functions for real %HASHes, Input and output functions, Functions for fixed
344 length data or records, Functions for filehandles, files, or directories,
345 Keywords related to the control flow of your perl program, Keywords related
346 to scoping, Miscellaneous functions, Functions for processes and process
347 groups, Keywords related to perl modules, Keywords related to classes and
348 object-orientedness, Low-level socket functions, System V interprocess
349 communication functions, Fetching user and group info, Fetching network
350 info, Time-related functions, Functions new in perl5, Functions obsoleted
353 =item Alphabetical Listing of Perl Functions
355 -I<X> FILEHANDLE, -I<X> EXPR, -I<X>, abs VALUE, abs, accept
356 NEWSOCKET,GENERICSOCKET, alarm SECONDS, alarm, atan2 Y,X, bind SOCKET,NAME,
357 binmode FILEHANDLE, bless REF,CLASSNAME, bless REF, caller EXPR, caller,
358 chdir EXPR, chmod LIST, chomp VARIABLE, chomp LIST, chomp, chop VARIABLE,
359 chop LIST, chop, chown LIST, chr NUMBER, chr, chroot FILENAME, chroot,
360 close FILEHANDLE, closedir DIRHANDLE, connect SOCKET,NAME, continue BLOCK,
361 cos EXPR, crypt PLAINTEXT,SALT, dbmclose HASH, dbmopen HASH,DBNAME,MODE,
362 defined EXPR, defined, delete EXPR, die LIST, do BLOCK, do
363 SUBROUTINE(LIST), do EXPR, dump LABEL, each HASH, eof FILEHANDLE, eof (),
364 eof, eval EXPR, eval BLOCK, exec LIST, exists EXPR, exit EXPR, exp EXPR,
365 exp, fcntl FILEHANDLE,FUNCTION,SCALAR, fileno FILEHANDLE, flock
366 FILEHANDLE,OPERATION, fork, format, formline PICTURE, LIST, getc
367 FILEHANDLE, getc, getlogin, getpeername SOCKET, getpgrp PID, getppid,
368 getpriority WHICH,WHO, getpwnam NAME, getgrnam NAME, gethostbyname NAME,
369 getnetbyname NAME, getprotobyname NAME, getpwuid UID, getgrgid GID,
370 getservbyname NAME,PROTO, gethostbyaddr ADDR,ADDRTYPE, getnetbyaddr
371 ADDR,ADDRTYPE, getprotobynumber NUMBER, getservbyport PORT,PROTO, getpwent,
372 getgrent, gethostent, getnetent, getprotoent, getservent, setpwent,
373 setgrent, sethostent STAYOPEN, setnetent STAYOPEN, setprotoent STAYOPEN,
374 setservent STAYOPEN, endpwent, endgrent, endhostent, endnetent,
375 endprotoent, endservent, getsockname SOCKET, getsockopt
376 SOCKET,LEVEL,OPTNAME, glob EXPR, glob, gmtime EXPR, goto LABEL, goto EXPR,
377 goto &NAME, grep BLOCK LIST, grep EXPR,LIST, hex EXPR, hex, import, index
378 STR,SUBSTR,POSITION, index STR,SUBSTR, int EXPR, int, ioctl
379 FILEHANDLE,FUNCTION,SCALAR, join EXPR,LIST, keys HASH, kill LIST, last
380 LABEL, last, lc EXPR, lc, lcfirst EXPR, lcfirst, length EXPR, length, link
381 OLDFILE,NEWFILE, listen SOCKET,QUEUESIZE, local EXPR, localtime EXPR, log
382 EXPR, log, lstat FILEHANDLE, lstat EXPR, lstat, m//, map BLOCK LIST, map
383 EXPR,LIST, mkdir FILENAME,MODE, msgctl ID,CMD,ARG, msgget KEY,FLAGS, msgsnd
384 ID,MSG,FLAGS, msgrcv ID,VAR,SIZE,TYPE,FLAGS, my EXPR, next LABEL, next, no
385 Module LIST, oct EXPR, oct, open FILEHANDLE,EXPR, open FILEHANDLE, opendir
386 DIRHANDLE,EXPR, ord EXPR, ord, pack TEMPLATE,LIST, package NAMESPACE, pipe
387 READHANDLE,WRITEHANDLE, pop ARRAY, pop, pos SCALAR, pos, print FILEHANDLE
388 LIST, print LIST, print, printf FILEHANDLE FORMAT, LIST, printf FORMAT,
389 LIST, prototype FUNCTION, push ARRAY,LIST, q/STRING/, qq/STRING/,
390 qx/STRING/, qw/STRING/, quotemeta EXPR, quotemeta, rand EXPR, rand, read
391 FILEHANDLE,SCALAR,LENGTH,OFFSET, read FILEHANDLE,SCALAR,LENGTH, readdir
392 DIRHANDLE, readlink EXPR, readlink, recv SOCKET,SCALAR,LEN,FLAGS, redo
393 LABEL, redo, ref EXPR, ref, rename OLDNAME,NEWNAME, require EXPR, require,
394 reset EXPR, reset, return LIST, reverse LIST, rewinddir DIRHANDLE, rindex
395 STR,SUBSTR,POSITION, rindex STR,SUBSTR, rmdir FILENAME, rmdir, s///, scalar
396 EXPR, seek FILEHANDLE,POSITION,WHENCE, seekdir DIRHANDLE,POS, select
397 FILEHANDLE, select, select RBITS,WBITS,EBITS,TIMEOUT, semctl
398 ID,SEMNUM,CMD,ARG, semget KEY,NSEMS,FLAGS, semop KEY,OPSTRING, send
399 SOCKET,MSG,FLAGS,TO, send SOCKET,MSG,FLAGS, setpgrp PID,PGRP, setpriority
400 WHICH,WHO,PRIORITY, setsockopt SOCKET,LEVEL,OPTNAME,OPTVAL, shift ARRAY,
401 shift, shmctl ID,CMD,ARG, shmget KEY,SIZE,FLAGS, shmread ID,VAR,POS,SIZE,
402 shmwrite ID,STRING,POS,SIZE, shutdown SOCKET,HOW, sin EXPR, sin, sleep
403 EXPR, sleep, socket SOCKET,DOMAIN,TYPE,PROTOCOL, socketpair
404 SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL, sort SUBNAME LIST, sort BLOCK LIST,
405 sort LIST, splice ARRAY,OFFSET,LENGTH,LIST, splice ARRAY,OFFSET,LENGTH,
406 splice ARRAY,OFFSET, split /PATTERN/,EXPR,LIMIT, split /PATTERN/,EXPR,
407 split /PATTERN/, split, sprintf FORMAT, LIST, sqrt EXPR, sqrt, srand EXPR,
408 srand, stat FILEHANDLE, stat EXPR, stat, study SCALAR, study, sub BLOCK,
409 sub NAME, sub NAME BLOCK, substr EXPR,OFFSET,LEN, substr EXPR,OFFSET,
410 symlink OLDFILE,NEWFILE, syscall LIST, sysopen FILEHANDLE,FILENAME,MODE,
411 sysopen FILEHANDLE,FILENAME,MODE,PERMS, sysread
412 FILEHANDLE,SCALAR,LENGTH,OFFSET, sysread FILEHANDLE,SCALAR,LENGTH, system
413 LIST, syswrite FILEHANDLE,SCALAR,LENGTH,OFFSET, syswrite
414 FILEHANDLE,SCALAR,LENGTH, tell FILEHANDLE, tell, telldir DIRHANDLE, tie
415 VARIABLE,CLASSNAME,LIST, tied VARIABLE, time, times, tr///, truncate
416 FILEHANDLE,LENGTH, truncate EXPR,LENGTH, uc EXPR, uc, ucfirst EXPR,
417 ucfirst, umask EXPR, umask, undef EXPR, undef, unlink LIST, unlink, unpack
418 TEMPLATE,EXPR, untie VARIABLE, unshift ARRAY,LIST, use Module LIST, use
419 Module, use Module VERSION LIST, use VERSION, utime LIST, values HASH, vec
420 EXPR,OFFSET,BITS, wait, waitpid PID,FLAGS, wantarray, warn LIST, write
421 FILEHANDLE, write EXPR, write, y///
425 =head2 perlvar - Perl predefined variables
431 =item Predefined Names
433 $ARG, $_, $E<lt>I<digit>E<gt>, $MATCH, $&, $PREMATCH, $`, $POSTMATCH, $',
434 $LAST_PAREN_MATCH, $+, $MULTILINE_MATCHING, $*, input_line_number HANDLE
435 EXPR, $INPUT_LINE_NUMBER, $NR, $, input_record_separator HANDLE EXPR,
436 $INPUT_RECORD_SEPARATOR, $RS, $/, autoflush HANDLE EXPR, $OUTPUT_AUTOFLUSH,
437 $|, output_field_separator HANDLE EXPR, $OUTPUT_FIELD_SEPARATOR, $OFS, $,,
438 output_record_separator HANDLE EXPR, $OUTPUT_RECORD_SEPARATOR, $ORS, $\,
439 $LIST_SEPARATOR, $", $SUBSCRIPT_SEPARATOR, $SUBSEP, $;, $OFMT, $#,
440 format_page_number HANDLE EXPR, $FORMAT_PAGE_NUMBER, $%,
441 format_lines_per_page HANDLE EXPR, $FORMAT_LINES_PER_PAGE, $=,
442 format_lines_left HANDLE EXPR, $FORMAT_LINES_LEFT, $-, format_name HANDLE
443 EXPR, $FORMAT_NAME, $~, format_top_name HANDLE EXPR, $FORMAT_TOP_NAME, $^,
444 format_line_break_characters HANDLE EXPR, $FORMAT_LINE_BREAK_CHARACTERS,
445 $:, format_formfeed HANDLE EXPR, $FORMAT_FORMFEED, $^L, $ACCUMULATOR, $^A,
446 $CHILD_ERROR, $?, $OS_ERROR, $ERRNO, $!, $EXTENDED_OS_ERROR, $^E,
447 $EVAL_ERROR, $@, $PROCESS_ID, $PID, $$, $REAL_USER_ID, $UID, $<,
448 $EFFECTIVE_USER_ID, $EUID, $>, $REAL_GROUP_ID, $GID, $(,
449 $EFFECTIVE_GROUP_ID, $EGID, $), $PROGRAM_NAME, $0, $[, $PERL_VERSION, $],
450 $DEBUGGING, $^D, $SYSTEM_FD_MAX, $^F, $^H, $INPLACE_EDIT, $^I, $OSNAME,
451 $^O, $PERLDB, $^P, $BASETIME, $^T, $WARNING, $^W, $EXECUTABLE_NAME, $^X,
452 $ARGV, @ARGV, @INC, %INC, $ENV{expr}, $SIG{expr}
456 =head2 perlsub - Perl subroutines
464 =item Private Variables via my()
466 =item Temporary Values via local()
468 =item Passing Symbol Table Entries (typeglobs)
470 =item Pass by Reference
474 =item Constant Functions
476 =item Overriding Builtin Functions
484 =head2 perlmod - Perl modules (packages)
494 =item Package Constructors and Destructors
504 =item THE PERL MODULE LIBRARY
508 =item Pragmatic Modules
510 blib, diagnostics, integer, less, lib, locale, ops, overload, sigtrap,
511 strict, subs, vmsish, vars
513 =item Standard Modules
515 AnyDBM_File, AutoLoader, AutoSplit, Benchmark, CPAN, CPAN::FirstTime,
516 CPAN::Nox, Carp, Class::Template, Config, Cwd, DB_File, Devel::SelfStubber,
517 DirHandle, DynaLoader, English, Env, Exporter, ExtUtils::Embed,
518 ExtUtils::Install, ExtUtils::Liblist, ExtUtils::MM_OS2, ExtUtils::MM_Unix,
519 ExtUtils::MM_VMS, ExtUtils::MakeMaker, ExtUtils::Manifest,
520 ExtUtils::Mkbootstrap, ExtUtils::Mksymlists, ExtUtils::testlib, Fcntl,
521 File::Basename, File::CheckTree, File::Compare, File::Copy, File::Find,
522 File::Path, File::stat, FileCache, FileHandle, FindBin, GDBM_File,
523 Getopt::Long, Getopt::Std, I18N::Collate, IO, IO::File, IO::Handle,
524 IO::Pipe, IO::Seekable, IO::Select, IO::Socket, IPC::Open2, IPC::Open3,
525 Math::BigFloat, Math::BigInt, Math::Complex, NDBM_File, Net::Ping,
526 Net::hostent, Net::netent, Net::protoent, Net::servent, Opcode, Pod::Text,
527 POSIX, SDBM_File, Safe, Search::Dict, SelectSaver, SelfLoader, Shell,
528 Socket, Symbol, Sys::Hostname, Sys::Syslog, Term::Cap, Term::Complete,
529 Term::ReadLine, Test::Harness, Text::Abbrev, Text::ParseWords,
530 Text::Soundex, Text::Tabs, Text::Wrap, Tie::Hash, Tie::RefHash,
531 Tie::Scalar, Tie::SubstrHash, Time::Local, Time::gmtime, Time::localtime,
532 Time::tm, UNIVERSAL, User::grent, User::pwent
534 =item Extension Modules
540 Language Extensions and Documentation Tools, Development Support, Operating
541 System Interfaces, Networking, Device Control (modems) and InterProcess
542 Communication, Data Types and Data Type Utilities, Database Interfaces,
543 User Interfaces, Interfaces to / Emulations of Other Programming Languages,
544 File Names, File Systems and File Locking (see also File Handles), String
545 Processing, Language Text Processing, Parsing, and Searching, Option,
546 Argument, Parameter, and Configuration File Processing,
547 Internationalization and Locale, Authentication, Security, and Encryption,
548 World Wide Web, HTML, HTTP, CGI, MIME, Server and Daemon Utilities,
549 Archiving and Compression, Images, Pixmap and Bitmap Manipulation, Drawing,
550 and Graphing, Mail and Usenet News, Control Flow Utilities (callbacks and
551 exceptions etc), File Handle and Input/Output Stream Utilities,
552 Miscellaneous Modules, Africa, Asia, Australasia, Europe, North America,
555 =item Modules: Creation, Use, and Abuse
559 =item Guidelines for Module Creation
561 Do similar modules already exist in some form?, Try to design the new
562 module to be easy to extend and reuse, Some simple style guidelines, Select
563 what to export, Select a name for the module, Have you got it right?,
564 README and other Additional Files, A description of the
565 module/package/extension etc, A copyright notice - see below, Prerequisites
566 - what else you may need to have, How to build it - possible changes to
567 Makefile.PL etc, How to install it, Recent changes in this release,
568 especially incompatibilities, Changes / enhancements you plan to make in
569 the future, Adding a Copyright Notice, Give the module a
570 version/issue/release number, How to release and distribute a module, Take
571 care when changing a released module
573 =item Guidelines for Converting Perl 4 Library Scripts into Modules
575 There is no requirement to convert anything, Consider the implications,
576 Make the most of the opportunity, The pl2pm utility will get you started,
577 Adds the standard Module prologue lines, Converts package specifiers from '
578 to ::, Converts die(...) to croak(...), Several other minor changes
580 =item Guidelines for Reusing Application Code
582 Complete applications rarely belong in the Perl Module Library, Many
583 applications contain some perl code which could be reused, Break-out the
584 reusable code into one or more separate module files, Take the opportunity
585 to reconsider and redesign the interfaces, In some cases the 'application'
586 can then be reduced to a small
590 =head2 perlform - Perl formats
596 =item Format Variables
606 =item Accessing Formatting Internals
612 =head2 perllocale - Perl locale handling (internationalization and
617 =item PREPARING TO USE LOCALES
623 =item The use locale pragma
625 =item The setlocale function
627 =item The localeconv function
631 =item LOCALE CATEGORIES
635 =item Category LC_COLLATE: Collation
637 =item Category LC_CTYPE: Character Types
639 =item Category LC_NUMERIC: Numeric Formatting
641 =item Category LC_MONETARY: Formatting of monetary amounts
645 =item Other categories
651 B<Comparison operators> (C<lt>, C<le>, C<ge>, C<gt> and C<cmp>):,
652 B<Case-mapping interpolation> (with C<\l>, C<\L>, C<\u> or <\U>),
653 B<Matching operator> (C<m//>):, B<Substitution operator> (C<s///>):,
654 B<In-memory formatting function> (sprintf()):, B<Output formatting
655 functions> (printf() and write()):, B<Case-mapping functions> (lc(),
656 lcfirst(), uc(), ucfirst()):, B<POSIX locale-dependent functions>
657 (localeconv(), strcoll(),strftime(), strxfrm()):, B<POSIX character class
658 tests> (isalnum(), isalpha(), isdigit(),isgraph(), islower(), isprint(),
659 ispunct(), isspace(), isupper(),
664 PERL_BADLANG, LC_ALL, LC_CTYPE, LC_COLLATE, LC_MONETARY, LC_NUMERIC,
671 =item Backward compatibility
673 =item I18N:Collate obsolete
675 =item Sort speed and memory use impacts
677 =item write() and LC_NUMERIC
679 =item Freely available locale definitions
683 =item An imperfect standard
699 =head2 perlref - Perl references and nested data structures
705 =item Symbolic references
707 =item Not-so-symbolic references
715 =head2 perldsc - Perl Data Structures Cookbook
719 arrays of arrays, hashes of arrays, arrays of hashes, hashes of hashes,
720 more elaborate constructs
724 =item COMMON MISTAKES
726 =item CAVEAT ON PRECEDENCE
728 =item WHY YOU SHOULD ALWAYS C<use strict>
738 =item Declaration of a LIST OF LISTS
740 =item Generation of a LIST OF LISTS
742 =item Access and Printing of a LIST OF LISTS
746 =item HASHES OF LISTS
750 =item Declaration of a HASH OF LISTS
752 =item Generation of a HASH OF LISTS
754 =item Access and Printing of a HASH OF LISTS
758 =item LISTS OF HASHES
762 =item Declaration of a LIST OF HASHES
764 =item Generation of a LIST OF HASHES
766 =item Access and Printing of a LIST OF HASHES
770 =item HASHES OF HASHES
774 =item Declaration of a HASH OF HASHES
776 =item Generation of a HASH OF HASHES
778 =item Access and Printing of a HASH OF HASHES
782 =item MORE ELABORATE RECORDS
786 =item Declaration of MORE ELABORATE RECORDS
788 =item Declaration of a HASH OF COMPLEX RECORDS
790 =item Generation of a HASH OF COMPLEX RECORDS
800 =head2 perllol, perlLoL - Manipulating Lists of Lists in Perl
804 =item Declaration and Access of Lists of Lists
806 =item Growing Your Own
808 =item Access and Printing
816 =head2 perltoot - Tom's object-oriented tutorial for perl
820 =item Creating a Class
824 =item Object Representation
826 =item Class Interface
828 =item Constructors and Instance Methods
830 =item Planning for the Future: Better Constructors
834 =item Other Object Methods
842 =item Accessing Class Data
844 =item Debugging Methods
846 =item Class Destructors
848 =item Documenting the Interface
858 =item Overridden Methods
860 =item Multiple Inheritance
862 =item UNIVERSAL: The Root of All Objects
866 =item Alternate Object Representations
870 =item Arrays as Objects
872 =item Closures as Objects
876 =item AUTOLOAD: Proxy Methods
880 =item Autoloaded Data Methods
882 =item Inherited Autoloaded Data Methods
886 =item Metaclassical Tools
890 =item Class::Template
892 =item Data Members as Variables
896 =item Object Terminology
906 =item Acknowledgments
910 =head2 perlobj - Perl objects
916 =item An Object is Simply a Reference
918 =item A Class is Simply a Package
920 =item A Method is Simply a Subroutine
922 =item Method Invocation
924 =item Default UNIVERSAL methods
926 isa(CLASS), can(METHOD), VERSION( [NEED] )
934 =item Two-Phased Garbage Collection
940 =head2 perltie - how to hide an object class in a simple variable
950 TIESCALAR classname, LIST, FETCH this, STORE this, value, DESTROY this
954 TIEARRAY classname, LIST, FETCH this, index, STORE this, index, value,
959 USER, HOME, CLOBBER, LIST, TIEHASH classname, LIST, FETCH this, key, STORE
960 this, key, value, DELETE this, key, CLEAR this, EXISTS this, key, FIRSTKEY
961 this, NEXTKEY this, lastkey, DESTROY this
963 =item Tying FileHandles
965 TIEHANDLE classname, LIST, PRINT this, LIST, READLINE this, DESTROY this
967 =item The C<untie> Gotcha
977 =head2 perlbot - Bag'o Object Tricks (the BOT)
981 =item OO SCALING TIPS
983 =item INSTANCE VARIABLES
985 =item SCALAR INSTANCE VARIABLES
987 =item INSTANCE VARIABLE INHERITANCE
989 =item OBJECT RELATIONSHIPS
991 =item OVERRIDING SUPERCLASS METHODS
993 =item USING RELATIONSHIP WITH SDBM
995 =item THINKING OF CODE REUSE
997 =item CLASS CONTEXT AND THE OBJECT
999 =item INHERITING A CONSTRUCTOR
1003 =head2 perlipc - Perl interprocess communication (signals, fifos, pipes,
1004 safe subprocesses, sockets, and semaphores)
1012 =item Using open() for IPC
1016 =item Safe Pipe Opens
1018 =item Bidirectional Communication
1022 =item Sockets: Client/Server Communication
1026 =item Internet TCP Clients and Servers
1028 =item Unix-Domain TCP Clients and Servers
1030 =item UDP: Message Passing
1046 =head2 perldebug - Perl debugging
1050 =item The Perl Debugger
1054 =item Debugger Commands
1056 h [command], p expr, x expr, V [pkg [vars]], X [vars], T, s [expr], n
1057 [expr], E<lt>CRE<gt>, c [line|sub], l, l min+incr, l min-max, l line, l
1058 subname, -, w [line], f filename, /pattern/, ?pattern?, L, S [[!]pattern],
1059 t, t expr, b [line] [condition], b subname [condition], b postpone subname
1060 [condition], b load filename, b compile subname, d [line], D, a [line]
1061 command, A, O [opt[=val]] [opt"val"] [opt?].., C<recallCommand>,
1062 C<ShellBang>, C<pager>, C<tkRunning>, C<signalLevel>, C<warnLevel>,
1063 C<dieLevel>, C<AutoTrace>, C<LineInfo>, C<inhibit_exit>, C<PrintRet>,
1064 C<frame>, C<maxTraceLen>, C<arrayDepth>, C<hashDepth>, C<compactDump>,
1065 C<veryCompact>, C<globPrint>, C<DumpDBFiles>, C<DumpPackages>, C<quote>,
1066 C<HighBit>, C<undefPrint>, C<UsageOnly>, C<TTY>, C<noTTY>, C<ReadLine>,
1067 C<NonStop>, E<lt> [ command ], E<lt>E<lt> command, E<gt> command,
1068 E<gt>E<gt> command, { [ command ], {{ command, ! number, ! -number, !
1069 pattern, !! cmd, H -number, q or ^D, R, |dbcmd, ||dbcmd, = [alias value],
1070 command, m expr, m package
1072 =item Debugger input/output
1074 Prompt, Multi-line commands, Stack backtrace, Listing, Frame listing
1076 =item Debugging compile-time statements
1078 =item Debugger Customization
1080 =item Readline Support
1082 =item Editor Support for Debugging
1084 =item The Perl Profiler
1086 =item Debugger support in perl
1088 =item Debugger Internals
1090 =item Other resources
1096 =head2 perldiag - various Perl diagnostics
1100 =head2 perlsec - Perl security
1106 =item Laundering and Detecting Tainted Data
1108 =item Switches On the "#!" Line
1110 =item Cleaning Up Your Path
1116 =head2 perltrap - Perl traps for the unwary
1132 =item Perl4 to Perl5 Traps
1134 Discontinuance, Deprecation, and BugFix traps, Parsing Traps, Numerical
1135 Traps, General data type traps, Context Traps - scalar, list contexts,
1136 Precedence Traps, General Regular Expression Traps using s///, etc,
1137 Subroutine, Signal, Sorting Traps, OS Traps, DBM Traps, Unclassified Traps
1139 =item Discontinuance, Deprecation, and BugFix traps
1141 Discontinuance, Deprecation, BugFix, Discontinuance, Discontinuance,
1142 Discontinuance, BugFix, Discontinuance, Discontinuance, BugFix,
1143 Discontinuance, Deprecation, Discontinuance
1147 Parsing, Parsing, Parsing
1149 =item Numerical Traps
1151 Numerical, Numerical, Numerical
1153 =item General data type traps
1155 (Arrays), (Arrays), (Hashes), (Globs), (Scalar String), (Constants),
1156 (Scalars), (Variable Suicide)
1158 =item Context Traps - scalar, list contexts
1160 (list context), (scalar context), (scalar context), (list, builtin)
1162 =item Precedence Traps
1164 Precedence, Precedence, Precedence, Precedence, Precedence, Precedence,
1167 =item General Regular Expression Traps using s///, etc.
1169 Regular Expression, Regular Expression, Regular Expression, Regular
1170 Expression, Regular Expression, Regular Expression, Regular Expression,
1173 =item Subroutine, Signal, Sorting Traps
1175 Subroutine calls provide lvalue context to arguments, (Signals), (Sort
1176 Subroutine), warn() won't let you specify a filehandle
1182 =item Interpolation Traps
1184 Interpolation, Interpolation, Interpolation, Interpolation, Interpolation,
1185 Interpolation, Interpolation, Interpolation, Interpolation
1191 =item Unclassified Traps
1197 =head2 perlstyle - Perl style guide
1201 =head2 perlpod - plain old documentation
1205 =item Embedding Pods in Perl Modules
1207 =item Common Pod Pitfalls
1213 =head2 perlbook - Perl book information
1217 =head2 perlembed - how to embed perl in your C program
1225 B<Use C from Perl?>, B<Use a UNIX program from Perl?>, B<Use Perl from
1226 Perl?>, B<Use C from C?>, B<Use Perl from C?>
1230 =item Compiling your C program
1232 =item Adding a Perl interpreter to your C program
1234 =item Calling a Perl subroutine from your C program
1236 =item Evaluating a Perl statement from your C program
1238 =item Performing Perl pattern matches and substitutions from your C program
1240 =item Fiddling with the Perl stack from your C program
1242 =item Maintaining a persistent interpreter
1244 =item Maintaining multiple interpreter instances
1246 =item Using Perl modules, which themselves use C libraries, from your C
1257 =head2 perlapio - perl's IO abstraction interface.
1263 B<PerlIO *>, B<PerlIO_stdin()>, B<PerlIO_stdout()>, B<PerlIO_stderr()>,
1264 B<PerlIO_open(path, mode)>, B<PerlIO_fdopen(fd,mode)>,
1265 B<PerlIO_printf(f,fmt,...)>, B<PerlIO_vprintf(f,fmt,a)>,
1266 B<PerlIO_stdoutf(fmt,...)>, B<PerlIO_read(f,buf,count)>,
1267 B<PerlIO_write(f,buf,count)>, B<PerlIO_close(f)>, B<PerlIO_puts(s,f)>,
1268 B<PerlIO_putc(c,f)>, B<PerlIO_ungetc(c,f)>, B<PerlIO_getc(f)>,
1269 B<PerlIO_eof(f)>, B<PerlIO_error(f)>, B<PerlIO_fileno(f)>,
1270 B<PerlIO_clearerr(f)>, B<PerlIO_flush(f)>, B<PerlIO_tell(f)>,
1271 B<PerlIO_seek(f,o,w)>, B<PerlIO_getpos(f,p)>, B<PerlIO_setpos(f,p)>,
1272 B<PerlIO_rewind(f)>, B<PerlIO_tmpfile()>
1276 =item Co-existence with stdio
1278 B<PerlIO_importFILE(f,flags)>, B<PerlIO_exportFILE(f,flags)>,
1279 B<PerlIO_findFILE(f)>, B<PerlIO_releaseFILE(p,f)>, B<PerlIO_setlinebuf(f)>,
1280 B<PerlIO_has_cntptr(f)>, B<PerlIO_get_ptr(f)>, B<PerlIO_get_cnt(f)>,
1281 B<PerlIO_canset_cnt(f)>, B<PerlIO_fast_gets(f)>,
1282 B<PerlIO_set_ptrcnt(f,p,c)>, B<PerlIO_set_cnt(f,c)>, B<PerlIO_has_base(f)>,
1283 B<PerlIO_get_base(f)>, B<PerlIO_get_bufsiz(f)>
1287 =head2 perlxs - XS language reference manual
1297 =item The Anatomy of an XSUB
1299 =item The Argument Stack
1301 =item The RETVAL Variable
1303 =item The MODULE Keyword
1305 =item The PACKAGE Keyword
1307 =item The PREFIX Keyword
1309 =item The OUTPUT: Keyword
1311 =item The CODE: Keyword
1313 =item The INIT: Keyword
1315 =item The NO_INIT Keyword
1317 =item Initializing Function Parameters
1319 =item Default Parameter Values
1321 =item The PREINIT: Keyword
1323 =item The SCOPE: Keyword
1325 =item The INPUT: Keyword
1327 =item Variable-length Parameter Lists
1329 =item The PPCODE: Keyword
1331 =item Returning Undef And Empty Lists
1333 =item The REQUIRE: Keyword
1335 =item The CLEANUP: Keyword
1337 =item The BOOT: Keyword
1339 =item The VERSIONCHECK: Keyword
1341 =item The PROTOTYPES: Keyword
1343 =item The PROTOTYPE: Keyword
1345 =item The ALIAS: Keyword
1347 =item The INCLUDE: Keyword
1349 =item The CASE: Keyword
1351 =item The & Unary Operator
1353 =item Inserting Comments and C Preprocessor Directives
1355 =item Using XS With C++
1357 =item Interface Strategy
1359 =item Perl Objects And C Structures
1371 =head2 perlxstut, perlXStut - Tutorial for XSUBs
1377 =item VERSION CAVEAT
1379 =item DYNAMIC VERSUS STATIC
1385 =item WHAT HAS GONE ON?
1387 =item WRITING GOOD TEST SCRIPTS
1391 =item WHAT'S NEW HERE?
1393 =item INPUT AND OUTPUT PARAMETERS
1395 =item THE XSUBPP COMPILER
1397 =item THE TYPEMAP FILE
1403 =item WHAT HAS HAPPENED HERE?
1405 =item SPECIFYING ARGUMENTS TO XSUBPP
1407 =item THE ARGUMENT STACK
1409 =item EXTENDING YOUR EXTENSION
1411 =item DOCUMENTING YOUR EXTENSION
1413 =item INSTALLING YOUR EXTENSION
1423 =head2 perlguts - Perl's Internal Functions
1433 =item What is an "IV"?
1435 =item Working with SV's
1437 =item What's Really Stored in an SV?
1439 =item Working with AV's
1441 =item Working with HV's
1443 =item Hash API Extensions
1447 =item Blessed References and Class Objects
1449 =item Creating New Variables
1451 =item Reference Counts and Mortality
1453 =item Stashes and Globs
1455 =item Double-Typed SV's
1457 =item Magic Variables
1459 =item Assigning Magic
1461 =item Magic Virtual Tables
1471 =item XSUB's and the Argument Stack
1473 =item Calling Perl Routines from within C Programs
1475 =item Memory Allocation
1479 =item Putting a C value on Perl stack
1483 =item Scratchpads and recursions
1493 =item Examining the tree
1495 =item Compile pass 1: check routines
1497 =item Compile pass 1a: constant folding
1499 =item Compile pass 2: context propagation
1501 =item Compile pass 3: peephole optimization
1507 AvFILL, av_clear, av_extend, av_fetch, av_len, av_make, av_pop, av_push,
1508 av_shift, av_store, av_undef, av_unshift, CLASS, Copy, croak, CvSTASH,
1509 DBsingle, DBsub, DBtrace, dMARK, dORIGMARK, dowarn, dSP, dXSARGS, dXSI32,
1510 dXSI32, ENTER, EXTEND, FREETMPS, G_ARRAY, G_DISCARD, G_EVAL, GIMME,
1511 G_NOARGS, G_SCALAR, gv_fetchmeth, gv_fetchmethod, gv_stashpv, gv_stashsv,
1512 GvSV, he_delayfree, HEf_SVKEY, he_free, HeHASH, HeKEY, HeKLEN, HePV,
1513 HeSVKEY, HeSVKEY_force, HeSVKEY_set, HeVAL, hv_clear, hv_delete,
1514 hv_delete_ent, hv_exists, hv_exists_ent, hv_fetch, hv_fetch_ent,
1515 hv_iterinit, hv_iterkey, hv_iterkeysv
1516 Returns the key as an C<SV*> from the current position of the hash
1517 iterator. The return value will always be a mortal copy of the
1518 key. Also see C<hv_iterinit>, hv_iternext, hv_iternextsv, hv_iterval,
1519 hv_magic, HvNAME, hv_store, hv_store_ent, hv_undef, isALNUM, isALPHA,
1520 isDIGIT, isLOWER, isSPACE, isUPPER, items, ix, LEAVE, MARK, mg_clear,
1521 mg_copy, mg_find, mg_free, mg_get, mg_len, mg_magical, mg_set, Move, na,
1522 New, Newc, Newz, newAV, newHV, newRV_inc, newRV_noinc, newSV, newSViv,
1523 newSVnv, newSVpv, newSVrv, newSVsv, newXS, newXSproto, Nullav, Nullch,
1524 Nullcv, Nullhv, Nullsv, ORIGMARK, perl_alloc, perl_call_argv,
1525 perl_call_method, perl_call_pv, perl_call_sv, perl_construct,
1526 perl_destruct, perl_eval_sv, perl_free, perl_get_av, perl_get_cv,
1527 perl_get_hv, perl_get_sv, perl_parse, perl_require_pv, perl_run, POPi,
1528 POPl, POPp, POPn, POPs, PUSHMARK, PUSHi, PUSHn, PUSHp, PUSHs, PUTBACK,
1529 Renew, Renewc, RETVAL, safefree, safemalloc, saferealloc, savepv, savepvn,
1530 SAVETMPS, SP, SPAGAIN, ST, strEQ, strGE, strGT, strLE, strLT, strNE,
1531 strnEQ, strnNE, sv_2mortal, sv_bless, sv_catpv, sv_catpvn, sv_catsv,
1532 sv_cmp, sv_cmp, SvCUR, SvCUR_set, sv_dec, sv_dec, SvEND, sv_eq, SvGROW,
1533 sv_grow, sv_inc, SvIOK, SvIOK_off, SvIOK_on, SvIOK_only, SvIOK_only,
1534 SvIOKp, sv_isa, SvIV, sv_isobject, SvIVX, SvLEN, sv_len, sv_len, sv_magic,
1535 sv_mortalcopy, SvOK, sv_newmortal, sv_no, SvNIOK, SvNIOK_off, SvNIOKp,
1536 SvNOK, SvNOK_off, SvNOK_on, SvNOK_only, SvNOK_only, SvNOKp, SvNV, SvNVX,
1537 SvPOK, SvPOK_off, SvPOK_on, SvPOK_only, SvPOK_only, SvPOKp, SvPV, SvPVX,
1538 SvREFCNT, SvREFCNT_dec, SvREFCNT_inc, SvROK, SvROK_off, SvROK_on, SvRV,
1539 sv_setiv, sv_setnv, sv_setpv, sv_setpvn, sv_setref_iv, sv_setref_nv,
1540 sv_setref_pv, sv_setref_pvn, sv_setsv, SvSTASH, SVt_IV, SVt_PV, SVt_PVAV,
1541 SVt_PVCV, SVt_PVHV, SVt_PVMG, SVt_NV, SvTRUE, SvTYPE, svtype, SvUPGRADE,
1542 sv_upgrade, sv_undef, sv_unref, sv_usepvn, sv_yes, THIS, toLOWER, toUPPER,
1543 warn, XPUSHi, XPUSHn, XPUSHp, XPUSHs, XS, XSRETURN, XSRETURN_EMPTY,
1544 XSRETURN_IV, XSRETURN_NO, XSRETURN_NV, XSRETURN_PV, XSRETURN_UNDEF,
1545 XSRETURN_YES, XST_mIV, XST_mNV, XST_mNO, XST_mPV, XST_mUNDEF, XST_mYES,
1546 XS_VERSION, XS_VERSION_BOOTCHECK, Zero
1552 =head2 perlcall - Perl calling conventions from C
1556 An Error Handler, An Event Driven Program
1558 =item THE PERL_CALL FUNCTIONS
1560 B<perl_call_sv>, B<perl_call_pv>, B<perl_call_method>, B<perl_call_argv>
1578 =item Determining the Context
1582 =item KNOWN PROBLEMS
1588 =item No Parameters, Nothing returned
1590 =item Passing Parameters
1592 =item Returning a Scalar
1594 =item Returning a list of values
1596 =item Returning a list in a scalar context
1598 =item Returning Data from Perl via the parameter list
1602 =item Using G_KEEPERR
1604 =item Using perl_call_sv
1606 =item Using perl_call_argv
1608 =item Using perl_call_method
1612 =item Using Perl to dispose of temporaries
1614 =item Strategies for storing Callback Context Information
1616 1. Ignore the problem - Allow only 1 callback, 2. Create a sequence of
1617 callbacks - hard wired limit, 3. Use a parameter to map to the Perl
1620 =item Alternate Stack Manipulation
1630 =head1 PRAGMA DOCUMENTATION
1632 =head2 blib - Use MakeMaker's uninstalled version of a package
1642 =head2 diagnostics - Perl compiler pragma to force verbose warning
1651 =item The C<diagnostics> Pragma
1653 =item The I<splain> Program
1665 =head2 integer - Perl pragma to compute arithmetic in integer instead of
1672 =head2 less - perl pragma to request less of something from the compiler
1678 =head2 lib - manipulate @INC at compile time
1686 =item ADDING DIRECTORIES TO @INC
1688 =item DELETING DIRECTORIES FROM @INC
1690 =item RESTORING ORIGINAL @INC
1698 =head2 locale - Perl pragma to use and avoid POSIX locales for built-in
1705 =head2 ops - Perl pragma to restrict unsafe operations when compiling
1713 =head2 overload - Package for overloading perl operations
1717 =item CAVEAT SCRIPTOR
1723 =item Declaration of overloaded functions
1725 =item Calling Conventions for Binary Operations
1727 FALSE, TRUE, C<undef>
1729 =item Calling Conventions for Unary Operations
1731 =item Overloadable Operations
1733 I<Arithmetic operations>, I<Comparison operations>, I<Bit operations>,
1734 I<Increment and decrement>, I<Transcendental functions>, I<Boolean, string
1735 and numeric conversion>, I<Special>
1737 =item Inheritance and overloading
1739 Strings as values of C<use overload> directive, Overloading of an operation
1740 is inherited by derived classes
1744 =item SPECIAL SYMBOLS FOR C<use overload>
1752 C<undef>, TRUE, defined, but FALSE
1754 =item Copy Constructor
1760 =item MAGIC AUTOGENERATION
1762 I<Assignment forms of arithmetic operations>, I<Conversion operations>,
1763 I<Increment and decrement>, C<abs($a)>, I<Unary minus>, I<Negation>,
1764 I<Concatenation>, I<Comparison operations>, I<Copy operator>
1768 =item Run-time Overloading
1770 =item Public functions
1772 overload::StrVal(arg), overload::Overloaded(arg), overload::Method(obj,op)
1774 =item IMPLEMENTATION
1782 =head2 sigtrap - Perl pragma to enable simple signal handling
1792 =item SIGNAL HANDLERS
1794 B<stack-trace>, B<die>, B<handler> I<your-handler>
1798 B<normal-signals>, B<error-signals>, B<old-interface-signals>
1802 B<untrapped>, B<any>, I<signal>, I<number>
1808 =head2 strict - Perl pragma to restrict unsafe constructs
1814 C<strict refs>, C<strict vars>, C<strict subs>
1816 =head2 subs - Perl pragma to predeclare sub names
1822 =head2 vars - Perl pragma to predeclare global variable names
1828 =head1 MODULE DOCUMENTATION
1830 =head2 AnyDBM_File - provide framework for multiple DBMs
1838 =item DBM Comparisons
1846 =head2 AutoLoader - load functions only on demand
1858 =item Package Lexicals
1860 =item AutoLoader vs. SelfLoader
1866 =head2 AutoSplit - split a package for autoloading
1876 =head2 Benchmark - benchmark running times of code
1888 =item Standard Exports
1890 timeit(COUNT, CODE), timethis, timethese, timediff, timestr
1892 =item Optional Exports
1904 =item MODIFICATION HISTORY
1906 =head2 Bundle::CPAN - A bundle to play with all the other modules on CPAN
1916 =head2 CPAN - query, download and build perl modules from CPAN sites
1924 =item Interactive Mode
1926 Searching for authors, bundles, distribution files and modules, make, test,
1927 install, clean modules or distributions, readme, look module or
1936 =item ProgrammerE<39>s interface
1946 =item Floppy, Zip, and all that Jazz
1952 o conf E<lt>scalar optionE<gt>, o conf E<lt>scalar optionE<gt>
1953 E<lt>valueE<gt>, o conf E<lt>list optionE<gt>, o conf E<lt>list optionE<gt>
1954 [shift|pop], o conf E<lt>list optionE<gt> [unshift|push|splice]
1967 =head2 CPAN::FirstTime - Utility for CPAN::Config file Initialization
1973 =head2 CPANox, CPAN::Nox - Wrapper around CPAN.pm without using any XS
1982 =head2 Carp, carp - warn of errors (from perspective of caller)
1988 =head2 Class::Template - struct/member template builder
1996 Example 1, Example 2
2000 =head2 Config - access Perl configuration information
2006 myconfig(), config_sh(), config_vars(@names)
2014 =head2 Cwd, getcwd - get pathname of current working directory
2020 =head2 DB_File - Perl5 access to Berkeley DB
2026 B<DB_HASH>, B<DB_BTREE>, B<DB_RECNO>
2030 =item How does DB_File interface to Berkeley DB?
2032 =item Opening a Berkeley DB Database File
2034 =item Default Parameters
2036 =item In Memory Databases
2044 =item A Simple Example.
2052 =item Changing the BTREE sort order
2054 =item Handling duplicate keys
2056 =item The get_dup method.
2058 =item Matching Partial Keys
2066 =item The bval option
2068 =item A Simple Example
2072 B<$X-E<gt>push(list) ;>, B<$value = $X-E<gt>pop ;>, B<$X-E<gt>shift>,
2073 B<$X-E<gt>unshift(list) ;>, B<$X-E<gt>length>
2075 =item Another Example
2079 =item THE API INTERFACE
2081 B<$status = $X-E<gt>get($key, $value [, $flags]) ;>, B<$status =
2082 $X-E<gt>put($key, $value [, $flags]) ;>, B<$status = $X-E<gt>del($key [,
2083 $flags]) ;>, B<$status = $X-E<gt>fd ;>, B<$status = $X-E<gt>seq($key,
2084 $value, $flags) ;>, B<$status = $X-E<gt>sync([$flags]) ;>
2086 =item HINTS AND TIPS
2090 =item Locking Databases
2092 =item Sharing databases with C applications
2094 =item The untie gotcha
2098 =item COMMON QUESTIONS
2102 =item Why is there Perl source in my database?
2104 =item How do I store complex data structures with DB_File?
2106 =item What does "Invalid Argument" mean?
2108 =item What does "Bareword 'DB_File' not allowed" mean?
2122 =head2 Devel::SelfStubber - generate stubs for a SelfLoading module
2128 =head2 DirHandle - supply object methods for directory handles
2134 =head2 DynaLoader - Dynamically load C libraries into Perl code
2140 @dl_library_path, @dl_resolve_using, @dl_require_symbols, @dl_librefs,
2141 @dl_modules, dl_error(), $dl_debug, dl_findfile(), dl_expandspec(),
2142 dl_load_file(), dl_loadflags(), dl_find_symbol(),
2143 dl_find_symbol_anywhere(), dl_undef_symbols(), dl_install_xsub(),
2148 =head2 English - use nice English (or awk) names for ugly punctuation
2155 =head2 Env - perl module that imports environment variables
2163 =head2 Exporter - Implements default import method for modules
2171 =item Selecting What To Export
2173 =item Specialised Import Lists
2175 =item Module Version Checking
2177 =item Managing Unknown Symbols
2179 =item Tag Handling Utility Functions
2183 =head2 ExtUtils::Embed - Utilities for embedding Perl in C/C++ applications
2193 xsinit(), Examples, ldopts(), Examples, perl_inc(), ccflags(), ccdlflags(),
2194 ccopts(), xsi_header(), xsi_protos(@modules), xsi_body(@modules)
2202 =head2 ExtUtils::Install - install files from here to there
2208 =head2 ExtUtils::Liblist - determine libraries to use and how to use them
2214 For static extensions, For dynamic extensions, For dynamic extensions
2220 =item LDLOADLIBS and LD_RUN_PATH
2230 =item VMS implementation
2236 =head2 ExtUtils::MM_OS2 - methods to override UN*X behaviour in
2243 =head2 ExtUtils::MM_Unix - methods used by ExtUtils::MakeMaker
2253 =item Preloaded methods
2255 canonpath, catdir, catfile, curdir, rootdir, updir
2257 =item SelfLoaded methods
2259 c_o (o), cflags (o), clean (o), const_cccmd (o), const_config (o),
2260 const_loadlibs (o), constants (o), depend (o), dir_target (o), dist (o),
2261 dist_basics (o), dist_ci (o), dist_core (o), dist_dir (o), dist_test (o),
2262 dlsyms (o), dynamic (o), dynamic_bs (o), dynamic_lib (o), exescan,
2263 extliblist, file_name_is_absolute, find_perl
2265 =item Methods to actually produce chunks of text for the Makefile
2267 force (o), guess_name, has_link_code, init_dirscan, init_main, init_others,
2268 install (o), installbin (o), libscan (o), linkext (o), lsdir, macro (o),
2269 makeaperl (o), makefile (o), manifypods (o), maybe_command,
2270 maybe_command_in_dirs, needs_linking (o), nicetext, parse_version, pasthru
2271 (o), path, perl_script, perldepend (o), pm_to_blib, post_constants (o),
2272 post_initialize (o), postamble (o), prefixify, processPL (o), realclean
2273 (o), replace_manpage_separator, static (o), static_lib (o), staticmake (o),
2274 subdir_x (o), subdirs (o), test (o), test_via_harness (o), test_via_script
2275 (o), tool_autosplit (o), tools_other (o), tool_xsubpp (o), top_targets (o),
2276 writedoc, xs_c (o), xs_o (o)
2282 =head2 ExtUtils::MM_VMS - methods to override UN*X behaviour in
2291 =item Methods always loaded
2293 eliminate_macros, fixpath, catdir, catfile, wraplist, curdir (override),
2294 rootdir (override), updir (override)
2296 =item SelfLoaded methods
2298 guess_name (override), find_perl (override), path (override), maybe_command
2299 (override), maybe_command_in_dirs (override), perl_script (override),
2300 file_name_is_absolute (override), replace_manpage_separator, init_others
2301 (override), constants (override), cflags (override), const_cccmd
2302 (override), pm_to_blib (override), tool_autosplit (override), tool_sxubpp
2303 (override), xsubpp_version (override), tools_other (override), dist
2304 (override), c_o (override), xs_c (override), xs_o (override), top_targets
2305 (override), dlsyms (override), dynamic_lib (override), dynamic_bs
2306 (override), static_lib (override), manifypods (override), processPL
2307 (override), installbin (override), subdir_x (override), clean (override),
2308 realclean (override), dist_basics (override), dist_core (override),
2309 dist_dir (override), dist_test (override), install (override), perldepend
2310 (override), makefile (override), test (override), test_via_harness
2311 (override), test_via_script (override), makeaperl (override), nicetext
2316 =head2 ExtUtils::MakeMaker - create an extension Makefile
2324 =item How To Write A Makefile.PL
2326 =item Default Makefile Behaviour
2334 =item PREFIX and LIB attribute
2338 =item Static Linking of a new Perl Binary
2340 =item Determination of Perl Library and Installation Locations
2342 =item Which architecture dependent directory?
2344 =item Using Attributes and Parameters
2346 C, CONFIG, CONFIGURE, DEFINE, DIR, DISTNAME, DL_FUNCS, DL_VARS,
2347 EXCLUDE_EXT, EXE_FILES, NO_VC, FIRST_MAKEFILE, FULLPERL, H, INC,
2348 INCLUDE_EXT, INSTALLARCHLIB, INSTALLBIN, INSTALLDIRS, INSTALLMAN1DIR,
2349 INSTALLMAN3DIR, INSTALLPRIVLIB, INSTALLSCRIPT, INSTALLSITELIB,
2350 INSTALLSITEARCH, INST_ARCHLIB, INST_BIN, INST_EXE, INST_LIB, INST_MAN1DIR,
2351 INST_MAN3DIR, INST_SCRIPT, LDFROM, LIBPERL_A, LIB, LIBS, LINKTYPE,
2352 MAKEAPERL, MAKEFILE, MAN1PODS, MAN3PODS, MAP_TARGET, MYEXTLIB, NAME,
2353 NEEDS_LINKING, NOECHO, NORECURS, OBJECT, OPTIMIZE, PERL, PERLMAINCC,
2354 PERL_ARCHLIB, PERL_LIB, PERL_SRC, PL_FILES, PM, PMLIBDIRS, PREFIX,
2355 PREREQ_PM, SKIP, TYPEMAPS, VERSION, VERSION_FROM, XS, XSOPT, XSPROTOARG,
2358 =item Additional lowercase attributes
2360 clean, depend, dist, dynamic_lib, installpm, linkext, macro, realclean,
2363 =item Overriding MakeMaker Methods
2365 =item Hintsfile support
2367 =item Distribution Support
2369 make distcheck, make skipcheck, make distclean, make manifest,
2370 make distdir, make tardist, make dist, make uutardist, make
2371 shdist, make zipdist, make ci
2379 =head2 ExtUtils::Manifest - utilities to write and check a MANIFEST file
2389 =item GLOBAL VARIABLES
2393 C<Not in MANIFEST:> I<file>, C<No such file:> I<file>, C<MANIFEST:> I<$!>,
2394 C<Added to MANIFEST:> I<file>
2400 =head2 ExtUtils::Miniperl, writemain - write the C code for perlmain.c
2408 =head2 ExtUtils::Mkbootstrap - make a bootstrap file for use by DynaLoader
2414 =head2 ExtUtils::Mksymlists - write linker options files for dynamic
2421 NAME, DL_FUNCS, DL_VARS, FILE, FUNCLIST, DLBASE
2427 =head2 ExtUtils::testlib - add blib/* directories to @INC
2433 =head2 Fcntl - load the C Fcntl.h defines
2441 =item EXPORTED SYMBOLS
2443 =head2 File::Basename, fileparse - split a pathname into pieces
2449 fileparse_set_fstype, fileparse
2453 C<basename>, C<dirname>
2455 =head2 File::CheckTree, validate - run many filetest checks on a tree
2461 =head2 File::Compare - Compare files or filehandles
2471 =head2 File::Copy - Copy files or filehandles
2479 =item Special behavior if C<syscopy> is defined (VMS and OS/2)
2481 rmscopy($from,$to[,$date_flag])
2489 =head2 File::Find, find - traverse a file tree
2495 =head2 File::Path - create or remove a series of directories
2505 =head2 File::stat - by-name interface to Perl's built-in stat() functions
2515 =head2 FileCache - keep more files open than the system permits
2523 =head2 FileHandle - supply object methods for filehandles
2529 $fh->print, $fh->printf, $fh->getline, $fh->getlines
2533 =head2 FindBin - Locate directory of original perl script
2539 =item EXPORTABLE VARIABLES
2549 =head2 GDBM_File - Perl5 access to the gdbm library.
2561 =head2 Getopt::Long, GetOptions - extended processing of command line
2568 E<lt>noneE<gt>, !, =s, :s, =i, :i, =f, :f
2572 =item Linkage specification
2574 =item Aliases and abbreviations
2576 =item Non-option call-back routine
2578 =item Option starters
2588 =item CONFIGURATION OPTIONS
2590 default, auto_abbrev, getopt_compat, require_order, permute, bundling
2591 (default: reset), bundling_override (default: reset), ignore_case
2592 (default: set), ignore_case_always (default: reset), pass_through (default:
2593 reset), debug (default: reset)
2595 =item OTHER USEFUL VARIABLES
2597 $Getopt::Long::VERSION, $Getopt::Long::error
2599 =head2 Getopt::Std, getopt - Process single-character switches with switch
2606 =head2 I18N::Collate - compare 8-bit scalar data according to the current
2613 =head2 IO - load various IO modules
2619 =head2 IO::File - supply object methods for filehandles
2627 new ([ ARGS ] ), new_tmpfile
2631 open( FILENAME [,MODE [,PERMS]] )
2637 =head2 IO::Handle - supply object methods for I/O handles
2645 new (), new_from_fd ( FD, MODE )
2649 $fh->getline, $fh->getlines, $fh->fdopen ( FD, MODE ), $fh->write ( BUF,
2650 LEN [, OFFSET }\] ), $fh->opened, $fh->untaint
2660 =head2 IO::Pipe, IO::pipe - supply object methods for pipes
2668 new ( [READER, WRITER] )
2672 reader ([ARGS]), writer ([ARGS]), handles ()
2680 =head2 IO::Seekable - supply seek based methods for I/O objects
2690 =head2 IO::Select - OO interface to the select system call
2702 add ( HANDLES ), remove ( HANDLES ), exists ( HANDLE ), handles, can_read (
2703 [ TIMEOUT ] ), can_write ( [ TIMEOUT ] ), has_error ( [ TIMEOUT ] ), count
2704 (), bits(), bits(), select ( READ, WRITE, ERROR [, TIMEOUT ] )
2712 =head2 IO::Socket - Object interface to socket communications
2724 accept([PKG]), timeout([VAL]), sockopt(OPT [, VAL]), sockdomain, socktype,
2731 =item IO::Socket::INET
2735 sockaddr (), sockport (), sockhost (), peeraddr (), peerport (), peerhost
2738 =item IO::Socket::UNIX
2742 hostpath(), peerpath()
2752 =head2 IO::lib::IO::File, IO::File - supply object methods for filehandles
2760 new ([ ARGS ] ), new_tmpfile
2764 open( FILENAME [,MODE [,PERMS]] )
2770 =head2 IO::lib::IO::Handle, IO::Handle - supply object methods for I/O
2779 new (), new_from_fd ( FD, MODE )
2783 $fh->getline, $fh->getlines, $fh->fdopen ( FD, MODE ), $fh->write ( BUF,
2784 LEN [, OFFSET }\] ), $fh->opened, $fh->untaint
2794 =head2 IO::lib::IO::Pipe, IO::pipe - supply object methods for pipes
2802 new ( [READER, WRITER] )
2806 reader ([ARGS]), writer ([ARGS]), handles ()
2814 =head2 IO::lib::IO::Seekable, IO::Seekable - supply seek based methods for
2825 =head2 IO::lib::IO::Select, IO::Select - OO interface to the select system
2838 add ( HANDLES ), remove ( HANDLES ), exists ( HANDLE ), handles, can_read (
2839 [ TIMEOUT ] ), can_write ( [ TIMEOUT ] ), has_error ( [ TIMEOUT ] ), count
2840 (), bits(), bits(), select ( READ, WRITE, ERROR [, TIMEOUT ] )
2848 =head2 IO::lib::IO::Socket, IO::Socket - Object interface to socket
2861 accept([PKG]), timeout([VAL]), sockopt(OPT [, VAL]), sockdomain, socktype,
2868 =item IO::Socket::INET
2872 sockaddr (), sockport (), sockhost (), peeraddr (), peerport (), peerhost
2875 =item IO::Socket::UNIX
2879 hostpath(), peerpath()
2889 =head2 IPC::Open2, open2 - open a process for both reading and writing
2899 =head2 IPC::Open3, open3 - open a process for reading, writing, and error
2908 =head2 Math::BigFloat - Arbitrary length float math package
2914 number format, Error returns 'NaN', Division is computed to
2920 =head2 Math::BigInt - Arbitrary size integer math package
2926 Canonical notation, Input, Output
2934 =head2 Math::Complex - complex numbers and associated mathematical
2945 =item STRINGIFICATION
2953 =head2 NDBM_File - Tied access to ndbm files
2959 =head2 Net::Ping - check a remote host for reachability
2969 Net::Ping->new([$proto [, $def_timeout [, $bytes]]]);, $p->ping($host [,
2970 $timeout]);, $p->close();, pingecho($host [, $timeout]);
2978 =head2 Net::hostent - by-name interface to Perl's built-in gethost*()
2991 =head2 Net::netent - by-name interface to Perl's built-in getnet*()
3004 =head2 Net::protoent - by-name interface to Perl's built-in getproto*()
3015 =head2 Net::servent - by-name interface to Perl's built-in getserv*()
3028 =head2 ODBM_File - Tied access to odbm files
3034 =head2 Opcode - Disable named opcodes when compiling perl code
3044 =item Operator Names and Operator Lists
3046 an operator name (opname), an operator tag name (optag), a negated opname
3047 or optag, an operator set (opset)
3049 =item Opcode Functions
3051 opcodes, opset (OP, ...), opset_to_ops (OPSET), opset_to_hex (OPSET),
3052 full_opset, empty_opset, invert_opset (OPSET), verify_opset (OPSET, ...),
3053 define_optag (OPTAG, OPSET), opmask_add (OPSET), opmask, opdesc (OP, ...),
3056 =item Manipulating Opsets
3060 =item Predefined Opcode Tags
3062 :base_core, :base_mem, :base_loop, :base_io, :base_orig, :base_math,
3063 :default, :filesys_read, :sys_db, :browse, :filesys_open, :filesys_write,
3064 :subprocess, :ownprocess, :others, :still_to_be_decided, :dangerous
3070 =head2 Opcode::Safe, Safe - Compile and execute code in restricted
3077 a new namespace, an operator mask
3083 =item RECENT CHANGES
3085 =item Methods in class Safe
3087 permit (OP, ...), permit_only (OP, ...), deny (OP, ...), deny_only (OP,
3088 ...), trap (OP, ...), untrap (OP, ...), share (NAME, ...), share_from
3089 (PACKAGE, ARRAYREF), varglob (VARNAME), reval (STRING), rdo (FILENAME),
3090 root (NAMESPACE), mask (MASK)
3092 =item Some Safety Issues
3094 Memory, CPU, Snooping, Signals, State Changes
3100 =head2 Opcode::ops, ops - Perl pragma to restrict unsafe operations when
3109 =head2 POSIX - Perl interface to IEEE Std 1003.1
3121 _exit, abort, abs, access, acos, alarm, asctime, asin, assert, atan, atan2,
3122 atexit, atof, atoi, atol, bsearch, calloc, ceil, chdir, chmod, chown,
3123 clearerr, clock, close, closedir, cos, cosh, creat, ctermid, ctime,
3124 cuserid, difftime, div, dup, dup2, errno, execl, execle, execlp, execv,
3125 execve, execvp, exit, exp, fabs, fclose, fcntl, fdopen, feof, ferror,
3126 fflush, fgetc, fgetpos, fgets, fileno, floor, fmod, fopen, fork, fpathconf,
3127 fprintf, fputc, fputs, fread, free, freopen, frexp, fscanf, fseek, fsetpos,
3128 fstat, ftell, fwrite, getc, getchar, getcwd, getegid, getenv, geteuid,
3129 getgid, getgrgid, getgrnam, getgroups, getlogin, getpgrp, getpid, getppid,
3130 getpwnam, getpwuid, gets, getuid, gmtime, isalnum, isalpha, isatty,
3131 iscntrl, isdigit, isgraph, islower, isprint, ispunct, isspace, isupper,
3132 isxdigit, kill, labs, ldexp, ldiv, link, localeconv, localtime, log, log10,
3133 longjmp, lseek, malloc, mblen, mbstowcs, mbtowc, memchr, memcmp, memcpy,
3134 memmove, memset, mkdir, mkfifo, mktime, modf, nice, offsetof, open,
3135 opendir, pathconf, pause, perror, pipe, pow, printf, putc, putchar, puts,
3136 qsort, raise, rand, read, readdir, realloc, remove, rename, rewind,
3137 rewinddir, rmdir, scanf, setgid, setjmp, setlocale, setpgid, setsid,
3138 setuid, sigaction, siglongjmp, sigpending, sigprocmask, sigsetjmp,
3139 sigsuspend, sin, sinh, sleep, sprintf, sqrt, srand, sscanf, stat, strcat,
3140 strchr, strcmp, strcoll, strcpy, strcspn, strerror, strftime, strlen,
3141 strncat, strncmp, strncpy, stroul, strpbrk, strrchr, strspn, strstr,
3142 strtod, strtok, strtol, strtoul, strxfrm, sysconf, system, tan, tanh,
3143 tcdrain, tcflow, tcflush, tcgetpgrp, tcsendbreak, tcsetpgrp, time, times,
3144 tmpfile, tmpnam, tolower, toupper, ttyname, tzname, tzset, umask, uname,
3145 ungetc, unlink, utime, vfprintf, vprintf, vsprintf, wait, waitpid,
3146 wcstombs, wctomb, write
3152 =item POSIX::SigAction
3158 new, addset, delset, emptyset, fillset, ismember
3160 =item POSIX::Termios
3162 new, getattr, getcc, getcflag, getiflag, getispeed, getlflag, getoflag,
3163 getospeed, setattr, setcc, setcflag, setiflag, setispeed, setlflag,
3164 setoflag, setospeed, Baud rate values, Terminal interface values, c_cc
3165 field values, c_cflag field values, c_iflag field values, c_lflag field
3166 values, c_oflag field values
3170 =item PATHNAME CONSTANTS
3174 =item POSIX CONSTANTS
3178 =item SYSTEM CONFIGURATION
3236 =head2 Pod::Text - convert POD data to formatted ASCII text
3246 =head2 SDBM_File - Tied access to sdbm files
3252 =head2 Safe - Compile and execute code in restricted compartments
3258 a new namespace, an operator mask
3264 =item RECENT CHANGES
3266 =item Methods in class Safe
3268 permit (OP, ...), permit_only (OP, ...), deny (OP, ...), deny_only (OP,
3269 ...), trap (OP, ...), untrap (OP, ...), share (NAME, ...), share_from
3270 (PACKAGE, ARRAYREF), varglob (VARNAME), reval (STRING), rdo (FILENAME),
3271 root (NAMESPACE), mask (MASK)
3273 =item Some Safety Issues
3275 Memory, CPU, Snooping, Signals, State Changes
3281 =head2 Search::Dict, look - search for key in dictionary file
3287 =head2 SelectSaver - save and restore selected file handle
3293 =head2 SelfLoader - load functions only on demand
3301 =item The __DATA__ token
3303 =item SelfLoader autoloading
3305 =item Autoloading and package lexicals
3307 =item SelfLoader and AutoLoader
3309 =item __DATA__, __END__, and the FOOBAR::DATA filehandle.
3311 =item Classes and inherited methods.
3315 =item Multiple packages and fully qualified subroutine names
3317 =head2 Shell - run shell commands transparently within perl
3325 =head2 Socket, sockaddr_in, sockaddr_un, inet_aton, inet_ntoa - load the C
3326 socket.h defines and structure manipulators
3332 inet_aton HOSTNAME, inet_ntoa IP_ADDRESS, INADDR_ANY, INADDR_BROADCAST,
3333 INADDR_LOOPBACK, INADDR_NONE, sockaddr_in PORT, ADDRESS, sockaddr_in
3334 SOCKADDR_IN, pack_sockaddr_in PORT, IP_ADDRESS, unpack_sockaddr_in
3335 SOCKADDR_IN, sockaddr_un PATHNAME, sockaddr_un SOCKADDR_UN,
3336 pack_sockaddr_un PATH, unpack_sockaddr_un SOCKADDR_UN
3338 =head2 Symbol - manipulate Perl symbols and their names
3344 =head2 Sys::Hostname - Try every conceivable way to get hostname
3352 =head2 Syslog, Sys::Syslog, openlog, closelog, setlogmask, syslog - Perl
3353 interface to the UNIX syslog(3) calls
3359 openlog $ident, $logopt, $facility, syslog $priority, $format, @args,
3360 setlogmask $mask_priority, closelog
3370 =head2 Term::Cap - Perl termcap interface
3378 =head2 Term::Complete - Perl word completion module
3384 E<lt>tabE<gt>Attempts word completion.
3385 Cannot be changed, ^D, ^U, E<lt>delE<gt>, E<lt>bsE<gt>
3393 =head2 Term::ReadLine - Perl interface to various C<readline> packages. If
3394 no real package is found, substitutes stubs instead of basic functions.
3400 =item Minimal set of supported functions
3402 C<ReadLine>, C<new>, C<readline>, C<addhistory>, C<IN>, $C<OUT>,
3403 C<MinLine>, C<findConsole>, Attribs, C<Features>
3405 =item Additional supported functions
3411 =head2 Test::Harness - run perl standard test scripts with statistics
3419 =item The test script output
3427 C<All tests successful.\nFiles=%d, Tests=%d, %s>, C<FAILED tests
3428 %s\n\tFailed %d/%d tests, %.2f%% okay.>, C<Test returned status %d (wstat
3429 %d)>, C<Failed 1 test, %.2f%% okay. %s>, C<Failed %d/%d tests, %.2f%% okay.
3438 =head2 Text::Abbrev, abbrev - create an abbreviation table from a list
3446 =head2 Text::ParseWords - parse text into an array of tokens
3454 =head2 Text::Soundex - Implementation of the Soundex Algorithm as Described
3467 =head2 Text::Tabs -- expand and unexpand tabs per the unix expand(1) and
3478 =head2 Text::Wrap - line wrapping to form simple paragraphs
3490 =head2 Tie::Hash, Tie::StdHash - base class definitions for tied hashes
3496 TIEHASH classname, LIST, STORE this, key, value, FETCH this, key, FIRSTKEY
3497 this, NEXTKEY this, lastkey, EXISTS this, key, DELETE this, key, CLEAR this
3501 =item MORE INFORMATION
3503 =head2 Tie::RefHash - use references as hash keys
3517 =head2 Tie::Scalar, Tie::StdScalar - base class definitions for tied
3524 TIESCALAR classname, LIST, FETCH this, STORE this, value, DESTROY this
3526 =item MORE INFORMATION
3528 =head2 Tie::SubstrHash - Fixed-table-size, fixed-key-length hashing
3536 =head2 Time::Local - efficiently compute time from local and GMT time
3542 =head2 Time::gmtime - by-name interface to Perl's built-in gmtime()
3553 =head2 Time::localtime - by-name interface to Perl's built-in localtime()
3564 =head2 Time::tm - internal object used by Time::gmtime and Time::localtime
3572 =head2 UNIVERSAL - base class for ALL classes (blessed references)
3578 isa ( TYPE ), can ( METHOD ), VERSION ( [ REQUIRE ] ), isa ( REF, TYPE )
3580 =head2 User::grent - by-name interface to Perl's built-in getgr*()
3591 =head2 User::pwent - by-name interface to Perl's built-in getpw*()
3602 =head1 AUXILIARY DOCUMENTATION
3604 Here should be listed all the extra programs' documentation, but they
3605 don't all have manual pages yet:
3627 Larry Wall E<lt>F<larry@wall.org>E<gt>, with the help of oodles