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 Extended Fcntl Module
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, keys as an lvalue, my() in Control Structures,
70 unpack() and pack(), use VERSION, use Module VERSION LIST,
71 prototype(FUNCTION), $_ as Default, C<m//g> does not trigger a pos() reset
72 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] ), class(), is_instance()
79 =item TIEHANDLE Now Supported
81 TIEHANDLE classname, LIST, PRINT this, LIST, READLINE this, DESTROY this,
82 Efficiency Enhancements
88 use blib, use blib 'dir', use locale, use ops
96 =item Module Information Summary
102 =item Overridden Built-ins
106 =item Utility Changes
112 C<void> XSUBs now default to returning nothing
116 =item Documentation Changes
118 L<perldelta>, L<perllocale>, L<perltoot>, L<perlapio>, L<perldebug>,
121 =item New Diagnostics
123 "my" variable %s masks earlier declaration in same scope, %s argument is
124 not a HASH element or slice, Allocation too large: %lx, Allocation too
125 large, Attempt to free non-existent shared string, Attempt to use reference
126 as lvalue in substr, Unsupported function fork, Ill-formed logical name
127 |%s| in prime_env_iter, Can't use bareword ("%s") as %s ref while "strict
128 refs" in use, Constant subroutine %s redefined, Died, Integer overflow in
129 hex number, Integer overflow in octal number, Name "%s::%s" used only once:
130 possible typo, Null picture in formline, Offset outside string, Stub found
131 while resolving method `%s' overloading `%s' in package `%s', Cannot
132 resolve method `%s' overloading `%s' in package `s', Out of memory!, Out of
133 memory during request for %s, Possible attempt to put comments in qw()
134 list, Possible attempt to separate words with commas, Scalar value @%s{%s}
135 better written as $%s{%s}, untie attempted while %d inner references still
136 exist, Value of %s construct can be "0"; test with defined(), Variable "%s"
137 may be unavailable, Variable "%s" will not stay shared, Warning:
138 something's wrong, Got an error from DosAllocMem, Malformed PERLLIB_PREFIX,
139 PERL_SH_DIR too long, Process terminated by SIG%s
147 =head2 perldata - Perl data types
159 =item Scalar value constructors
161 =item List value constructors
163 =item Typeglobs and Filehandles
167 =head2 perlsyn - Perl syntax
175 =item Simple statements
177 =item Compound statements
185 =item Basic BLOCKs and Switch Statements
189 =item PODs: Embedded Documentation
191 =item Plain Old Comments (Not!)
195 =head2 perlop - Perl operators and precedence
203 =item Terms and List Operators (Leftward)
205 =item The Arrow Operator
207 =item Auto-increment and Auto-decrement
211 =item Symbolic Unary Operators
213 =item Binding Operators
215 =item Multiplicative Operators
217 =item Additive Operators
219 =item Shift Operators
221 =item Named Unary Operators
223 =item Relational Operators
225 =item Equality Operators
229 =item Bitwise Or and Exclusive Or
231 =item C-style Logical And
233 =item C-style Logical Or
237 =item Conditional Operator
239 =item Assignment Operators
243 =item List Operators (Rightward)
249 =item Logical or and Exclusive Or
251 =item C Operators Missing From Perl
253 unary &, unary *, (TYPE)
255 =item Quote and Quote-like Operators
257 =item Regexp Quote-Like Operators
259 ?PATTERN?, m/PATTERN/gimosx, /PATTERN/gimosx, q/STRING/, C<'STRING'>,
260 qq/STRING/, "STRING", qx/STRING/, `STRING`, qw/STRING/,
261 s/PATTERN/REPLACEMENT/egimosx, tr/SEARCHLIST/REPLACEMENTLIST/cds,
262 y/SEARCHLIST/REPLACEMENTLIST/cds
266 =item Constant Folding
268 =item Integer Arithmetic
272 =head2 perlre - Perl regular expressions
280 =item Regular Expressions
282 (?#text), (?:regexp), (?=regexp), (?!regexp), (?imsx)
286 =item Version 8 Regular Expressions
288 =item WARNING on \1 vs $1
292 =head2 perlrun - how to execute the Perl interpreter
302 B<-0>[I<digits>], B<-a>, B<-c>, B<-d>, B<-d:>I<foo>, B<-D>I<number>,
303 B<-D>I<list>, B<-e> I<commandline>, B<-F>I<pattern>, B<-h>,
304 B<-i>[I<extension>], B<-I>I<directory>, B<-l>[I<octnum>],
305 B<-m>[B<->]I<module>, B<-M>[B<->]I<module>, B<-M>[B<->]I<'module ...'>,
306 B<-[mM]>[B<->]I<module=arg[,arg]...>, B<-n>, B<-p>, B<-P>, B<-s>, B<-S>,
307 B<-T>, B<-u>, B<-U>, B<-v>, B<-V>, B<-V:>I<name>, B<-w>, B<-x> I<directory>
311 =head2 perlfunc - Perl builtin functions
315 I<THERE IS NO GENERAL RULE FOR CONVERTING A LIST INTO A SCALAR!>
319 =item Perl Functions by Category
321 Functions for SCALARs or strings, Regular expressions and pattern matching,
322 Numeric functions, Functions for real @ARRAYs, Functions for list data,
323 Functions for real %HASHes, Input and output functions, Functions for fixed
324 length data or records, Functions for filehandles, files, or directories,
325 Keywords related to the control flow of your perl program, Keywords related
326 to scoping, Miscellaneous functions, Functions for processes and process
327 groups, Keywords related to perl modules, Keywords related to classes and
328 object-orientedness, Low-level socket functions, System V interprocess
329 communication functions, Fetching user and group info, Fetching network
330 info, Time-related functions, Functions new in perl5, Functions obsoleted
333 =item Alphabetical Listing of Perl Functions
335 -I<X> FILEHANDLE, -I<X> EXPR, -I<X>, abs VALUE, abs, accept
336 NEWSOCKET,GENERICSOCKET, alarm SECONDS, alarm, atan2 Y,X, bind SOCKET,NAME,
337 binmode FILEHANDLE, bless REF,CLASSNAME, bless REF, caller EXPR, caller,
338 chdir EXPR, chmod LIST, chomp VARIABLE, chomp LIST, chomp, chop VARIABLE,
339 chop LIST, chop, chown LIST, chr NUMBER, chr, chroot FILENAME, chroot,
340 close FILEHANDLE, closedir DIRHANDLE, connect SOCKET,NAME, continue BLOCK,
341 cos EXPR, crypt PLAINTEXT,SALT, dbmclose ASSOC_ARRAY, dbmopen
342 ASSOC,DBNAME,MODE, defined EXPR, defined, delete EXPR, die LIST, do BLOCK,
343 do SUBROUTINE(LIST), do EXPR, dump LABEL, each ASSOC_ARRAY, eof FILEHANDLE,
344 eof (), eof, eval EXPR, eval BLOCK, exec LIST, exists EXPR, exit EXPR, exp
345 EXPR, exp, fcntl FILEHANDLE,FUNCTION,SCALAR, fileno FILEHANDLE, flock
346 FILEHANDLE,OPERATION, fork, format, formline PICTURE, LIST, getc
347 FILEHANDLE, getc, getlogin, getpeername SOCKET, getpgrp PID, getppid,
348 getpriority WHICH,WHO, getpwnam NAME, getgrnam NAME, gethostbyname NAME,
349 getnetbyname NAME, getprotobyname NAME, getpwuid UID, getgrgid GID,
350 getservbyname NAME,PROTO, gethostbyaddr ADDR,ADDRTYPE, getnetbyaddr
351 ADDR,ADDRTYPE, getprotobynumber NUMBER, getservbyport PORT,PROTO, getpwent,
352 getgrent, gethostent, getnetent, getprotoent, getservent, setpwent,
353 setgrent, sethostent STAYOPEN, setnetent STAYOPEN, setprotoent STAYOPEN,
354 setservent STAYOPEN, endpwent, endgrent, endhostent, endnetent,
355 endprotoent, endservent, getsockname SOCKET, getsockopt
356 SOCKET,LEVEL,OPTNAME, glob EXPR, gmtime EXPR, goto LABEL, goto EXPR, goto
357 &NAME, grep BLOCK LIST, grep EXPR,LIST, hex EXPR, hex, import, index
358 STR,SUBSTR,POSITION, index STR,SUBSTR, int EXPR, int, ioctl
359 FILEHANDLE,FUNCTION,SCALAR, join EXPR,LIST, keys ASSOC_ARRAY, kill LIST,
360 last LABEL, last, lc EXPR, lc, lcfirst EXPR, lcfirst, length EXPR, length,
361 link OLDFILE,NEWFILE, listen SOCKET,QUEUESIZE, local EXPR, localtime EXPR,
362 log EXPR, log, lstat FILEHANDLE, lstat EXPR, lstat, m//, map BLOCK LIST,
363 map EXPR,LIST, mkdir FILENAME,MODE, msgctl ID,CMD,ARG, msgget KEY,FLAGS,
364 msgsnd ID,MSG,FLAGS, msgrcv ID,VAR,SIZE,TYPE,FLAGS, my EXPR, next LABEL,
365 next, no Module LIST, oct EXPR, oct, open FILEHANDLE,EXPR, open FILEHANDLE,
366 opendir DIRHANDLE,EXPR, ord EXPR, ord, pack TEMPLATE,LIST, package
367 NAMESPACE, pipe READHANDLE,WRITEHANDLE, pop ARRAY, pop, pos SCALAR, pos,
368 print FILEHANDLE LIST, print LIST, print, printf FILEHANDLE FORMAT, LIST,
369 printf FORMAT, LIST, prototype FUNCTION, push ARRAY,LIST, q/STRING/,
370 qq/STRING/, qx/STRING/, qw/STRING/, quotemeta EXPR, quotemeta, rand EXPR,
371 rand, read FILEHANDLE,SCALAR,LENGTH,OFFSET, read FILEHANDLE,SCALAR,LENGTH,
372 readdir DIRHANDLE, readlink EXPR, readlink, recv SOCKET,SCALAR,LEN,FLAGS,
373 redo LABEL, redo, ref EXPR, ref, rename OLDNAME,NEWNAME, require EXPR,
374 require, reset EXPR, reset, return LIST, reverse LIST, rewinddir DIRHANDLE,
375 rindex STR,SUBSTR,POSITION, rindex STR,SUBSTR, rmdir FILENAME, rmdir, s///,
376 scalar EXPR, seek FILEHANDLE,POSITION,WHENCE, seekdir DIRHANDLE,POS, select
377 FILEHANDLE, select, select RBITS,WBITS,EBITS,TIMEOUT, semctl
378 ID,SEMNUM,CMD,ARG, semget KEY,NSEMS,FLAGS, semop KEY,OPSTRING, send
379 SOCKET,MSG,FLAGS,TO, send SOCKET,MSG,FLAGS, setpgrp PID,PGRP, setpriority
380 WHICH,WHO,PRIORITY, setsockopt SOCKET,LEVEL,OPTNAME,OPTVAL, shift ARRAY,
381 shift, shmctl ID,CMD,ARG, shmget KEY,SIZE,FLAGS, shmread ID,VAR,POS,SIZE,
382 shmwrite ID,STRING,POS,SIZE, shutdown SOCKET,HOW, sin EXPR, sin, sleep
383 EXPR, sleep, socket SOCKET,DOMAIN,TYPE,PROTOCOL, socketpair
384 SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL, sort SUBNAME LIST, sort BLOCK LIST,
385 sort LIST, splice ARRAY,OFFSET,LENGTH,LIST, splice ARRAY,OFFSET,LENGTH,
386 splice ARRAY,OFFSET, split /PATTERN/,EXPR,LIMIT, split /PATTERN/,EXPR,
387 split /PATTERN/, split, sprintf FORMAT, LIST, sqrt EXPR, sqrt, srand EXPR,
388 stat EXPR, stat, study SCALAR, study, sub BLOCK, sub NAME, sub NAME BLOCK,
389 substr EXPR,OFFSET,LEN, substr EXPR,OFFSET, symlink OLDFILE,NEWFILE,
390 syscall LIST, sysopen FILEHANDLE,FILENAME,MODE, sysopen
391 FILEHANDLE,FILENAME,MODE,PERMS, sysread FILEHANDLE,SCALAR,LENGTH,OFFSET,
392 sysread FILEHANDLE,SCALAR,LENGTH, system LIST, syswrite
393 FILEHANDLE,SCALAR,LENGTH, tell FILEHANDLE, tell, telldir DIRHANDLE, tie
394 VARIABLE,CLASSNAME,LIST, tied VARIABLE, time, times, tr///, truncate
395 FILEHANDLE,LENGTH, truncate EXPR,LENGTH, uc EXPR, uc, ucfirst EXPR,
396 ucfirst, umask EXPR, umask, undef EXPR, undef, unlink LIST, unlink, unpack
397 TEMPLATE,EXPR, untie VARIABLE, unshift ARRAY,LIST, use Module LIST, use
398 Module, use Module VERSION LIST, use VERSION, utime LIST, values
399 ASSOC_ARRAY, vec EXPR,OFFSET,BITS, wait, waitpid PID,FLAGS, wantarray, warn
400 LIST, write FILEHANDLE, write EXPR, write, y///
404 =head2 perlvar - Perl predefined variables
410 =item Predefined Names
412 $ARG, $_, $E<lt>I<digit>E<gt>, $MATCH, $&, $PREMATCH, $`, $POSTMATCH, $',
413 $LAST_PAREN_MATCH, $+, $MULTILINE_MATCHING, $*, input_line_number HANDLE
414 EXPR, $INPUT_LINE_NUMBER, $NR, $, input_record_separator HANDLE EXPR,
415 $INPUT_RECORD_SEPARATOR, $RS, $/, autoflush HANDLE EXPR, $OUTPUT_AUTOFLUSH,
416 $|, output_field_separator HANDLE EXPR, $OUTPUT_FIELD_SEPARATOR, $OFS, $,,
417 output_record_separator HANDLE EXPR, $OUTPUT_RECORD_SEPARATOR, $ORS, $\,
418 $LIST_SEPARATOR, $", $SUBSCRIPT_SEPARATOR, $SUBSEP, $;, $OFMT, $#,
419 format_page_number HANDLE EXPR, $FORMAT_PAGE_NUMBER, $%,
420 format_lines_per_page HANDLE EXPR, $FORMAT_LINES_PER_PAGE, $=,
421 format_lines_left HANDLE EXPR, $FORMAT_LINES_LEFT, $-, format_name HANDLE
422 EXPR, $FORMAT_NAME, $~, format_top_name HANDLE EXPR, $FORMAT_TOP_NAME, $^,
423 format_line_break_characters HANDLE EXPR, $FORMAT_LINE_BREAK_CHARACTERS,
424 $:, format_formfeed HANDLE EXPR, $FORMAT_FORMFEED, $^L, $ACCUMULATOR, $^A,
425 $CHILD_ERROR, $?, $OS_ERROR, $ERRNO, $!, $EXTENDED_OS_ERROR, $^E,
426 $EVAL_ERROR, $@, $PROCESS_ID, $PID, $$, $REAL_USER_ID, $UID, $<,
427 $EFFECTIVE_USER_ID, $EUID, $>, $REAL_GROUP_ID, $GID, $(,
428 $EFFECTIVE_GROUP_ID, $EGID, $), $PROGRAM_NAME, $0, $[, $PERL_VERSION, $],
429 $DEBUGGING, $^D, $SYSTEM_FD_MAX, $^F, $^H, $INPLACE_EDIT, $^I, $OSNAME,
430 $^O, $PERLDB, $^P, $BASETIME, $^T, $WARNING, $^W, $EXECUTABLE_NAME, $^X,
431 $ARGV, @ARGV, @INC, %INC, $ENV{expr}, $SIG{expr}
435 =head2 perlsub - Perl subroutines
443 =item Private Variables via my()
445 =item Temporary Values via local()
447 =item Passing Symbol Table Entries (typeglobs)
449 =item Pass by Reference
453 =item Constant Functions
455 =item Overriding Builtin Functions
463 =head2 perlmod - Perl modules (packages)
473 =item Package Constructors and Destructors
483 =item THE PERL MODULE LIBRARY
487 =item Pragmatic Modules
489 blib, diagnostics, integer, less, lib, locale, ops, overload, sigtrap,
492 =item Standard Modules
494 AnyDBM_File, AutoLoader, AutoSplit, Benchmark, CPAN, CPAN::FirstTime,
495 CPAN::Nox, Carp, Class::Template, Config, Cwd, DB_File, Devel::SelfStubber,
496 DirHandle, DynaLoader, English, Env, Exporter, ExtUtils::Embed,
497 ExtUtils::Install, ExtUtils::Liblist, ExtUtils::MM_OS2, ExtUtils::MM_Unix,
498 ExtUtils::MM_VMS, ExtUtils::MakeMaker, ExtUtils::Manifest,
499 ExtUtils::Mkbootstrap, ExtUtils::Mksymlists, ExtUtils::testlib, Fatal,
500 Fcntl, File::Basename, File::CheckTree, File::Compare, File::Copy,
501 File::Find, File::Path, File::stat, FileCache, FileHandle, FindBin,
502 GDBM_File, Getopt::Long, Getopt::Std, I18N::Collate, IO, IO::File,
503 IO::Handle, IO::Pipe, IO::Seekable, IO::Select, IO::Socket, IPC::Open2,
504 IPC::Open3, Math::BigFloat, Math::BigInt, Math::Complex, NDBM_File,
505 Net::Ping, Net::hostent, Net::netent, Net::protoent, Net::servent, Opcode,
506 Pod::Text, POSIX, SDBM_File, Safe, Search::Dict, SelectSaver, SelfLoader,
507 Shell, Socket, Symbol, Sys::Hostname, Sys::Syslog, Term::Cap,
508 Term::Complete, Term::ReadLine, Test::Harness, Text::Abbrev,
509 Text::ParseWords, Text::Soundex, Text::Tabs, Text::Wrap, Tie::Hash,
510 Tie::RefHash, Tie::Scalar, Tie::SubstrHash, Time::Local, Time::gmtime,
511 Time::localtime, Time::tm, UNIVERSAL, User::grent, User::pwent
513 =item Extension Modules
519 Language Extensions and Documentation Tools, Development Support, Operating
520 System Interfaces, Networking, Device Control (modems) and InterProcess
521 Communication, Data Types and Data Type Utilities, Database Interfaces,
522 User Interfaces, Interfaces to / Emulations of Other Programming Languages,
523 File Names, File Systems and File Locking (see also File Handles), String
524 Processing, Language Text Processing, Parsing, and Searching, Option,
525 Argument, Parameter, and Configuration File Processing,
526 Internationalization and Locale, Authentication, Security, and Encryption,
527 World Wide Web, HTML, HTTP, CGI, MIME, Server and Daemon Utilities,
528 Archiving and Compression, Images, Pixmap and Bitmap Manipulation, Drawing,
529 and Graphing, Mail and Usenet News, Control Flow Utilities (callbacks and
530 exceptions etc), File Handle and Input/Output Stream Utilities,
531 Miscellaneous Modules
533 =item Modules: Creation, Use, and Abuse
537 =item Guidelines for Module Creation
539 Do similar modules already exist in some form?, Try to design the new
540 module to be easy to extend and reuse, Some simple style guidelines, Select
541 what to export, Select a name for the module, Have you got it right?,
542 README and other Additional Files, A description of the
543 module/package/extension etc, A copyright notice - see below, Prerequisites
544 - what else you may need to have, How to build it - possible changes to
545 Makefile.PL etc, How to install it, Recent changes in this release,
546 especially incompatibilities, Changes / enhancements you plan to make in
547 the future, Adding a Copyright Notice, Give the module a
548 version/issue/release number, How to release and distribute a module, Take
549 care when changing a released module
551 =item Guidelines for Converting Perl 4 Library Scripts into Modules
553 There is no requirement to convert anything, Consider the implications,
554 Make the most of the opportunity, The pl2pm utility will get you started,
555 Adds the standard Module prologue lines, Converts package specifiers from '
556 to ::, Converts die(...) to croak(...), Several other minor changes
558 =item Guidelines for Reusing Application Code
560 Complete applications rarely belong in the Perl Module Library, Many
561 applications contain some perl code which could be reused, Break-out the
562 reusable code into one or more separate module files, Take the opportunity
563 to reconsider and redesign the interfaces, In some cases the 'application'
564 can then be reduced to a small
568 =head2 perlform - Perl formats
574 =item Format Variables
584 =item Accessing Formatting Internals
590 =head2 perllocale - Perl locale handling (internationalization and
595 =item PREPARING TO USE LOCALES
601 =item The use locale pragma
603 =item The setlocale function
605 =item The localeconv function
609 =item LOCALE CATEGORIES
613 =item Category LC_COLLATE: Collation
615 =item Category LC_CTYPE: Character Types
617 =item Category LC_NUMERIC: Numeric Formatting
619 =item Category LC_MONETARY: Formatting of monetary amounts
623 =item Other categories
629 B<Comparison operators> (C<lt>, C<le>, C<ge>, C<gt> and C<cmp>):,
630 B<Case-mapping interpolation> (with C<\l>, C<\L>, C<\u> or <\U>),
631 B<Matching operator> (C<m//>):, B<Substitution operator> (C<s///>):,
632 B<In-memory formatting function> (sprintf()):, B<Output formatting
633 functions> (printf() and write()):, B<Case-mapping functions> (lc(),
634 lcfirst(), uc(), ucfirst()):, B<POSIX locale-dependent functions>
635 (localeconv(), strcoll(),strftime(), strxfrm()):, B<POSIX character class
636 tests> (isalnum(), isalpha(), isdigit(),isgraph(), islower(), isprint(),
637 ispunct(), isspace(), isupper(),
642 PERL_BADLANG, LC_ALL, LC_CTYPE, LC_COLLATE, LC_MONETARY, LC_NUMERIC,
649 =item Backward compatibility
651 =item I18N:Collate obsolete
653 =item Sort speed and memory use impacts
655 =item write() and LC_NUMERIC
657 =item Freely available locale definitions
661 =item An imperfect standard
677 =head2 perlref - Perl references and nested data structures
683 =item Symbolic references
685 =item Not-so-symbolic references
693 =head2 perldsc - Perl Data Structures Cookbook
697 arrays of arrays, hashes of arrays, arrays of hashes, hashes of hashes,
698 more elaborate constructs
702 =item COMMON MISTAKES
704 =item CAVEAT ON PRECEDENCE
706 =item WHY YOU SHOULD ALWAYS C<use strict>
716 =item Declaration of a LIST OF LISTS
718 =item Generation of a LIST OF LISTS
720 =item Access and Printing of a LIST OF LISTS
724 =item HASHES OF LISTS
728 =item Declaration of a HASH OF LISTS
730 =item Generation of a HASH OF LISTS
732 =item Access and Printing of a HASH OF LISTS
736 =item LISTS OF HASHES
740 =item Declaration of a LIST OF HASHES
742 =item Generation of a LIST OF HASHES
744 =item Access and Printing of a LIST OF HASHES
748 =item HASHES OF HASHES
752 =item Declaration of a HASH OF HASHES
754 =item Generation of a HASH OF HASHES
756 =item Access and Printing of a HASH OF HASHES
760 =item MORE ELABORATE RECORDS
764 =item Declaration of MORE ELABORATE RECORDS
766 =item Declaration of a HASH OF COMPLEX RECORDS
768 =item Generation of a HASH OF COMPLEX RECORDS
778 =head2 perllol, perlLoL - Manipulating Lists of Lists in Perl
782 =item Declaration and Access of Lists of Lists
784 =item Growing Your Own
786 =item Access and Printing
794 =head2 perltoot - Tom's object-oriented tutorial for perl
798 =item Creating a Class
802 =item Object Representation
804 =item Class Interface
806 =item Constructors and Instance Methods
808 =item Planning for the Future: Better Constructors
812 =item Other Object Methods
820 =item Accessing Class Data
822 =item Debugging Methods
824 =item Class Destructors
826 =item Documenting the Interface
836 =item Overridden Methods
838 =item Multiple Inheritance
840 =item UNIVERSAL: The Root of All Objects
844 =item Alternate Object Representations
848 =item Arrays as Objects
850 =item Closures as Objects
854 =item AUTOLOAD: Proxy Methods
858 =item Autoloaded Data Methods
860 =item Inherited Autoloaded Data Methods
864 =item Metaclassical Tools
868 =item Class::Template
870 =item Data Members as Variables
874 =item Object Terminology
884 =item Acknowledgments
888 =head2 perlobj - Perl objects
894 =item An Object is Simply a Reference
896 =item A Class is Simply a Package
898 =item A Method is Simply a Subroutine
900 =item Method Invocation
902 =item Default UNIVERSAL methods
904 isa(CLASS), can(METHOD), VERSION( [NEED] ), class(), is_instance()
912 =item Two-Phased Garbage Collection
918 =head2 perltie - how to hide an object class in a simple variable
928 TIESCALAR classname, LIST, FETCH this, STORE this, value, DESTROY this
932 TIEARRAY classname, LIST, FETCH this, index, STORE this, index, value,
937 USER, HOME, CLOBBER, LIST, TIEHASH classname, LIST, FETCH this, key, STORE
938 this, key, value, DELETE this, key, CLEAR this, EXISTS this, key, FIRSTKEY
939 this, NEXTKEY this, lastkey, DESTROY this
941 =item Tying FileHandles
943 TIEHANDLE classname, LIST, PRINT this, LIST, READLINE this, DESTROY this
953 =head2 perlbot - Bag'o Object Tricks (the BOT)
957 =item OO SCALING TIPS
959 =item INSTANCE VARIABLES
961 =item SCALAR INSTANCE VARIABLES
963 =item INSTANCE VARIABLE INHERITANCE
965 =item OBJECT RELATIONSHIPS
967 =item OVERRIDING SUPERCLASS METHODS
969 =item USING RELATIONSHIP WITH SDBM
971 =item THINKING OF CODE REUSE
973 =item CLASS CONTEXT AND THE OBJECT
975 =item INHERITING A CONSTRUCTOR
979 =head2 perlipc - Perl interprocess communication (signals, fifos, pipes,
980 safe subprocesses, sockets, and semaphores)
988 =item Using open() for IPC
992 =item Safe Pipe Opens
994 =item Bidirectional Communication
998 =item Sockets: Client/Server Communication
1002 =item Internet TCP Clients and Servers
1004 =item Unix-Domain TCP Clients and Servers
1006 =item UDP: Message Passing
1022 =head2 perldebug - Perl debugging
1026 =item The Perl Debugger
1030 =item Debugger Commands
1032 h [command], p expr, x expr, V [pkg [vars]], X [vars], T, s [expr], n
1033 [expr], E<lt>CRE<gt>, c [line|sub], l, l min+incr, l min-max, l line, l
1034 subname, -, w [line], f filename, /pattern/, ?pattern?, L, S [[!]pattern],
1035 t, t expr, b [line] [condition], b subname [condition], b postpone subname
1036 [condition], b load filename, b compile subname, d [line], D, a [line]
1037 command, A, O [opt[=val]] [opt"val"] [opt?].., C<recallCommand>,
1038 C<ShellBang>, C<pager>, C<tkRunning>, C<signalLevel>, C<warnLevel>,
1039 C<dieLevel>, C<AutoTrace>, C<LineInfo>, C<inhibit_exit>, C<PrintRet>,
1040 C<frame>, C<maxTraceLen>, C<arrayDepth>, C<hashDepth>, C<compactDump>,
1041 C<veryCompact>, C<globPrint>, C<DumpDBFiles>, C<DumpPackages>, C<quote>,
1042 C<HighBit>, C<undefPrint>, C<UsageOnly>, C<TTY>, C<noTTY>, C<ReadLine>,
1043 C<NonStop>, E<lt> [ command ], E<lt>E<lt> command, E<gt> command,
1044 E<gt>E<gt> command, { [ command ], {{ command, ! number, ! -number, !
1045 pattern, !! cmd, H -number, q or ^D, R, |dbcmd, ||dbcmd, = [alias value],
1046 command, m expr, m package
1048 =item Debugger input/output
1050 Prompt, Multi-line commands, Stack backtrace, Listing, Frame listing
1052 =item Debugging compile-time statements
1054 =item Debugger Customization
1056 =item Readline Support
1058 =item Editor Support for Debugging
1060 =item The Perl Profiler
1062 =item Debugger support in perl
1064 =item Debugger Internals
1066 =item Other resources
1072 =head2 perldiag - various Perl diagnostics
1076 =head2 perlsec - Perl security
1082 =item Laundering and Detecting Tainted Data
1084 =item Cleaning Up Your Path
1090 =head2 perltrap - Perl traps for the unwary
1106 =item Perl4 to Perl5 Traps
1108 Discontinuance, Deprecation, and BugFix traps, Parsing Traps, Numerical
1109 Traps, General data type traps, Context Traps - scalar, list contexts,
1110 Precedence Traps, General Regular Expression Traps using s///, etc,
1111 Subroutine, Signal, Sorting Traps, OS Traps, DBM Traps, Unclassified Traps
1113 =item Discontinuance, Deprecation, and BugFix traps
1115 Discontinuance, Deprecation, BugFix, Discontinuance, Discontinuance,
1116 Discontinuance, BugFix, Discontinuance, Discontinuance, BugFix,
1117 Discontinuance, Deprecation, Discontinuance
1121 Parsing, Parsing, Parsing
1123 =item Numerical Traps
1125 Numerical, Numerical, Numerical
1127 =item General data type traps
1129 (Arrays), (Arrays), (Hashes), (Globs), (Scalar String), (Constants),
1130 (Scalars), (Variable Suicide)
1132 =item Context Traps - scalar, list contexts
1134 (list context), (scalar context), (scalar context), (list, builtin)
1136 =item Precedence Traps
1138 Precedence, Precedence, Precedence, Precedence, Precedence, Precedence,
1141 =item General Regular Expression Traps using s///, etc.
1143 Regular Expression, Regular Expression, Regular Expression, Regular
1144 Expression, Regular Expression, Regular Expression, Regular Expression,
1147 =item Subroutine, Signal, Sorting Traps
1149 (Signals), (Sort Subroutine), warn() won't let you specify a filehandle
1155 =item Interpolation Traps
1157 Interpolation, Interpolation, Interpolation, Interpolation, Interpolation,
1158 Interpolation, Interpolation, Interpolation, Interpolation
1164 =item Unclassified Traps
1170 =head2 perlstyle - Perl style guide
1174 =head2 perlpod - plain old documentation
1178 =item Embedding Pods in Perl Modules
1180 =item Common Pod Pitfalls
1186 =head2 perlbook - Perl book information
1190 =head2 perlembed - how to embed perl in your C program
1198 B<Use C from Perl?>, B<Use a UNIX program from Perl?>, B<Use Perl from
1199 Perl?>, B<Use C from C?>, B<Use Perl from C?>
1203 =item Compiling your C program
1205 =item Adding a Perl interpreter to your C program
1207 =item Calling a Perl subroutine from your C program
1209 =item Evaluating a Perl statement from your C program
1211 =item Performing Perl pattern matches and substitutions from your C program
1213 =item Fiddling with the Perl stack from your C program
1215 =item Maintaining a persistent interpreter
1217 =item Maintaining multiple interpreter instances
1219 =item Using Perl modules, which themselves use C libraries, from your C
1228 =head2 perlapio - perl's IO abstraction interface.
1234 B<PerlIO *>, B<PerlIO_stdin()>, B<PerlIO_stdout()>, B<PerlIO_stderr()>,
1235 B<PerlIO_open(path, mode)>, B<PerlIO_fdopen(fd,mode)>,
1236 B<PerlIO_printf(f,fmt,...)>, B<PerlIO_vprintf(f,fmt,a)>,
1237 B<PerlIO_stdoutf(fmt,...)>, B<PerlIO_read(f,buf,count)>,
1238 B<PerlIO_write(f,buf,count)>, B<PerlIO_close(f)>, B<PerlIO_puts(s,f)>,
1239 B<PerlIO_putc(c,f)>, B<PerlIO_ungetc(c,f)>, B<PerlIO_getc(f)>,
1240 B<PerlIO_eof(f)>, B<PerlIO_error(f)>, B<PerlIO_fileno(f)>,
1241 B<PerlIO_clearerr(f)>, B<PerlIO_flush(f)>, B<PerlIO_tell(f)>,
1242 B<PerlIO_seek(f,o,w)>, B<PerlIO_getpos(f,p)>, B<PerlIO_setpos(f,p)>,
1243 B<PerlIO_rewind(f)>, B<PerlIO_tmpfile()>
1247 =item Co-existence with stdio
1249 B<PerlIO_importFILE(f,flags)>, B<PerlIO_exportFILE(f,flags)>,
1250 B<PerlIO_findFILE(f)>, B<PerlIO_releaseFILE(p,f)>, B<PerlIO_setlinebuf(f)>,
1251 B<PerlIO_has_cntptr(f)>, B<PerlIO_get_ptr(f)>, B<PerlIO_get_cnt(f)>,
1252 B<PerlIO_canset_cnt(f)>, B<PerlIO_fast_gets(f)>,
1253 B<PerlIO_set_ptrcnt(f,p,c)>, B<PerlIO_set_cnt(f,c)>, B<PerlIO_has_base(f)>,
1254 B<PerlIO_get_base(f)>, B<PerlIO_get_bufsiz(f)>
1258 =head2 perlxs - XS language reference manual
1268 =item The Anatomy of an XSUB
1270 =item The Argument Stack
1272 =item The RETVAL Variable
1274 =item The MODULE Keyword
1276 =item The PACKAGE Keyword
1278 =item The PREFIX Keyword
1280 =item The OUTPUT: Keyword
1282 =item The CODE: Keyword
1284 =item The INIT: Keyword
1286 =item The NO_INIT Keyword
1288 =item Initializing Function Parameters
1290 =item Default Parameter Values
1292 =item The PREINIT: Keyword
1294 =item The SCOPE: Keyword
1296 =item The INPUT: Keyword
1298 =item Variable-length Parameter Lists
1300 =item The PPCODE: Keyword
1302 =item Returning Undef And Empty Lists
1304 =item The REQUIRE: Keyword
1306 =item The CLEANUP: Keyword
1308 =item The BOOT: Keyword
1310 =item The VERSIONCHECK: Keyword
1312 =item The PROTOTYPES: Keyword
1314 =item The PROTOTYPE: Keyword
1316 =item The ALIAS: Keyword
1318 =item The INCLUDE: Keyword
1320 =item The CASE: Keyword
1322 =item The & Unary Operator
1324 =item Inserting Comments and C Preprocessor Directives
1326 =item Using XS With C++
1328 =item Interface Strategy
1330 =item Perl Objects And C Structures
1342 =head2 perlxstut, perlXStut - Tutorial for XSUBs
1348 =item VERSION CAVEAT
1350 =item DYNAMIC VERSUS STATIC
1356 =item WHAT HAS GONE ON?
1358 =item WRITING GOOD TEST SCRIPTS
1362 =item WHAT'S NEW HERE?
1364 =item INPUT AND OUTPUT PARAMETERS
1366 =item THE XSUBPP COMPILER
1368 =item THE TYPEMAP FILE
1374 =item WHAT HAS HAPPENED HERE?
1376 =item SPECIFYING ARGUMENTS TO XSUBPP
1378 =item THE ARGUMENT STACK
1380 =item EXTENDING YOUR EXTENSION
1382 =item DOCUMENTING YOUR EXTENSION
1384 =item INSTALLING YOUR EXTENSION
1394 =head2 perlguts - Perl's Internal Functions
1402 =item What is an "IV"?
1404 =item Working with SV's
1406 =item What's Really Stored in an SV?
1408 =item Working with AV's
1410 =item Working with HV's
1414 =item Blessed References and Class Objects
1416 =item Creating New Variables
1418 =item Reference Counts and Mortality
1420 =item Stashes and Globs
1424 =item Assigning Magic
1426 =item Magic Virtual Tables
1430 =item Double-Typed SV's
1432 =item XSUB's and the Argument Stack
1434 =item Calling Perl Routines from within C Programs
1436 =item Memory Allocation
1442 =item Putting a C value on Perl stack
1446 =item Scratchpads and recursions
1450 AvFILL, av_clear, av_extend, av_fetch, av_len, av_make, av_pop, av_push,
1451 av_shift, av_store, av_undef, av_unshift, CLASS, Copy, croak, CvSTASH,
1452 DBsingle, DBsub, DBtrace, dMARK, dORIGMARK, dowarn, dSP, dXSARGS, dXSI32,
1453 dXSI32, ENTER, EXTEND, FREETMPS, G_ARRAY, G_DISCARD, G_EVAL, GIMME,
1454 G_NOARGS, G_SCALAR, gv_fetchmeth, gv_fetchmethod, gv_stashpv, gv_stashsv,
1455 GvSV, he_delayfree, he_free, hv_clear, hv_delete, hv_exists, hv_fetch,
1456 hv_iterinit, hv_iterkey, hv_iternext, hv_iternextsv, hv_iterval, hv_magic,
1457 HvNAME, hv_store, hv_undef, isALNUM, isALPHA, isDIGIT, isLOWER, isSPACE,
1458 isUPPER, items, ix, LEAVE, MARK, mg_clear, mg_copy, mg_find, mg_free,
1459 mg_get, mg_len, mg_magical, mg_set, Move, na, New, Newc, Newz, newAV,
1460 newHV, newRV_inc, newRV_noinc, newSV, newSViv, newSVnv, newSVpv, newSVrv,
1461 newSVsv, newXS, newXSproto, Nullav, Nullch, Nullcv, Nullhv, Nullsv,
1462 ORIGMARK, perl_alloc, perl_call_argv, perl_call_method, perl_call_pv,
1463 perl_call_sv, perl_construct, perl_destruct, perl_eval_sv, perl_free,
1464 perl_get_av, perl_get_cv, perl_get_hv, perl_get_sv, perl_parse,
1465 perl_require_pv, perl_run, POPi, POPl, POPp, POPn, POPs, PUSHMARK, PUSHi,
1466 PUSHn, PUSHp, PUSHs, PUTBACK, Renew, Renewc, RETVAL, safefree, safemalloc,
1467 saferealloc, savepv, savepvn, SAVETMPS, SP, SPAGAIN, ST, strEQ, strGE,
1468 strGT, strLE, strLT, strNE, strnEQ, strnNE, sv_2mortal, sv_bless, sv_catpv,
1469 sv_catpvn, sv_catsv, sv_cmp, sv_cmp, SvCUR, SvCUR_set, sv_dec, sv_dec,
1470 SvEND, sv_eq, SvGROW, sv_grow, sv_inc, SvIOK, SvIOK_off, SvIOK_on,
1471 SvIOK_only, SvIOK_only, SvIOKp, sv_isa, SvIV, sv_isobject, SvIVX, SvLEN,
1472 sv_len, sv_len, sv_magic, sv_mortalcopy, SvOK, sv_newmortal, sv_no, SvNIOK,
1473 SvNIOK_off, SvNIOKp, SvNOK, SvNOK_off, SvNOK_on, SvNOK_only, SvNOK_only,
1474 SvNOKp, SvNV, SvNVX, SvPOK, SvPOK_off, SvPOK_on, SvPOK_only, SvPOK_only,
1475 SvPOKp, SvPV, SvPVX, SvREFCNT, SvREFCNT_dec, SvREFCNT_inc, SvROK,
1476 SvROK_off, SvROK_on, SvRV, sv_setiv, sv_setnv, sv_setpv, sv_setpvn,
1477 sv_setref_iv, sv_setref_nv, sv_setref_pv, sv_setref_pvn, sv_setsv, SvSTASH,
1478 SVt_IV, SVt_PV, SVt_PVAV, SVt_PVCV, SVt_PVHV, SVt_PVMG, SVt_NV, SvTRUE,
1479 SvTYPE, svtype, SvUPGRADE, sv_upgrade, sv_undef, sv_unref, sv_usepvn,
1480 sv_yes, THIS, toLOWER, toUPPER, warn, XPUSHi, XPUSHn, XPUSHp, XPUSHs, XS,
1481 XSRETURN, XSRETURN_EMPTY, XSRETURN_IV, XSRETURN_NO, XSRETURN_NV,
1482 XSRETURN_PV, XSRETURN_UNDEF, XSRETURN_YES, XST_mIV, XST_mNV, XST_mNO,
1483 XST_mPV, XST_mUNDEF, XST_mYES, XS_VERSION, XS_VERSION_BOOTCHECK, Zero
1491 =head2 perlcall - Perl calling conventions from C
1495 An Error Handler, An Event Driven Program
1497 =item THE PERL_CALL FUNCTIONS
1499 B<perl_call_sv>, B<perl_call_pv>, B<perl_call_method>, B<perl_call_argv>
1517 =item Determining the Context
1521 =item KNOWN PROBLEMS
1527 =item No Parameters, Nothing returned
1529 =item Passing Parameters
1531 =item Returning a Scalar
1533 =item Returning a list of values
1535 =item Returning a list in a scalar context
1537 =item Returning Data from Perl via the parameter list
1541 =item Using G_KEEPERR
1543 =item Using perl_call_sv
1545 =item Using perl_call_argv
1547 =item Using perl_call_method
1551 =item Using Perl to dispose of temporaries
1553 =item Strategies for storing Callback Context Information
1555 1. Ignore the problem - Allow only 1 callback, 2. Create a sequence of
1556 callbacks - hard wired limit, 3. Use a parameter to map to the Perl
1559 =item Alternate Stack Manipulation
1569 =head1 PRAGMA DOCUMENTATION
1571 =head2 blib - Use MakeMaker's uninstalled version of a package
1581 =head2 diagnostics - Perl compiler pragma to force verbose warning
1590 =item The C<diagnostics> Pragma
1592 =item The I<splain> Program
1604 =head2 integer - Perl pragma to compute arithmetic in integer instead of
1611 =head2 less - perl pragma to request less of something from the compiler
1617 =head2 lib - manipulate @INC at compile time
1625 =item ADDING DIRECTORIES TO @INC
1627 =item DELETING DIRECTORIES FROM @INC
1629 =item RESTORING ORIGINAL @INC
1637 =head2 locale - Perl pragma to use and avoid POSIX locales for built-in
1644 =head2 ops - Perl pragma to restrict unsafe operations when compiling
1652 =head2 overload - Package for overloading perl operations
1656 =item CAVEAT SCRIPTOR
1662 =item Declaration of overloaded functions
1664 =item Calling Conventions for Binary Operations
1666 FALSE, TRUE, C<undef>
1668 =item Calling Conventions for Unary Operations
1670 =item Overloadable Operations
1672 I<Arithmetic operations>, I<Comparison operations>, I<Bit operations>,
1673 I<Increment and decrement>, I<Transcendental functions>, I<Boolean, string
1674 and numeric conversion>, I<Special>
1676 =item Inheritance and overloading
1678 Strings as values of C<use overload> directive, Overloading of an operation
1679 is inherited by derived classes
1683 =item SPECIAL SYMBOLS FOR C<use overload>
1691 C<undef>, TRUE, defined, but FALSE
1693 =item Copy Constructor
1699 =item MAGIC AUTOGENERATION
1701 I<Assignment forms of arithmetic operations>, I<Conversion operations>,
1702 I<Increment and decrement>, C<abs($a)>, I<Unary minus>, I<Negation>,
1703 I<Concatenation>, I<Comparison operations>, I<Copy operator>
1707 =item Run-time Overloading
1709 =item Public functions
1711 overload::StrVal(arg), overload::Overloaded(arg), overload::Method(obj,op)
1713 =item IMPLEMENTATION
1721 =head2 sigtrap - Perl pragma to enable simple signal handling
1731 =item SIGNAL HANDLERS
1733 B<stack-trace>, B<die>, B<handler> I<your-handler>
1737 B<normal-signals>, B<error-signals>, B<old-interface-signals>
1741 B<untrapped>, B<any>, I<signal>, I<number>
1747 =head2 strict - Perl pragma to restrict unsafe constructs
1753 C<strict refs>, C<strict vars>, C<strict subs>
1755 =head2 subs - Perl pragma to predeclare sub names
1761 =head2 vars - Perl pragma to predeclare global variable names
1767 =head1 MODULE DOCUMENTATION
1769 =head2 AnyDBM_File - provide framework for multiple DBMs
1777 =item DBM Comparisons
1785 =head2 AutoLoader - load functions only on demand
1797 =item Package Lexicals
1799 =item AutoLoader vs. SelfLoader
1805 =head2 AutoSplit - split a package for autoloading
1815 =head2 Benchmark - benchmark running times of code
1827 =item Standard Exports
1829 timeit(COUNT, CODE), timethis, timethese, timediff, timestr
1831 =item Optional Exports
1843 =item MODIFICATION HISTORY
1845 =head2 CPAN - query, download and build perl modules from CPAN sites
1853 =item Interactive Mode
1855 Searching for authors, bundles, distribution files and modules, make, test,
1856 install, clean modules or distributions, readme, look module or
1865 =item ProgrammerE<39>s interface
1875 =item Floppy, Zip, and all that Jazz
1881 o conf E<lt>scalar optionE<gt>, o conf E<lt>scalar optionE<gt>
1882 E<lt>valueE<gt>, o conf E<lt>list optionE<gt>, o conf E<lt>list optionE<gt>
1883 [shift|pop], o conf E<lt>list optionE<gt> [unshift|push|splice]
1896 =head2 CPAN::FirstTime - Utility for CPAN::Config file Initialization
1902 =head2 CPANox, CPAN::Nox - Wrapper around CPAN.pm without using any XS
1911 =head2 Carp, carp - warn of errors (from perspective of caller)
1917 =head2 Class::Template - struct/member template builder
1925 Example 1, Example 2
1929 =head2 Config - access Perl configuration information
1935 myconfig(), config_sh(), config_vars(@names)
1943 =head2 Cwd, getcwd - get pathname of current working directory
1949 =head2 DB_File - Perl5 access to Berkeley DB
1955 B<DB_HASH>, B<DB_BTREE>, B<DB_RECNO>
1959 =item How does DB_File interface to Berkeley DB?
1961 =item Opening a Berkeley DB Database File
1963 =item Default Parameters
1965 =item In Memory Databases
1973 =item A Simple Example.
1981 =item Changing the BTREE sort order
1983 =item Handling duplicate keys
1985 =item The get_dup method.
1987 =item Matching Partial Keys
1995 =item The bval option
1997 =item A Simple Example
2001 B<$X-E<gt>push(list) ;>, B<$value = $X-E<gt>pop ;>, B<$X-E<gt>shift>,
2002 B<$X-E<gt>unshift(list) ;>, B<$X-E<gt>length>
2004 =item Another Example
2008 =item THE API INTERFACE
2010 B<$status = $X-E<gt>get($key, $value [, $flags]) ;>, B<$status =
2011 $X-E<gt>put($key, $value [, $flags]) ;>, B<$status = $X-E<gt>del($key [,
2012 $flags]) ;>, B<$status = $X-E<gt>fd ;>, B<$status = $X-E<gt>seq($key,
2013 $value, $flags) ;>, B<$status = $X-E<gt>sync([$flags]) ;>
2015 =item HINTS AND TIPS
2019 =item Locking Databases
2021 =item Sharing databases with C applications
2025 =item COMMON QUESTIONS
2029 =item Why is there Perl source in my database?
2031 =item How do I store complex data structures with DB_File?
2033 =item What does "Invalid Argument" mean?
2035 =item What does "Bareword 'DB_File' not allowed" mean?
2049 =head2 Devel::SelfStubber - generate stubs for a SelfLoading module
2055 =head2 DirHandle - supply object methods for directory handles
2061 =head2 DynaLoader - Dynamically load C libraries into Perl code
2067 @dl_library_path, @dl_resolve_using, @dl_require_symbols, @dl_librefs,
2068 @dl_modules, dl_error(), $dl_debug, dl_findfile(), dl_expandspec(),
2069 dl_load_file(), dl_loadflags(), dl_find_symbol(),
2070 dl_find_symbol_anywhere(), dl_undef_symbols(), dl_install_xsub(),
2075 =head2 English - use nice English (or awk) names for ugly punctuation
2082 =head2 Env - perl module that imports environment variables
2090 =head2 Exporter - Implements default import method for modules
2098 =item Selecting What To Export
2100 =item Specialised Import Lists
2102 =item Module Version Checking
2104 =item Managing Unknown Symbols
2106 =item Tag Handling Utility Functions
2110 =head2 ExtUtils::Embed - Utilities for embedding Perl in C/C++ applications
2120 xsinit(), Examples, ldopts(), Examples, perl_inc(), ccflags(), ccdlflags(),
2121 ccopts(), xsi_header(), xsi_protos(@modules), xsi_body(@modules)
2129 =head2 ExtUtils::Install - install files from here to there
2135 =head2 ExtUtils::Liblist - determine libraries to use and how to use them
2141 For static extensions, For dynamic extensions, For dynamic extensions
2147 =item LDLOADLIBS and LD_RUN_PATH
2157 =item VMS implementation
2163 =head2 ExtUtils::MM_OS2 - methods to override UN*X behaviour in
2170 =head2 ExtUtils::MM_Unix - methods used by ExtUtils::MakeMaker
2180 =item Preloaded methods
2182 canonpath, catdir, catfile, curdir, rootdir, updir
2184 =item SelfLoaded methods
2186 c_o (o), cflags (o), clean (o), const_cccmd (o), const_config (o),
2187 const_loadlibs (o), constants (o), depend (o), dir_target (o), dist (o),
2188 dist_basics (o), dist_ci (o), dist_core (o), dist_dir (o), dist_test (o),
2189 dlsyms (o), dynamic (o), dynamic_bs (o), dynamic_lib (o), exescan,
2190 extliblist, file_name_is_absolute, find_perl
2192 =item Methods to actually produce chunks of text for the Makefile
2194 force (o), guess_name, has_link_code, init_dirscan, init_main, init_others,
2195 install (o), installbin (o), libscan (o), linkext (o), lsdir, macro (o),
2196 makeaperl (o), makefile (o), manifypods (o), maybe_command,
2197 maybe_command_in_dirs, needs_linking (o), nicetext, parse_version, pasthru
2198 (o), path, perl_script, perldepend (o), pm_to_blib, post_constants (o),
2199 post_initialize (o), postamble (o), prefixify, processPL (o), realclean
2200 (o), replace_manpage_separator, static (o), static_lib (o), staticmake (o),
2201 subdir_x (o), subdirs (o), test (o), test_via_harness (o), test_via_script
2202 (o), tool_autosplit (o), tools_other (o), tool_xsubpp (o), top_targets (o),
2203 writedoc, xs_c (o), xs_o (o)
2209 =head2 ExtUtils::MM_VMS - methods to override UN*X behaviour in
2218 =item Methods always loaded
2220 eliminate_macros, fixpath, catdir, catfile, wraplist, curdir (override),
2221 rootdir (override), updir (override)
2223 =item SelfLoaded methods
2225 guess_name (override), find_perl (override), path (override), maybe_command
2226 (override), maybe_command_in_dirs (override), perl_script (override),
2227 file_name_is_absolute (override), replace_manpage_separator, init_others
2228 (override), constants (override), cflags (override), const_cccmd
2229 (override), pm_to_blib (override), tool_autosplit (override), tool_sxubpp
2230 (override), xsubpp_version (override), tools_other (override), dist
2231 (override), c_o (override), xs_c (override), xs_o (override), top_targets
2232 (override), dlsyms (override), dynamic_lib (override), dynamic_bs
2233 (override), static_lib (override), manifypods (override), processPL
2234 (override), installbin (override), subdir_x (override), clean (override),
2235 realclean (override), dist_basics (override), dist_core (override),
2236 dist_dir (override), dist_test (override), install (override), perldepend
2237 (override), makefile (override), test (override), test_via_harness
2238 (override), test_via_script (override), makeaperl (override), nicetext
2243 =head2 ExtUtils::MakeMaker - create an extension Makefile
2251 =item How To Write A Makefile.PL
2253 =item Default Makefile Behaviour
2261 =item PREFIX and LIB attribute
2265 =item Static Linking of a new Perl Binary
2267 =item Determination of Perl Library and Installation Locations
2269 =item Which architecture dependent directory?
2271 =item Using Attributes and Parameters
2273 C, CONFIG, CONFIGURE, DEFINE, DIR, DISTNAME, DL_FUNCS, DL_VARS,
2274 EXCLUDE_EXT, EXE_FILES, NO_VC, FIRST_MAKEFILE, FULLPERL, H, INC,
2275 INCLUDE_EXT, INSTALLARCHLIB, INSTALLBIN, INSTALLDIRS, INSTALLMAN1DIR,
2276 INSTALLMAN3DIR, INSTALLPRIVLIB, INSTALLSCRIPT, INSTALLSITELIB,
2277 INSTALLSITEARCH, INST_ARCHLIB, INST_BIN, INST_EXE, INST_LIB, INST_MAN1DIR,
2278 INST_MAN3DIR, INST_SCRIPT, LDFROM, LIBPERL_A, LIB, LIBS, LINKTYPE,
2279 MAKEAPERL, MAKEFILE, MAN1PODS, MAN3PODS, MAP_TARGET, MYEXTLIB, NAME,
2280 NEEDS_LINKING, NOECHO, NORECURS, OBJECT, OPTIMIZE, PERL, PERLMAINCC,
2281 PERL_ARCHLIB, PERL_LIB, PERL_SRC, PL_FILES, PM, PMLIBDIRS, PREFIX,
2282 PREREQ_PM, SKIP, TYPEMAPS, VERSION, VERSION_FROM, XS, XSOPT, XSPROTOARG,
2285 =item Additional lowercase attributes
2287 clean, depend, dist, dynamic_lib, installpm, linkext, macro, realclean,
2290 =item Overriding MakeMaker Methods
2292 =item Hintsfile support
2294 =item Distribution Support
2296 make distcheck, make skipcheck, make distclean, make manifest,
2297 make distdir, make tardist, make dist, make uutardist, make
2298 shdist, make zipdist, make ci
2306 =head2 ExtUtils::Manifest - utilities to write and check a MANIFEST file
2316 =item GLOBAL VARIABLES
2320 C<Not in MANIFEST:> I<file>, C<No such file:> I<file>, C<MANIFEST:> I<$!>,
2321 C<Added to MANIFEST:> I<file>
2327 =head2 ExtUtils::Miniperl, writemain - write the C code for perlmain.c
2335 =head2 ExtUtils::Mkbootstrap - make a bootstrap file for use by DynaLoader
2341 =head2 ExtUtils::Mksymlists - write linker options files for dynamic
2348 NAME, DL_FUNCS, DL_VARS, FILE, FUNCLIST, DLBASE
2354 =head2 ExtUtils::testlib - add blib/* directories to @INC
2360 =head2 Fatal - replace functions with equivalents which succeed or die
2368 =head2 Fcntl - load the C Fcntl.h defines
2376 =item EXPORTED SYMBOLS
2378 =head2 File::Basename, fileparse - split a pathname into pieces
2384 fileparse_set_fstype, fileparse
2388 C<basename>, C<dirname>
2390 =head2 File::CheckTree, validate - run many filetest checks on a tree
2396 =head2 File::Compare - Compare files or filehandles
2406 =head2 File::Copy - Copy files or filehandles
2414 =item Special behavior if C<syscopy> is defined (VMS and OS/2)
2416 rmscopy($from,$to[,$date_flag])
2424 =head2 File::Find, find - traverse a file tree
2430 =head2 File::Path - create or remove a series of directories
2440 =head2 File::stat - by-name interface to Perl's built-in stat() functions
2450 =head2 FileCache - keep more files open than the system permits
2458 =head2 FileHandle - supply object methods for filehandles
2464 $fh->print, $fh->printf, $fh->getline, $fh->getlines
2468 =head2 FindBin - Locate directory of original perl script
2474 =item EXPORTABLE VARIABLES
2484 =head2 GDBM_File - Perl5 access to the gdbm library.
2496 =head2 Getopt::Long, GetOptions - extended processing of command line
2503 E<lt>noneE<gt>, !, =s, :s, =i, :i, =f, :f
2507 =item Linkage specification
2509 =item Aliases and abbreviations
2511 =item Non-option call-back routine
2513 =item Option starters
2523 =item CONFIGURATION VARIABLES
2525 $Getopt::Long::autoabbrev, $Getopt::Long::getopt_compat,
2526 $Getopt::Long::order, $Getopt::Long::bundling, $Getopt::Long::ignorecase,
2527 $Getopt::Long::passthrough, $Getopt::Long::VERSION, $Getopt::Long::error,
2528 $Getopt::Long::debug
2530 =head2 Getopt::Std, getopt - Process single-character switches with switch
2537 =head2 I18N::Collate - compare 8-bit scalar data according to the current
2544 =head2 IO - load various IO modules
2550 =head2 IO::File - supply object methods for filehandles
2562 open( FILENAME [,MODE [,PERMS]] )
2568 =head2 IO::Handle - supply object methods for I/O handles
2576 new (), new_from_fd ( FD, MODE )
2580 $fh->getline, $fh->getlines, $fh->fdopen ( FD, MODE ), $fh->write ( BUF,
2581 LEN [, OFFSET }\] ), $fh->opened, $fh->untaint
2591 =head2 IO::Pipe, IO::pipe - supply object methods for pipes
2599 new ( [READER, WRITER] )
2603 reader ([ARGS]), writer ([ARGS]), handles ()
2611 =head2 IO::Seekable - supply seek based methods for I/O objects
2621 =head2 IO::Select - OO interface to the select system call
2633 add ( HANDLES ), remove ( HANDLES ), exists ( HANDLE ), handles, can_read (
2634 [ TIMEOUT ] ), can_write ( [ TIMEOUT ] ), has_error ( [ TIMEOUT ] ), count
2635 (), bits(), bits(), select ( READ, WRITE, ERROR [, TIMEOUT ] )
2643 =head2 IO::Socket - Object interface to socket communications
2655 accept([PKG]), timeout([VAL]), sockopt(OPT [, VAL]), sockdomain, socktype,
2662 =item IO::Socket::INET
2666 sockaddr (), sockport (), sockhost (), peeraddr (), peerport (), peerhost
2669 =item IO::Socket::UNIX
2673 hostpath(), peerpath()
2683 =head2 IO::lib::IO::File, IO::File - supply object methods for filehandles
2695 open( FILENAME [,MODE [,PERMS]] )
2701 =head2 IO::lib::IO::Handle, IO::Handle - supply object methods for I/O
2710 new (), new_from_fd ( FD, MODE )
2714 $fh->getline, $fh->getlines, $fh->fdopen ( FD, MODE ), $fh->write ( BUF,
2715 LEN [, OFFSET }\] ), $fh->opened, $fh->untaint
2725 =head2 IO::lib::IO::Pipe, IO::pipe - supply object methods for pipes
2733 new ( [READER, WRITER] )
2737 reader ([ARGS]), writer ([ARGS]), handles ()
2745 =head2 IO::lib::IO::Seekable, IO::Seekable - supply seek based methods for
2756 =head2 IO::lib::IO::Select, IO::Select - OO interface to the select system
2769 add ( HANDLES ), remove ( HANDLES ), exists ( HANDLE ), handles, can_read (
2770 [ TIMEOUT ] ), can_write ( [ TIMEOUT ] ), has_error ( [ TIMEOUT ] ), count
2771 (), bits(), bits(), select ( READ, WRITE, ERROR [, TIMEOUT ] )
2779 =head2 IO::lib::IO::Socket, IO::Socket - Object interface to socket
2792 accept([PKG]), timeout([VAL]), sockopt(OPT [, VAL]), sockdomain, socktype,
2799 =item IO::Socket::INET
2803 sockaddr (), sockport (), sockhost (), peeraddr (), peerport (), peerhost
2806 =item IO::Socket::UNIX
2810 hostpath(), peerpath()
2820 =head2 IPC::Open2, open2 - open a process for both reading and writing
2830 =head2 IPC::Open3, open3 - open a process for reading, writing, and error
2839 =head2 Math::BigFloat - Arbitrary length float math package
2845 number format, Error returns 'NaN', Division is computed to
2851 =head2 Math::BigInt - Arbitrary size integer math package
2857 Canonical notation, Input, Output
2865 =head2 Math::Complex - complex numbers and associated mathematical
2876 =item STRINGIFICATION
2884 =head2 NDBM_File - Tied access to ndbm files
2890 =head2 Net::Ping - check a remote host for reachability
2900 Net::Ping->new([$proto [, $def_timeout [, $bytes]]]);, $p->ping($host [,
2901 $timeout]);, $p->close();, pingecho($host [, $timeout]);
2909 =head2 Net::hostent - by-name interface to Perl's built-in gethost*()
2922 =head2 Net::netent - by-name interface to Perl's built-in getnet*()
2935 =head2 Net::protoent - by-name interface to Perl's built-in getproto*()
2946 =head2 Net::servent - by-name interface to Perl's built-in getserv*()
2959 =head2 ODBM_File - Tied access to odbm files
2965 =head2 Opcode - Disable named opcodes when compiling perl code
2975 =item Operator Names and Operator Lists
2977 an operator name (opname), an operator tag name (optag), a negated opname
2978 or optag, an operator set (opset)
2980 =item Opcode Functions
2982 opcodes, opset (OP, ...), opset_to_ops (OPSET), opset_to_hex (OPSET),
2983 full_opset, empty_opset, invert_opset (OPSET), verify_opset (OPSET, ...),
2984 define_optag (OPTAG, OPSET), opmask_add (OPSET), opmask, opdesc (OP, ...),
2987 =item Manipulating Opsets
2991 =item Predefined Opcode Tags
2993 :base_core, :base_mem, :base_loop, :base_io, :base_orig, :base_math,
2994 :default, :filesys_read, :sys_db, :browse, :filesys_open, :filesys_write,
2995 :subprocess, :ownprocess, :others, :still_to_be_decided, :dangerous
3001 =head2 Opcode::Safe, Safe - Compile and execute code in restricted
3008 a new namespace, an operator mask
3014 =item RECENT CHANGES
3016 =item Methods in class Safe
3018 permit (OP, ...), permit_only (OP, ...), deny (OP, ...), deny_only (OP,
3019 ...), trap (OP, ...), untrap (OP, ...), share (NAME, ...), share_from
3020 (PACKAGE, ARRAYREF), varglob (VARNAME), reval (STRING), rdo (FILENAME),
3021 root (NAMESPACE), mask (MASK)
3023 =item Some Safety Issues
3025 Memory, CPU, Snooping, Signals, State Changes
3031 =head2 Opcode::ops, ops - Perl pragma to restrict unsafe operations when
3040 =head2 POSIX - Perl interface to IEEE Std 1003.1
3052 _exit, abort, abs, access, acos, alarm, asctime, asin, assert, atan, atan2,
3053 atexit, atof, atoi, atol, bsearch, calloc, ceil, chdir, chmod, chown,
3054 clearerr, clock, close, closedir, cos, cosh, creat, ctermid, ctime,
3055 cuserid, difftime, div, dup, dup2, errno, execl, execle, execlp, execv,
3056 execve, execvp, exit, exp, fabs, fclose, fcntl, fdopen, feof, ferror,
3057 fflush, fgetc, fgetpos, fgets, fileno, floor, fmod, fopen, fork, fpathconf,
3058 fprintf, fputc, fputs, fread, free, freopen, frexp, fscanf, fseek, fsetpos,
3059 fstat, ftell, fwrite, getc, getchar, getcwd, getegid, getenv, geteuid,
3060 getgid, getgrgid, getgrnam, getgroups, getlogin, getpgrp, getpid, getppid,
3061 getpwnam, getpwuid, gets, getuid, gmtime, isalnum, isalpha, isatty,
3062 iscntrl, isdigit, isgraph, islower, isprint, ispunct, isspace, isupper,
3063 isxdigit, kill, labs, ldexp, ldiv, link, localeconv, localtime, log, log10,
3064 longjmp, lseek, malloc, mblen, mbstowcs, mbtowc, memchr, memcmp, memcpy,
3065 memmove, memset, mkdir, mkfifo, mktime, modf, nice, offsetof, open,
3066 opendir, pathconf, pause, perror, pipe, pow, printf, putc, putchar, puts,
3067 qsort, raise, rand, read, readdir, realloc, remove, rename, rewind,
3068 rewinddir, rmdir, scanf, setgid, setjmp, setlocale, setpgid, setsid,
3069 setuid, sigaction, siglongjmp, sigpending, sigprocmask, sigsetjmp,
3070 sigsuspend, sin, sinh, sleep, sprintf, sqrt, srand, sscanf, stat, strcat,
3071 strchr, strcmp, strcoll, strcpy, strcspn, strerror, strftime, strlen,
3072 strncat, strncmp, strncpy, stroul, strpbrk, strrchr, strspn, strstr,
3073 strtod, strtok, strtol, strtoul, strxfrm, sysconf, system, tan, tanh,
3074 tcdrain, tcflow, tcflush, tcgetpgrp, tcsendbreak, tcsetpgrp, time, times,
3075 tmpfile, tmpnam, tolower, toupper, ttyname, tzname, tzset, umask, uname,
3076 ungetc, unlink, utime, vfprintf, vprintf, vsprintf, wait, waitpid,
3077 wcstombs, wctomb, write
3083 =item POSIX::SigAction
3089 new, addset, delset, emptyset, fillset, ismember
3091 =item POSIX::Termios
3093 new, getattr, getcc, getcflag, getiflag, getispeed, getlflag, getoflag,
3094 getospeed, setattr, setcc, setcflag, setiflag, setispeed, setlflag,
3095 setoflag, setospeed, Baud rate values, Terminal interface values, c_cc
3096 field values, c_cflag field values, c_iflag field values, c_lflag field
3097 values, c_oflag field values
3101 =item PATHNAME CONSTANTS
3105 =item POSIX CONSTANTS
3109 =item SYSTEM CONFIGURATION
3167 =head2 Pod::Text - convert POD data to formatted ASCII text
3177 =head2 SDBM_File - Tied access to sdbm files
3183 =head2 Safe - Compile and execute code in restricted compartments
3189 a new namespace, an operator mask
3195 =item RECENT CHANGES
3197 =item Methods in class Safe
3199 permit (OP, ...), permit_only (OP, ...), deny (OP, ...), deny_only (OP,
3200 ...), trap (OP, ...), untrap (OP, ...), share (NAME, ...), share_from
3201 (PACKAGE, ARRAYREF), varglob (VARNAME), reval (STRING), rdo (FILENAME),
3202 root (NAMESPACE), mask (MASK)
3204 =item Some Safety Issues
3206 Memory, CPU, Snooping, Signals, State Changes
3212 =head2 Search::Dict, look - search for key in dictionary file
3218 =head2 SelectSaver - save and restore selected file handle
3224 =head2 SelfLoader - load functions only on demand
3232 =item The __DATA__ token
3234 =item SelfLoader autoloading
3236 =item Autoloading and package lexicals
3238 =item SelfLoader and AutoLoader
3240 =item __DATA__, __END__, and the FOOBAR::DATA filehandle.
3242 =item Classes and inherited methods.
3246 =item Multiple packages and fully qualified subroutine names
3248 =head2 Shell - run shell commands transparently within perl
3256 =head2 Socket, sockaddr_in, sockaddr_un, inet_aton, inet_ntoa - load the C
3257 socket.h defines and structure manipulators
3263 inet_aton HOSTNAME, inet_ntoa IP_ADDRESS, INADDR_ANY, INADDR_BROADCAST,
3264 INADDR_LOOPBACK, INADDR_NONE, sockaddr_in PORT, ADDRESS, sockaddr_in
3265 SOCKADDR_IN, pack_sockaddr_in PORT, IP_ADDRESS, unpack_sockaddr_in
3266 SOCKADDR_IN, sockaddr_un PATHNAME, sockaddr_un SOCKADDR_UN,
3267 pack_sockaddr_un PATH, unpack_sockaddr_un SOCKADDR_UN
3269 =head2 Symbol - manipulate Perl symbols and their names
3275 =head2 Sys::Hostname - Try every conceivable way to get hostname
3283 =head2 Syslog, Sys::Syslog, openlog, closelog, setlogmask, syslog - Perl
3284 interface to the UNIX syslog(3) calls
3290 openlog $ident, $logopt, $facility, syslog $priority, $format, @args,
3291 setlogmask $mask_priority, closelog
3301 =head2 Term::Cap - Perl termcap interface
3309 =head2 Term::Complete - Perl word completion module
3315 E<lt>tabE<gt>Attempts word completion.
3316 Cannot be changed, ^D, ^U, E<lt>delE<gt>, E<lt>bsE<gt>
3324 =head2 Term::ReadLine - Perl interface to various C<readline> packages. If
3325 no real package is found, substitutes stubs instead of basic functions.
3331 =item Minimal set of supported functions
3333 C<ReadLine>, C<new>, C<readline>, C<addhistory>, C<IN>, $C<OUT>,
3334 C<MinLine>, C<findConsole>, C<Features>
3338 =head2 Test::Harness - run perl standard test scripts with statistics
3346 =item The test script output
3354 C<All tests successful.\nFiles=%d, Tests=%d, %s>, C<FAILED tests
3355 %s\n\tFailed %d/%d tests, %.2f%% okay.>, C<Test returned status %d (wstat
3356 %d)>, C<Failed 1 test, %.2f%% okay. %s>, C<Failed %d/%d tests, %.2f%% okay.
3365 =head2 Text::Abbrev, abbrev - create an abbreviation table from a list
3373 =head2 Text::ParseWords - parse text into an array of tokens
3381 =head2 Text::Soundex - Implementation of the Soundex Algorithm as Described
3394 =head2 Text::Tabs -- expand and unexpand tabs per the unix expand(1) and
3405 =head2 Text::Wrap - line wrapping to form simple paragraphs
3415 =head2 Tie::Hash, Tie::StdHash - base class definitions for tied hashes
3421 TIEHASH classname, LIST, STORE this, key, value, FETCH this, key, FIRSTKEY
3422 this, NEXTKEY this, lastkey, EXISTS this, key, DELETE this, key, CLEAR this
3426 =item MORE INFORMATION
3428 =head2 Tie::RefHash - use references as hash keys
3442 =head2 Tie::Scalar, Tie::StdScalar - base class definitions for tied
3449 TIESCALAR classname, LIST, FETCH this, STORE this, value, DESTROY this
3451 =item MORE INFORMATION
3453 =head2 Tie::SubstrHash - Fixed-table-size, fixed-key-length hashing
3461 =head2 Time::Local - efficiently compute time from local and GMT time
3467 =head2 Time::gmtime - by-name interface to Perl's built-in gmtime()
3478 =head2 Time::localtime - by-name interface to Perl's built-in localtime()
3489 =head2 Time::tm - internal object used by Time::gmtime and Time::localtime
3497 =head2 UNIVERSAL - base class for ALL classes (blessed references)
3503 isa ( TYPE ), can ( METHOD ), VERSION ( [ REQUIRE ] ), isa ( REF, TYPE )
3505 =head2 User::grent - by-name interface to Perl's built-in getgr*()
3516 =head2 User::pwent - by-name interface to Perl's built-in getpw*()
3527 =head1 AUXILIARY DOCUMENTATION
3529 Here should be listed all the extra programs' documentation, but they
3530 don't all have manual pages yet:
3552 Larry Wall E<lt>F<larry@wall.org>E<gt>, with the help of oodles