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 perlnews - what's new for perl5.004
47 =item Supported Environments
53 =item Compilation Option: Binary Compatibility With 5.003
55 =item New Opcode Module and Revised Safe Module
57 =item Internal Change: FileHandle Deprecated
59 =item Internal Change: PerlIO internal IO abstraction interface
61 =item New and Changed Built-in Variables
65 =item New and Changed Built-in Functions
67 delete on slices, flock, keys as an lvalue, my() in Control Structures,
68 unpack() and pack(), use VERSION, use Module VERSION LIST,
69 prototype(FUNCTION), $_ as Default
71 =item New Built-in Methods
73 isa(CLASS), can(METHOD), VERSION( [NEED] ), class(), is_instance()
75 =item TIEHANDLE Now Supported
77 TIEHANDLE classname, LIST, PRINT this, LIST, READLINE this, DESTROY this
83 use blib, use locale, use ops
89 =item Module Information Summary
95 =item Overridden Built-ins
99 =item Efficiency Enhancements
101 =item Documentation Changes
103 L<perlnews>, L<perllocale>, L<perltoot>, L<perlapio>, L<perldebug>,
106 =item New Diagnostics
108 "my" variable %s masks earlier declaration in same scope, Allocation too
109 large: %lx, Allocation too large, Attempt to free non-existent shared
110 string, Attempt to use reference as lvalue in substr, Unsupported function
111 fork, Ill-formed logical name |%s| in prime_env_iter, Integer overflow in
112 hex number, Integer overflow in octal number, Null picture in formline,
113 Offset outside string, Out of memory!, Out of memory during request for %s,
114 Possible attempt to put comments in qw() list, Possible attempt to separate
115 words with commas, untie attempted while %d inner references still exist,
116 Got an error from DosAllocMem:, Malformed PERLLIB_PREFIX, PERL_SH_DIR too
117 long, Process terminated by SIG%s
125 =head2 perldata - Perl data types
137 =item Scalar value constructors
139 =item List value constructors
141 =item Typeglobs and Filehandles
145 =head2 perlsyn - Perl syntax
153 =item Simple statements
155 =item Compound statements
163 =item Basic BLOCKs and Switch Statements
167 =item PODs: Embedded Documentation
171 =head2 perlop - Perl operators and precedence
179 =item Terms and List Operators (Leftward)
181 =item The Arrow Operator
183 =item Auto-increment and Auto-decrement
187 =item Symbolic Unary Operators
189 =item Binding Operators
191 =item Multiplicative Operators
193 =item Additive Operators
195 =item Shift Operators
197 =item Named Unary Operators
199 =item Relational Operators
201 =item Equality Operators
205 =item Bitwise Or and Exclusive Or
207 =item C-style Logical And
209 =item C-style Logical Or
213 =item Conditional Operator
215 =item Assignment Operators
219 =item List Operators (Rightward)
225 =item Logical or and Exclusive Or
227 =item C Operators Missing From Perl
229 unary &, unary *, (TYPE)
231 =item Quote and Quote-like Operators
233 =item Regexp Quote-Like Operators
235 ?PATTERN?, m/PATTERN/gimosx, /PATTERN/gimosx, q/STRING/, C<'STRING'>,
236 qq/STRING/, "STRING", qx/STRING/, `STRING`, qw/STRING/,
237 s/PATTERN/REPLACEMENT/egimosx, tr/SEARCHLIST/REPLACEMENTLIST/cds,
238 y/SEARCHLIST/REPLACEMENTLIST/cds
242 =item Constant Folding
244 =item Integer Arithmetic
248 =head2 perlre - Perl regular expressions
256 =item Regular Expressions
258 (?#text), (?:regexp), (?=regexp), (?!regexp), (?imsx)
262 =item Version 8 Regular Expressions
264 =item WARNING on \1 vs $1
268 =head2 perlrun - how to execute the Perl interpreter
278 B<-0>[I<digits>], B<-a>, B<-c>, B<-d>, B<-d:>I<foo>, B<-D>I<number>,
279 B<-D>I<list>, B<-e> I<commandline>, B<-F>I<pattern>, B<-h>,
280 B<-i>[I<extension>], B<-I>I<directory>, B<-l>[I<octnum>],
281 B<-m>[B<->]I<module>, B<-M>[B<->]I<module>, B<-M>[B<->]I<'module ...'>,
282 B<-[mM]>[B<->]I<module=arg[,arg]...>, B<-n>, B<-p>, B<-P>, B<-s>, B<-S>,
283 B<-T>, B<-u>, B<-U>, B<-v>, B<-V>, B<-V:>I<name>, B<-w>, B<-x> I<directory>
287 =head2 perlfunc - Perl builtin functions
291 I<THERE IS NO GENERAL RULE FOR CONVERTING A LIST INTO A SCALAR!>
295 =item Perl Functions by Category
297 Functions for SCALARs or strings, Regular expressions and pattern matching,
298 Numeric functions, Functions for real @ARRAYs, Functions for list data,
299 Functions for real %HASHes, Input and output functions, Functions for fixed
300 length data or records, Functions for filehandles, files, or directories,
301 Keywords related to the control flow of your perl program, Keywords related
302 to scoping, Miscellaneous functions, Functions for processes and process
303 groups, Keywords related to perl modules, Keywords related to classes and
304 object-orientedness, Low-level socket functions, System V interprocess
305 communication functions, Fetching user and group info, Fetching network
306 info, Time-related functions, Functions new in perl5, Functions obsoleted
309 =item Alphabetical Listing of Perl Functions
311 -I<X> FILEHANDLE, -I<X> EXPR, -I<X>, abs VALUE, abs, accept
312 NEWSOCKET,GENERICSOCKET, alarm SECONDS, alarm, atan2 Y,X, bind SOCKET,NAME,
313 binmode FILEHANDLE, bless REF,CLASSNAME, bless REF, caller EXPR, caller,
314 chdir EXPR, chmod LIST, chomp VARIABLE, chomp LIST, chomp, chop VARIABLE,
315 chop LIST, chop, chown LIST, chr NUMBER, chr, chroot FILENAME, chroot,
316 close FILEHANDLE, closedir DIRHANDLE, connect SOCKET,NAME, continue BLOCK,
317 cos EXPR, crypt PLAINTEXT,SALT, dbmclose ASSOC_ARRAY, dbmopen
318 ASSOC,DBNAME,MODE, defined EXPR, defined, delete EXPR, die LIST, do BLOCK,
319 do SUBROUTINE(LIST), do EXPR, dump LABEL, each ASSOC_ARRAY, eof FILEHANDLE,
320 eof (), eof, eval EXPR, eval BLOCK, exec LIST, exists EXPR, exit EXPR, exp
321 EXPR, exp, fcntl FILEHANDLE,FUNCTION,SCALAR, fileno FILEHANDLE, flock
322 FILEHANDLE,OPERATION, fork, format, formline PICTURE, LIST, getc
323 FILEHANDLE, getc, getlogin, getpeername SOCKET, getpgrp PID, getppid,
324 getpriority WHICH,WHO, getpwnam NAME, getgrnam NAME, gethostbyname NAME,
325 getnetbyname NAME, getprotobyname NAME, getpwuid UID, getgrgid GID,
326 getservbyname NAME,PROTO, gethostbyaddr ADDR,ADDRTYPE, getnetbyaddr
327 ADDR,ADDRTYPE, getprotobynumber NUMBER, getservbyport PORT,PROTO, getpwent,
328 getgrent, gethostent, getnetent, getprotoent, getservent, setpwent,
329 setgrent, sethostent STAYOPEN, setnetent STAYOPEN, setprotoent STAYOPEN,
330 setservent STAYOPEN, endpwent, endgrent, endhostent, endnetent,
331 endprotoent, endservent, getsockname SOCKET, getsockopt
332 SOCKET,LEVEL,OPTNAME, glob EXPR, gmtime EXPR, goto LABEL, goto EXPR, goto
333 &NAME, grep BLOCK LIST, grep EXPR,LIST, hex EXPR, hex, import, index
334 STR,SUBSTR,POSITION, index STR,SUBSTR, int EXPR, int, ioctl
335 FILEHANDLE,FUNCTION,SCALAR, join EXPR,LIST, keys ASSOC_ARRAY, kill LIST,
336 last LABEL, last, lc EXPR, lc, lcfirst EXPR, lcfirst, length EXPR, length,
337 link OLDFILE,NEWFILE, listen SOCKET,QUEUESIZE, local EXPR, localtime EXPR,
338 log EXPR, log, lstat FILEHANDLE, lstat EXPR, lstat, m//, map BLOCK LIST,
339 map EXPR,LIST, mkdir FILENAME,MODE, msgctl ID,CMD,ARG, msgget KEY,FLAGS,
340 msgsnd ID,MSG,FLAGS, msgrcv ID,VAR,SIZE,TYPE,FLAGS, my EXPR, next LABEL,
341 next, no Module LIST, oct EXPR, oct, open FILEHANDLE,EXPR, open FILEHANDLE,
342 opendir DIRHANDLE,EXPR, ord EXPR, ord, pack TEMPLATE,LIST, package
343 NAMESPACE, pipe READHANDLE,WRITEHANDLE, pop ARRAY, pop, pos SCALAR, pos,
344 print FILEHANDLE LIST, print LIST, print, printf FILEHANDLE FORMAT, LIST,
345 printf FORMAT, LIST, prototype FUNCTION, push ARRAY,LIST, q/STRING/,
346 qq/STRING/, qx/STRING/, qw/STRING/, quotemeta EXPR, quotemeta, rand EXPR,
347 rand, read FILEHANDLE,SCALAR,LENGTH,OFFSET, read FILEHANDLE,SCALAR,LENGTH,
348 readdir DIRHANDLE, readlink EXPR, readlink, recv SOCKET,SCALAR,LEN,FLAGS,
349 redo LABEL, redo, ref EXPR, ref, rename OLDNAME,NEWNAME, require EXPR,
350 require, reset EXPR, reset, return LIST, reverse LIST, rewinddir DIRHANDLE,
351 rindex STR,SUBSTR,POSITION, rindex STR,SUBSTR, rmdir FILENAME, rmdir, s///,
352 scalar EXPR, seek FILEHANDLE,POSITION,WHENCE, seekdir DIRHANDLE,POS, select
353 FILEHANDLE, select, select RBITS,WBITS,EBITS,TIMEOUT, semctl
354 ID,SEMNUM,CMD,ARG, semget KEY,NSEMS,FLAGS, semop KEY,OPSTRING, send
355 SOCKET,MSG,FLAGS,TO, send SOCKET,MSG,FLAGS, setpgrp PID,PGRP, setpriority
356 WHICH,WHO,PRIORITY, setsockopt SOCKET,LEVEL,OPTNAME,OPTVAL, shift ARRAY,
357 shift, shmctl ID,CMD,ARG, shmget KEY,SIZE,FLAGS, shmread ID,VAR,POS,SIZE,
358 shmwrite ID,STRING,POS,SIZE, shutdown SOCKET,HOW, sin EXPR, sin, sleep
359 EXPR, sleep, socket SOCKET,DOMAIN,TYPE,PROTOCOL, socketpair
360 SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL, sort SUBNAME LIST, sort BLOCK LIST,
361 sort LIST, splice ARRAY,OFFSET,LENGTH,LIST, splice ARRAY,OFFSET,LENGTH,
362 splice ARRAY,OFFSET, split /PATTERN/,EXPR,LIMIT, split /PATTERN/,EXPR,
363 split /PATTERN/, split, sprintf FORMAT, LIST, sqrt EXPR, sqrt, srand EXPR,
364 stat EXPR, stat, study SCALAR, study, sub BLOCK, sub NAME, sub NAME BLOCK,
365 substr EXPR,OFFSET,LEN, substr EXPR,OFFSET, symlink OLDFILE,NEWFILE,
366 syscall LIST, sysopen FILEHANDLE,FILENAME,MODE, sysopen
367 FILEHANDLE,FILENAME,MODE,PERMS, sysread FILEHANDLE,SCALAR,LENGTH,OFFSET,
368 sysread FILEHANDLE,SCALAR,LENGTH, system LIST, syswrite
369 FILEHANDLE,SCALAR,LENGTH, tell FILEHANDLE, tell, telldir DIRHANDLE, tie
370 VARIABLE,CLASSNAME,LIST, tied VARIABLE, time, times, tr///, truncate
371 FILEHANDLE,LENGTH, truncate EXPR,LENGTH, uc EXPR, uc, ucfirst EXPR,
372 ucfirst, umask EXPR, umask, undef EXPR, undef, unlink LIST, unlink, unpack
373 TEMPLATE,EXPR, untie VARIABLE, unshift ARRAY,LIST, use Module LIST, use
374 Module, use Module VERSION LIST, use VERSION, utime LIST, values
375 ASSOC_ARRAY, vec EXPR,OFFSET,BITS, wait, waitpid PID,FLAGS, wantarray, warn
376 LIST, write FILEHANDLE, write EXPR, write, y///
380 =head2 perlvar - Perl predefined variables
386 =item Predefined Names
388 $ARG, $_, $E<lt>I<digit>E<gt>, $MATCH, $&, $PREMATCH, $`, $POSTMATCH, $',
389 $LAST_PAREN_MATCH, $+, $MULTILINE_MATCHING, $*, input_line_number HANDLE
390 EXPR, $INPUT_LINE_NUMBER, $NR, $, input_record_separator HANDLE EXPR,
391 $INPUT_RECORD_SEPARATOR, $RS, $/, autoflush HANDLE EXPR, $OUTPUT_AUTOFLUSH,
392 $|, output_field_separator HANDLE EXPR, $OUTPUT_FIELD_SEPARATOR, $OFS, $,,
393 output_record_separator HANDLE EXPR, $OUTPUT_RECORD_SEPARATOR, $ORS, $\,
394 $LIST_SEPARATOR, $", $SUBSCRIPT_SEPARATOR, $SUBSEP, $;, $OFMT, $#,
395 format_page_number HANDLE EXPR, $FORMAT_PAGE_NUMBER, $%,
396 format_lines_per_page HANDLE EXPR, $FORMAT_LINES_PER_PAGE, $=,
397 format_lines_left HANDLE EXPR, $FORMAT_LINES_LEFT, $-, format_name HANDLE
398 EXPR, $FORMAT_NAME, $~, format_top_name HANDLE EXPR, $FORMAT_TOP_NAME, $^,
399 format_line_break_characters HANDLE EXPR, $FORMAT_LINE_BREAK_CHARACTERS,
400 $:, format_formfeed HANDLE EXPR, $FORMAT_FORMFEED, $^L, $ACCUMULATOR, $^A,
401 $CHILD_ERROR, $?, $OS_ERROR, $ERRNO, $!, $EXTENDED_OS_ERROR, $^E,
402 $EVAL_ERROR, $@, $PROCESS_ID, $PID, $$, $REAL_USER_ID, $UID, $<,
403 $EFFECTIVE_USER_ID, $EUID, $>, $REAL_GROUP_ID, $GID, $(,
404 $EFFECTIVE_GROUP_ID, $EGID, $), $PROGRAM_NAME, $0, $[, $PERL_VERSION, $],
405 $DEBUGGING, $^D, $SYSTEM_FD_MAX, $^F, $^H, $INPLACE_EDIT, $^I, $OSNAME,
406 $^O, $PERLDB, $^P, $BASETIME, $^T, $WARNING, $^W, $EXECUTABLE_NAME, $^X,
407 $ARGV, @ARGV, @INC, %INC, $ENV{expr}, $SIG{expr}
411 =head2 perlsub - Perl subroutines
419 =item Private Variables via my()
421 =item Temporary Values via local()
423 =item Passing Symbol Table Entries (typeglobs)
425 =item Pass by Reference
429 =item Overriding Builtin Functions
437 =head2 perlmod - Perl modules (packages)
447 =item Package Constructors and Destructors
457 =item THE PERL MODULE LIBRARY
461 =item Pragmatic Modules
463 blib, diagnostics, integer, less, lib, locale, ops, overload, sigtrap,
466 =item Standard Modules
468 AnyDBM_File, AutoLoader, AutoSplit, Benchmark, CPAN, CPAN::FirstTime,
469 CPAN::Nox, Carp, Class::Template, Config, Cwd, DB_File, Devel::SelfStubber,
470 DirHandle, DynaLoader, English, Env, Exporter, ExtUtils::Embed,
471 ExtUtils::Install, ExtUtils::Liblist, ExtUtils::MM_OS2, ExtUtils::MM_Unix,
472 ExtUtils::MM_VMS, ExtUtils::MakeMaker, ExtUtils::Manifest,
473 ExtUtils::Mkbootstrap, ExtUtils::Mksymlists, ExtUtils::testlib, Fatal,
474 Fcntl, File::Basename, File::CheckTree, File::Compare, File::Copy,
475 File::Find, File::Path, File::stat, FileCache, FileHandle, FindBin,
476 GDBM_File, Getopt::Long, Getopt::Std, I18N::Collate, IO, IO::File,
477 IO::Handle, IO::Pipe, IO::Seekable, IO::Select, IO::Socket, IPC::Open2,
478 IPC::Open3, Math::BigFloat, Math::BigInt, Math::Complex, NDBM_File,
479 Net::Ping, Net::hostent, Net::netent, Net::protoent, Net::servent, Opcode,
480 Pod::Text, POSIX, SDBM_File, Safe, Search::Dict, SelectSaver, SelfLoader,
481 Shell, Socket, Symbol, Sys::Hostname, Sys::Syslog, Term::Cap,
482 Term::Complete, Term::ReadLine, Test::Harness, Text::Abbrev,
483 Text::ParseWords, Text::Soundex, Text::Tabs, Text::Wrap, Tie::Hash,
484 Tie::RefHash, Tie::Scalar, Tie::SubstrHash, Time::Local, Time::gmtime,
485 Time::localtime, Time::tm, UNIVERSAL, User::grent, User::pwent
487 =item Extension Modules
493 Language Extensions and Documentation Tools, Development Support, Operating
494 System Interfaces, Networking, Device Control (modems) and InterProcess
495 Communication, Data Types and Data Type Utilities, Database Interfaces,
496 User Interfaces, Interfaces to / Emulations of Other Programming Languages,
497 File Names, File Systems and File Locking (see also File Handles), String
498 Processing, Language Text Processing, Parsing, and Searching, Option,
499 Argument, Parameter, and Configuration File Processing,
500 Internationalization and Locale, Authentication, Security, and Encryption,
501 World Wide Web, HTML, HTTP, CGI, MIME, Server and Daemon Utilities,
502 Archiving and Compression, Images, Pixmap and Bitmap Manipulation, Drawing,
503 and Graphing, Mail and Usenet News, Control Flow Utilities (callbacks and
504 exceptions etc), File Handle and Input/Output Stream Utilities,
505 Miscellaneous Modules
507 =item Modules: Creation, Use, and Abuse
511 =item Guidelines for Module Creation
513 Do similar modules already exist in some form?, Try to design the new
514 module to be easy to extend and reuse, Some simple style guidelines, Select
515 what to export, Select a name for the module, Have you got it right?,
516 README and other Additional Files, A description of the
517 module/package/extension etc, A copyright notice - see below, Prerequisites
518 - what else you may need to have, How to build it - possible changes to
519 Makefile.PL etc, How to install it, Recent changes in this release,
520 especially incompatibilities, Changes / enhancements you plan to make in
521 the future, Adding a Copyright Notice, Give the module a
522 version/issue/release number, How to release and distribute a module, Take
523 care when changing a released module
525 =item Guidelines for Converting Perl 4 Library Scripts into Modules
527 There is no requirement to convert anything, Consider the implications,
528 Make the most of the opportunity, The pl2pm utility will get you started,
529 Adds the standard Module prologue lines, Converts package specifiers from '
530 to ::, Converts die(...) to croak(...), Several other minor changes
532 =item Guidelines for Reusing Application Code
534 Complete applications rarely belong in the Perl Module Library, Many
535 applications contain some perl code which could be reused, Break-out the
536 reusable code into one or more separate module files, Take the opportunity
537 to reconsider and redesign the interfaces, In some cases the 'application'
538 can then be reduced to a small
542 =head2 perlform - Perl formats
548 =item Format Variables
558 =item Accessing Formatting Internals
564 =head2 perllocale - Perl locale handling (internationalization and
569 =item PREPARING TO USE LOCALES
575 =item The use locale pragma
577 =item The setlocale function
579 =item The localeconv function
583 =item LOCALE CATEGORIES
587 =item Category LC_COLLATE: Collation
589 =item Category LC_CTYPE: Character Types
591 =item Category LC_NUMERIC: Numeric Formatting
593 =item Category LC_MONETARY: Formatting of monetary amounts
597 =item Other categories
603 B<Comparison operators> (C<lt>, C<le>, C<ge>, C<gt> and C<cmp>):,
604 B<Case-mapping interpolation> (with C<\l>, C<\L>, C<\u> or <\U>),
605 B<Matching operator> (C<m//>):, B<Substitution operator> (C<s///>):,
606 B<In-memory formatting function> (sprintf()):, B<Output formatting
607 functions> (printf() and write()):, B<Case-mapping functions> (lc(),
608 lcfirst(), uc(), ucfirst()):, B<POSIX locale-dependent functions>
609 (localeconv(), strcoll(),strftime(), strxfrm()):, B<POSIX character class
610 tests> (isalnum(), isalpha(), isdigit(),isgraph(), islower(), isprint(),
611 ispunct(), isspace(), isupper(),
616 PERL_BADLANG, LC_ALL, LC_CTYPE, LC_COLLATE, LC_MONETARY, LC_NUMERIC,
623 =item Backward compatibility
625 =item I18N:Collate obsolete
627 =item Sort speed and memory use impacts
629 =item write() and LC_NUMERIC
631 =item Freely available locale definitions
635 =item An imperfect standard
651 =head2 perlref - Perl references and nested data structures
657 =item Symbolic references
659 =item Not-so-symbolic references
667 =head2 perldsc - Perl Data Structures Cookbook
671 arrays of arrays, hashes of arrays, arrays of hashes, hashes of hashes,
672 more elaborate constructs
676 =item COMMON MISTAKES
678 =item CAVEAT ON PRECEDENCE
680 =item WHY YOU SHOULD ALWAYS C<use strict>
690 =item Declaration of a LIST OF LISTS
692 =item Generation of a LIST OF LISTS
694 =item Access and Printing of a LIST OF LISTS
698 =item HASHES OF LISTS
702 =item Declaration of a HASH OF LISTS
704 =item Generation of a HASH OF LISTS
706 =item Access and Printing of a HASH OF LISTS
710 =item LISTS OF HASHES
714 =item Declaration of a LIST OF HASHES
716 =item Generation of a LIST OF HASHES
718 =item Access and Printing of a LIST OF HASHES
722 =item HASHES OF HASHES
726 =item Declaration of a HASH OF HASHES
728 =item Generation of a HASH OF HASHES
730 =item Access and Printing of a HASH OF HASHES
734 =item MORE ELABORATE RECORDS
738 =item Declaration of MORE ELABORATE RECORDS
740 =item Declaration of a HASH OF COMPLEX RECORDS
742 =item Generation of a HASH OF COMPLEX RECORDS
752 =head2 perllol, perlLoL - Manipulating Lists of Lists in Perl
756 =item Declaration and Access of Lists of Lists
758 =item Growing Your Own
760 =item Access and Printing
768 =head2 perltoot - Tom's object-oriented tutorial for perl
772 =item Creating a Class
776 =item Object Representation
778 =item Class Interface
780 =item Constructors and Instance Methods
782 =item Planning for the Future: Better Constructors
786 =item Other Object Methods
794 =item Accessing Class Data
796 =item Debugging Methods
798 =item Class Destructors
800 =item Documenting the Interface
810 =item Overridden Methods
812 =item Multiple Inheritance
814 =item UNIVERSAL: The Root of All Objects
818 =item Alternate Object Representations
822 =item Arrays as Objects
824 =item Closures as Objects
828 =item AUTOLOAD: Proxy Methods
832 =item Autoloaded Data Methods
834 =item Inherited Autoloaded Data Methods
838 =item Metaclassical Tools
842 =item Class::Template
844 =item Data Members as Variables
848 =item Object Terminology
858 =item Acknowledgments
862 =head2 perlobj - Perl objects
868 =item An Object is Simply a Reference
870 =item A Class is Simply a Package
872 =item A Method is Simply a Subroutine
874 =item Method Invocation
876 =item Default UNIVERSAL methods
878 isa(CLASS), can(METHOD), VERSION( [NEED] ), class(), is_instance()
886 =item Two-Phased Garbage Collection
892 =head2 perltie - how to hide an object class in a simple variable
902 TIESCALAR classname, LIST, FETCH this, STORE this, value, DESTROY this
906 TIEARRAY classname, LIST, FETCH this, index, STORE this, index, value,
911 USER, HOME, CLOBBER, LIST, TIEHASH classname, LIST, FETCH this, key, STORE
912 this, key, value, DELETE this, key, CLEAR this, EXISTS this, key, FIRSTKEY
913 this, NEXTKEY this, lastkey, DESTROY this
915 =item Tying FileHandles
917 TIEHANDLE classname, LIST, PRINT this, LIST, READLINE this, DESTROY this
927 =head2 perlbot - Bag'o Object Tricks (the BOT)
931 =item OO SCALING TIPS
933 =item INSTANCE VARIABLES
935 =item SCALAR INSTANCE VARIABLES
937 =item INSTANCE VARIABLE INHERITANCE
939 =item OBJECT RELATIONSHIPS
941 =item OVERRIDING SUPERCLASS METHODS
943 =item USING RELATIONSHIP WITH SDBM
945 =item THINKING OF CODE REUSE
947 =item CLASS CONTEXT AND THE OBJECT
949 =item INHERITING A CONSTRUCTOR
953 =head2 perlipc - Perl interprocess communication (signals, fifos, pipes,
954 safe subprocesses, sockets, and semaphores)
962 =item Using open() for IPC
966 =item Safe Pipe Opens
968 =item Bidirectional Communication
972 =item Sockets: Client/Server Communication
976 =item Internet TCP Clients and Servers
978 =item Unix-Domain TCP Clients and Servers
980 =item UDP: Message Passing
996 =head2 perldebug - Perl debugging
1000 =item The Perl Debugger
1004 =item Debugger Commands
1006 h [command], p expr, x expr, V [pkg [vars]], X [vars], T, s [expr], n,
1007 E<lt>CRE<gt>, c [line|sub], l, l min+incr, l min-max, l line, l subname, -,
1008 w [line], f filename, /pattern/, ?pattern?, L, S [[!]pattern], t, t expr, b
1009 [line] [condition], b subname [condition], b postpone subname [condition],
1010 b load filename, d [line], D, a [line] command, A, O [opt[=val]] [opt"val"]
1011 [opt?].., recallCommand, ShellBang, pager, tkRunning, signalLevel,
1012 warnLevel, dieLevel, AutoTrace, LineInfo, C<inhibit_exit>, C<PrintRet>,
1013 C<frame>, arrayDepth, hashDepth, compactDump, veryCompact, globPrint,
1014 DumpDBFiles, DumpPackages, quote, HighBit, undefPrint, C<TTY>, noTTY,
1015 C<noTTY>, C<ReadLine>, C<NonStop>, E<lt> [ command ], E<lt>E<lt> command,
1016 E<gt> command, E<gt>E<gt> command, { [ command ], {{ command, ! number, !
1017 -number, ! pattern, !! cmd, H -number, q or ^D, R, |dbcmd, ||dbcmd, =
1018 [alias value], command, p expr
1020 =item Debugger Customization
1022 =item Readline Support
1024 =item Editor Support for Debugging
1026 =item The Perl Profiler
1028 =item Debugger support in perl
1030 =item Debugger Internals
1032 =item Other resources
1038 =head2 perldiag - various Perl diagnostics
1042 =head2 perlsec - Perl security
1048 =item Laundering and Detecting Tainted Data
1050 =item Cleaning Up Your Path
1056 =head2 perltrap - Perl traps for the unwary
1072 =item Perl4 to Perl5 Traps
1074 Discontinuance, Deprecation, and BugFix traps, Parsing Traps, Numerical
1075 Traps, General data type traps, Context Traps - scalar, list contexts,
1076 Precedence Traps, General Regular Expression Traps using s///, etc,
1077 Subroutine, Signal, Sorting Traps, OS Traps, DBM Traps, Unclassified Traps
1079 =item Discontinuance, Deprecation, and BugFix traps
1081 Discontinuance, Deprecation, BugFix, Discontinuance, Discontinuance,
1082 Discontinuance, BugFix, Discontinuance, Discontinuance, BugFix,
1083 Discontinuance, Deprecation, Discontinuance
1087 Parsing, Parsing, Parsing
1089 =item Numerical Traps
1091 Numerical, Numerical, Numerical
1093 =item General data type traps
1095 (Arrays), (Arrays), (Hashes), (Globs), (Scalar String), (Constants),
1096 (Scalars), (Variable Suicide)
1098 =item Context Traps - scalar, list contexts
1100 (list context), (scalar context), (scalar context), (list, builtin)
1102 =item Precedence Traps
1104 Precedence, Precedence, Precedence, Precedence, Precedence, Precedence,
1107 =item General Regular Expression Traps using s///, etc.
1109 Regular Expression, Regular Expression, Regular Expression, Regular
1110 Expression, Regular Expression, Regular Expression, Regular Expression
1112 =item Subroutine, Signal, Sorting Traps
1114 (Signals), (Sort Subroutine), warn() won't let you specify a filehandle
1120 =item Interpolation Traps
1122 Interpolation, Interpolation, Interpolation, Interpolation, Interpolation,
1123 Interpolation, Interpolation, Interpolation, Interpolation
1129 =item Unclassified Traps
1135 =head2 perlstyle - Perl style guide
1139 =head2 perlpod - plain old documentation
1143 =item Embedding Pods in Perl Modules
1145 =item Common Pod Pitfalls
1151 =head2 perlbook - Perl book information
1155 =head2 perlembed - how to embed perl in your C program
1163 B<Use C from Perl?>, B<Use a UNIX program from Perl?>, B<Use Perl from
1164 Perl?>, B<Use C from C?>, B<Use Perl from C?>
1168 =item Compiling your C program
1170 =item Adding a Perl interpreter to your C program
1172 =item Calling a Perl subroutine from your C program
1174 =item Evaluating a Perl statement from your C program
1176 =item Performing Perl pattern matches and substitutions from your C program
1178 =item Fiddling with the Perl stack from your C program
1180 =item Maintaining a persistent interpreter
1182 =item Maintaining multiple interpreter instances
1184 =item Using Perl modules, which themselves use C libraries, from your C
1193 =head2 perlapio - perl's IO abstraction interface.
1199 B<PerlIO *>, B<PerlIO_stdin()>, B<PerlIO_stdout()>, B<PerlIO_stderr()>,
1200 B<PerlIO_open(path, mode)>, B<PerlIO_fdopen(fd,mode)>,
1201 B<PerlIO_printf(f,fmt,...)>, B<PerlIO_vprintf(f,fmt,a)>,
1202 B<PerlIO_stdoutf(fmt,...)>, B<PerlIO_read(f,buf,count)>,
1203 B<PerlIO_write(f,buf,count)>, B<PerlIO_close(f)>, B<PerlIO_puts(s,f)>,
1204 B<PerlIO_putc(c,f)>, B<PerlIO_ungetc(c,f)>, B<PerlIO_getc(f)>,
1205 B<PerlIO_eof(f)>, B<PerlIO_error(f)>, B<PerlIO_fileno(f)>,
1206 B<PerlIO_clearerr(f)>, B<PerlIO_flush(f)>, B<PerlIO_tell(f)>,
1207 B<PerlIO_seek(f,o,w)>, B<PerlIO_getpos(f,p)>, B<PerlIO_setpos(f,p)>,
1208 B<PerlIO_rewind(f)>, B<PerlIO_tmpfile()>
1212 =item Co-existence with stdio
1214 B<PerlIO_importFILE(f,flags)>, B<PerlIO_exportFILE(f,flags)>,
1215 B<PerlIO_findFILE(f)>, B<PerlIO_releaseFILE(p,f)>, B<PerlIO_setlinebuf(f)>,
1216 B<PerlIO_has_cntptr(f)>, B<PerlIO_get_ptr(f)>, B<PerlIO_get_cnt(f)>,
1217 B<PerlIO_canset_cnt(f)>, B<PerlIO_fast_gets(f)>,
1218 B<PerlIO_set_ptrcnt(f,p,c)>, B<PerlIO_set_cnt(f,c)>, B<PerlIO_has_base(f)>,
1219 B<PerlIO_get_base(f)>, B<PerlIO_get_bufsiz(f)>
1223 =head2 perlxs - XS language reference manual
1233 =item The Anatomy of an XSUB
1235 =item The Argument Stack
1237 =item The RETVAL Variable
1239 =item The MODULE Keyword
1241 =item The PACKAGE Keyword
1243 =item The PREFIX Keyword
1245 =item The OUTPUT: Keyword
1247 =item The CODE: Keyword
1249 =item The INIT: Keyword
1251 =item The NO_INIT Keyword
1253 =item Initializing Function Parameters
1255 =item Default Parameter Values
1257 =item The PREINIT: Keyword
1259 =item The SCOPE: Keyword
1261 =item The INPUT: Keyword
1263 =item Variable-length Parameter Lists
1265 =item The PPCODE: Keyword
1267 =item Returning Undef And Empty Lists
1269 =item The REQUIRE: Keyword
1271 =item The CLEANUP: Keyword
1273 =item The BOOT: Keyword
1275 =item The VERSIONCHECK: Keyword
1277 =item The PROTOTYPES: Keyword
1279 =item The PROTOTYPE: Keyword
1281 =item The ALIAS: Keyword
1283 =item The INCLUDE: Keyword
1285 =item The CASE: Keyword
1287 =item The & Unary Operator
1289 =item Inserting Comments and C Preprocessor Directives
1291 =item Using XS With C++
1293 =item Interface Strategy
1295 =item Perl Objects And C Structures
1307 =head2 perlxstut, perlXStut - Tutorial for XSUBs
1313 =item VERSION CAVEAT
1315 =item DYNAMIC VERSUS STATIC
1321 =item WHAT HAS GONE ON?
1323 =item WRITING GOOD TEST SCRIPTS
1327 =item WHAT'S NEW HERE?
1329 =item INPUT AND OUTPUT PARAMETERS
1331 =item THE XSUBPP COMPILER
1333 =item THE TYPEMAP FILE
1339 =item WHAT HAS HAPPENED HERE?
1341 =item SPECIFYING ARGUMENTS TO XSUBPP
1343 =item THE ARGUMENT STACK
1345 =item EXTENDING YOUR EXTENSION
1347 =item DOCUMENTING YOUR EXTENSION
1349 =item INSTALLING YOUR EXTENSION
1359 =head2 perlguts - Perl's Internal Functions
1367 =item What is an "IV"?
1369 =item Working with SV's
1371 =item What's Really Stored in an SV?
1373 =item Working with AV's
1375 =item Working with HV's
1379 =item Blessed References and Class Objects
1381 =item Creating New Variables
1383 =item Reference Counts and Mortality
1385 =item Stashes and Globs
1389 =item Assigning Magic
1391 =item Magic Virtual Tables
1395 =item Double-Typed SV's
1397 =item XSUB's and the Argument Stack
1399 =item Calling Perl Routines from within C Programs
1401 =item Memory Allocation
1407 =item Putting a C value on Perl stack
1411 =item Scratchpads and recursions
1415 AvFILL, av_clear, av_extend, av_fetch, av_len, av_make, av_pop, av_push,
1416 av_shift, av_store, av_undef, av_unshift, CLASS, Copy, croak, CvSTASH,
1417 DBsingle, DBsub, DBtrace, dMARK, dORIGMARK, dowarn, dSP, dXSARGS, dXSI32,
1418 dXSI32, ENTER, EXTEND, FREETMPS, G_ARRAY, G_DISCARD, G_EVAL, GIMME,
1419 G_NOARGS, G_SCALAR, gv_fetchmeth, gv_fetchmethod, gv_stashpv, gv_stashsv,
1420 GvSV, he_free, hv_clear, hv_delete, hv_exists, hv_fetch, hv_iterinit,
1421 hv_iterkey, hv_iternext, hv_iternextsv, hv_iterval, hv_magic, HvNAME,
1422 hv_store, hv_undef, isALNUM, isALPHA, isDIGIT, isLOWER, isSPACE, isUPPER,
1423 items, ix, LEAVE, MARK, mg_clear, mg_copy, mg_find, mg_free, mg_get,
1424 mg_len, mg_magical, mg_set, Move, na, New, Newc, Newz, newAV, newHV,
1425 newRV_inc, newRV_noinc, newSV, newSViv, newSVnv, newSVpv, newSVrv, newSVsv,
1426 newXS, newXSproto, Nullav, Nullch, Nullcv, Nullhv, Nullsv, ORIGMARK,
1427 perl_alloc, perl_call_argv, perl_call_method, perl_call_pv, perl_call_sv,
1428 perl_construct, perl_destruct, perl_eval_sv, perl_free, perl_get_av,
1429 perl_get_cv, perl_get_hv, perl_get_sv, perl_parse, perl_require_pv,
1430 perl_run, POPi, POPl, POPp, POPn, POPs, PUSHMARK, PUSHi, PUSHn, PUSHp,
1431 PUSHs, PUTBACK, Renew, Renewc, RETVAL, safefree, safemalloc, saferealloc,
1432 savepv, savepvn, SAVETMPS, SP, SPAGAIN, ST, strEQ, strGE, strGT, strLE,
1433 strLT, strNE, strnEQ, strnNE, sv_2mortal, sv_bless, sv_catpv, sv_catpvn,
1434 sv_catsv, sv_cmp, sv_cmp, SvCUR, SvCUR_set, sv_dec, sv_dec, SvEND, sv_eq,
1435 SvGROW, sv_grow, sv_inc, SvIOK, SvIOK_off, SvIOK_on, SvIOK_only,
1436 SvIOK_only, SvIOKp, sv_isa, SvIV, sv_isobject, SvIVX, SvLEN, sv_len,
1437 sv_len, sv_magic, sv_mortalcopy, SvOK, sv_newmortal, sv_no, SvNIOK,
1438 SvNIOK_off, SvNIOKp, SvNOK, SvNOK_off, SvNOK_on, SvNOK_only, SvNOK_only,
1439 SvNOKp, SvNV, SvNVX, SvPOK, SvPOK_off, SvPOK_on, SvPOK_only, SvPOK_only,
1440 SvPOKp, SvPV, SvPVX, SvREFCNT, SvREFCNT_dec, SvREFCNT_inc, SvROK,
1441 SvROK_off, SvROK_on, SvRV, sv_setiv, sv_setnv, sv_setpv, sv_setpvn,
1442 sv_setref_iv, sv_setref_nv, sv_setref_pv, sv_setref_pvn, sv_setsv, SvSTASH,
1443 SVt_IV, SVt_PV, SVt_PVAV, SVt_PVCV, SVt_PVHV, SVt_PVMG, SVt_NV, SvTRUE,
1444 SvTYPE, svtype, SvUPGRADE, sv_upgrade, sv_undef, sv_unref, sv_usepvn,
1445 sv_yes, THIS, toLOWER, toUPPER, warn, XPUSHi, XPUSHn, XPUSHp, XPUSHs, XS,
1446 XSRETURN, XSRETURN_EMPTY, XSRETURN_IV, XSRETURN_NO, XSRETURN_NV,
1447 XSRETURN_PV, XSRETURN_UNDEF, XSRETURN_YES, XST_mIV, XST_mNV, XST_mNO,
1448 XST_mPV, XST_mUNDEF, XST_mYES, XS_VERSION, XS_VERSION_BOOTCHECK, Zero
1456 =head2 perlcall - Perl calling conventions from C
1460 An Error Handler, An Event Driven Program
1462 =item THE PERL_CALL FUNCTIONS
1464 B<perl_call_sv>, B<perl_call_pv>, B<perl_call_method>, B<perl_call_argv>
1482 =item Determining the Context
1486 =item KNOWN PROBLEMS
1492 =item No Parameters, Nothing returned
1494 =item Passing Parameters
1496 =item Returning a Scalar
1498 =item Returning a list of values
1500 =item Returning a list in a scalar context
1502 =item Returning Data from Perl via the parameter list
1506 =item Using G_KEEPERR
1508 =item Using perl_call_sv
1510 =item Using perl_call_argv
1512 =item Using perl_call_method
1516 =item Using Perl to dispose of temporaries
1518 =item Strategies for storing Callback Context Information
1520 1. Ignore the problem - Allow only 1 callback, 2. Create a sequence of
1521 callbacks - hard wired limit, 3. Use a parameter to map to the Perl
1524 =item Alternate Stack Manipulation
1534 =head1 PRAGMA DOCUMENTATION
1536 =head2 blib - Use MakeMaker's uninstalled version of a package
1546 =head2 diagnostics - Perl compiler pragma to force verbose warning
1555 =item The C<diagnostics> Pragma
1557 =item The I<splain> Program
1569 =head2 integer - Perl pragma to compute arithmetic in integer instead of
1576 =head2 less - perl pragma to request less of something from the compiler
1582 =head2 lib - manipulate @INC at compile time
1590 =item ADDING DIRECTORIES TO @INC
1592 =item DELETING DIRECTORIES FROM @INC
1594 =item RESTORING ORIGINAL @INC
1602 =head2 locale - Perl pragma to use and avoid POSIX locales for built-in
1609 =head2 ops - Perl pragma to restrict unsafe operations when compiling
1617 =head2 overload - Package for overloading perl operations
1621 =item CAVEAT SCRIPTOR
1627 =item Declaration of overloaded functions
1629 =item Calling Conventions for Binary Operations
1631 FALSE, TRUE, C<undef>
1633 =item Calling Conventions for Unary Operations
1635 =item Overloadable Operations
1637 I<Arithmetic operations>, I<Comparison operations>, I<Bit operations>,
1638 I<Increment and decrement>, I<Transcendental functions>, I<Boolean, string
1639 and numeric conversion>, I<Special>
1643 =item SPECIAL SYMBOLS FOR C<use overload>
1651 C<undef>, TRUE, defined, but FALSE
1653 =item Copy Constructor
1659 =item MAGIC AUTOGENERATION
1661 I<Assignment forms of arithmetic operations>, I<Conversion operations>,
1662 I<Increment and decrement>, C<abs($a)>, I<Unary minus>, I<Negation>,
1663 I<Concatenation>, I<Comparison operations>, I<Copy operator>
1667 =item Run-time Overloading
1669 =item Public functions
1671 overload::StrVal(arg), overload::Overloaded(arg), overload::Method(obj,op)
1673 =item IMPLEMENTATION
1681 =head2 sigtrap - Perl pragma to enable simple signal handling
1691 =item SIGNAL HANDLERS
1693 B<stack-trace>, B<die>, B<handler> I<your-handler>
1697 B<normal-signals>, B<error-signals>, B<old-interface-signals>
1701 B<untrapped>, B<any>, I<signal>, I<number>
1707 =head2 strict - Perl pragma to restrict unsafe constructs
1713 C<strict refs>, C<strict vars>, C<strict subs>
1715 =head2 subs - Perl pragma to predeclare sub names
1721 =head2 vars - Perl pragma to predeclare global variable names
1727 =head1 MODULE DOCUMENTATION
1729 =head2 AnyDBM_File - provide framework for multiple DBMs
1737 =item DBM Comparisons
1745 =head2 AutoLoader - load functions only on demand
1757 =item Package Lexicals
1759 =item AutoLoader vs. SelfLoader
1765 =head2 AutoSplit - split a package for autoloading
1775 =head2 Benchmark - benchmark running times of code
1787 =item Standard Exports
1789 timeit(COUNT, CODE), timethis, timethese, timediff, timestr
1791 =item Optional Exports
1803 =item MODIFICATION HISTORY
1805 =head2 CPAN - query, download and build perl modules from CPAN sites
1813 =item Interactive Mode
1815 Searching for authors, bundles, distribution files and modules, make, test,
1816 install, clean modules or distributions
1820 =item ProgrammerE<39>s interface
1834 o conf E<lt>scalar optionE<gt>, o conf E<lt>scalar optionE<gt>
1835 E<lt>valueE<gt>, o conf E<lt>list optionE<gt>, o conf E<lt>list optionE<gt>
1836 [shift|pop], o conf E<lt>list optionE<gt> [unshift|push|splice]
1855 =head2 CPAN::FirstTime - Utility for CPAN::Config file Initialization
1861 =head2 CPANox, CPAN::Nox - Wrapper around CPAN.pm without using any XS
1870 =head2 Carp, carp - warn of errors (from perspective of caller)
1876 =head2 Class::Template - struct/member template builder
1884 Example 1, Example 2
1888 =head2 Config - access Perl configuration information
1894 myconfig(), config_sh(), config_vars(@names)
1902 =head2 Cwd, getcwd - get pathname of current working directory
1908 =head2 DB_File - Perl5 access to Berkeley DB
1914 B<DB_HASH>, B<DB_BTREE>, B<DB_RECNO>
1918 =item How does DB_File interface to Berkeley DB?
1920 =item Opening a Berkeley DB Database File
1922 =item Default Parameters
1924 =item In Memory Databases
1932 =item A Simple Example.
1940 =item Changing the BTREE sort order
1942 =item Handling duplicate keys
1944 =item The get_dup method.
1946 =item Matching Partial Keys
1954 =item The bval option
1956 =item A Simple Example
1960 B<$X-E<gt>push(list) ;>, B<$value = $X-E<gt>pop ;>, B<$X-E<gt>shift>,
1961 B<$X-E<gt>unshift(list) ;>, B<$X-E<gt>length>
1963 =item Another Example
1967 =item THE API INTERFACE
1969 B<$status = $X-E<gt>get($key, $value [, $flags]) ;>, B<$status =
1970 $X-E<gt>put($key, $value [, $flags]) ;>, B<$status = $X-E<gt>del($key [,
1971 $flags]) ;>, B<$status = $X-E<gt>fd ;>, B<$status = $X-E<gt>seq($key,
1972 $value, $flags) ;>, B<$status = $X-E<gt>sync([$flags]) ;>
1974 =item HINTS AND TIPS
1978 =item Locking Databases
1980 =item Sharing databases with C applications
1984 =item COMMON QUESTIONS
1988 =item Why is there Perl source in my database?
1990 =item How do I store complex data structures with DB_File?
1992 =item What does "Invalid Argument" mean?
1994 =item What does "Bareword 'DB_File' not allowed" mean?
2008 =head2 Devel::SelfStubber - generate stubs for a SelfLoading module
2014 =head2 DirHandle - supply object methods for directory handles
2020 =head2 DynaLoader - Dynamically load C libraries into Perl code
2026 @dl_library_path, @dl_resolve_using, @dl_require_symbols, dl_error(),
2027 $dl_debug, dl_findfile(), dl_expandspec(), dl_load_file(),
2028 dl_find_symbol(), dl_undef_symbols(), dl_install_xsub(), bootstrap()
2032 =head2 English - use nice English (or awk) names for ugly punctuation
2039 =head2 Env - perl module that imports environment variables
2047 =head2 Exporter - Implements default import method for modules
2055 =item Selecting What To Export
2057 =item Specialised Import Lists
2059 =item Module Version Checking
2061 =item Managing Unknown Symbols
2063 =item Tag Handling Utility Functions
2067 =head2 ExtUtils::Embed - Utilities for embedding Perl in C/C++ applications
2077 xsinit(), Examples, ldopts(), Examples, perl_inc(), ccflags(), ccdlflags(),
2078 ccopts(), xsi_header(), xsi_protos(@modules), xsi_body(@modules)
2086 =head2 ExtUtils::Install - install files from here to there
2092 =head2 ExtUtils::Liblist - determine libraries to use and how to use them
2098 For static extensions, For dynamic extensions, For dynamic extensions
2104 =item LDLOADLIBS and LD_RUN_PATH
2114 =item VMS implementation
2120 =head2 ExtUtils::MM_OS2 - methods to override UN*X behaviour in
2127 =head2 ExtUtils::MM_Unix - methods used by ExtUtils::MakeMaker
2137 =item Preloaded methods
2139 canonpath, catdir, catfile, curdir, rootdir, updir
2141 =item SelfLoaded methods
2143 c_o (o), cflags (o), clean (o), const_cccmd (o), const_config (o),
2144 const_loadlibs (o), constants (o), depend (o), dir_target (o), dist (o),
2145 dist_basics (o), dist_ci (o), dist_core (o), dist_dir (o), dist_test (o),
2146 dlsyms (o), dynamic (o), dynamic_bs (o), dynamic_lib (o), exescan,
2147 extliblist, file_name_is_absolute, find_perl
2149 =item Methods to actually produce chunks of text for the Makefile
2151 force (o), guess_name, has_link_code, init_dirscan, init_main, init_others,
2152 install (o), installbin (o), libscan (o), linkext (o), lsdir, macro (o),
2153 makeaperl (o), makefile (o), manifypods (o), maybe_command,
2154 maybe_command_in_dirs, needs_linking (o), nicetext, parse_version, pasthru
2155 (o), path, perl_script, perldepend (o), pm_to_blib, post_constants (o),
2156 post_initialize (o), postamble (o), prefixify, processPL (o), realclean
2157 (o), replace_manpage_separator, static (o), static_lib (o), staticmake (o),
2158 subdir_x (o), subdirs (o), test (o), test_via_harness (o), test_via_script
2159 (o), tool_autosplit (o), tools_other (o), tool_xsubpp (o), top_targets (o),
2160 writedoc, xs_c (o), xs_o (o)
2166 =head2 ExtUtils::MM_VMS - methods to override UN*X behaviour in
2175 =item Methods always loaded
2177 eliminate_macros, fixpath, catdir, catfile, wraplist, curdir (override),
2178 rootdir (override), updir (override)
2180 =item SelfLoaded methods
2182 guess_name (override), find_perl (override), path (override), maybe_command
2183 (override), maybe_command_in_dirs (override), perl_script (override),
2184 file_name_is_absolute (override), replace_manpage_separator, init_others
2185 (override), constants (override), cflags (override), const_cccmd
2186 (override), pm_to_blib (override), tool_autosplit (override), tool_sxubpp
2187 (override), xsubpp_version (override), tools_other (override), dist
2188 (override), c_o (override), xs_c (override), xs_o (override), top_targets
2189 (override), dlsyms (override), dynamic_lib (override), dynamic_bs
2190 (override), static_lib (override), manifypods (override), processPL
2191 (override), installbin (override), subdir_x (override), clean (override),
2192 realclean (override), dist_basics (override), dist_core (override),
2193 dist_dir (override), dist_test (override), install (override), perldepend
2194 (override), makefile (override), test (override), test_via_harness
2195 (override), test_via_script (override), makeaperl (override), nicetext
2200 =head2 ExtUtils::MakeMaker - create an extension Makefile
2208 =item How To Write A Makefile.PL
2210 =item Default Makefile Behaviour
2218 =item PREFIX and LIB attribute
2222 =item Static Linking of a new Perl Binary
2224 =item Determination of Perl Library and Installation Locations
2226 =item Which architecture dependent directory?
2228 =item Using Attributes and Parameters
2230 C, CONFIG, CONFIGURE, DEFINE, DIR, DISTNAME, DL_FUNCS, DL_VARS,
2231 EXCLUDE_EXT, EXE_FILES, NO_VC, FIRST_MAKEFILE, FULLPERL, H, INC,
2232 INCLUDE_EXT, INSTALLARCHLIB, INSTALLBIN, INSTALLDIRS, INSTALLMAN1DIR,
2233 INSTALLMAN3DIR, INSTALLPRIVLIB, INSTALLSCRIPT, INSTALLSITELIB,
2234 INSTALLSITEARCH, INST_ARCHLIB, INST_BIN, INST_EXE, INST_LIB, INST_MAN1DIR,
2235 INST_MAN3DIR, INST_SCRIPT, LDFROM, LIBPERL_A, LIB, LIBS, LINKTYPE,
2236 MAKEAPERL, MAKEFILE, MAN1PODS, MAN3PODS, MAP_TARGET, MYEXTLIB, NAME,
2237 NEEDS_LINKING, NOECHO, NORECURS, OBJECT, OPTIMIZE, PERL, PERLMAINCC,
2238 PERL_ARCHLIB, PERL_LIB, PERL_SRC, PL_FILES, PM, PMLIBDIRS, PREFIX,
2239 PREREQ_PM, SKIP, TYPEMAPS, VERSION, VERSION_FROM, XS, XSOPT, XSPROTOARG,
2242 =item Additional lowercase attributes
2244 clean, depend, dist, dynamic_lib, installpm, linkext, macro, realclean,
2247 =item Overriding MakeMaker Methods
2249 =item Hintsfile support
2251 =item Distribution Support
2253 make distcheck, make skipcheck, make distclean, make manifest,
2254 make distdir, make tardist, make dist, make uutardist, make
2255 shdist, make zipdist, make ci
2263 =head2 ExtUtils::Manifest - utilities to write and check a MANIFEST file
2273 =item GLOBAL VARIABLES
2277 C<Not in MANIFEST:> I<file>, C<No such file:> I<file>, C<MANIFEST:> I<$!>,
2278 C<Added to MANIFEST:> I<file>
2284 =head2 ExtUtils::Miniperl, writemain - write the C code for perlmain.c
2292 =head2 ExtUtils::Mkbootstrap - make a bootstrap file for use by DynaLoader
2298 =head2 ExtUtils::Mksymlists - write linker options files for dynamic
2305 NAME, DL_FUNCS, DL_VARS, FILE, FUNCLIST, DLBASE
2311 =head2 ExtUtils::testlib - add blib/* directories to @INC
2317 =head2 Fatal - replace functions with equivalents which succeed or die
2325 =head2 Fcntl - load the C Fcntl.h defines
2333 =item EXPORTED SYMBOLS
2335 =head2 File::Basename, fileparse - split a pathname into pieces
2341 fileparse_set_fstype, fileparse
2345 C<basename>, C<dirname>
2347 =head2 File::CheckTree, validate - run many filetest checks on a tree
2353 =head2 File::Compare - Compare files or filehandles
2363 =head2 File::Copy - Copy files or filehandles
2371 =item Special behavior if C<syscopy> is defined (VMS and OS/2)
2373 rmscopy($from,$to[,$date_flag])
2381 =head2 File::Find, find - traverse a file tree
2387 =head2 File::Path - create or remove a series of directories
2397 =head2 File::stat - by-name interface to Perl's built-in stat() functions
2407 =head2 FileCache - keep more files open than the system permits
2415 =head2 FileHandle - supply object methods for filehandles
2421 $fh->print, $fh->printf, $fh->getline, $fh->getlines
2425 =head2 FindBin - Locate directory of original perl script
2431 =item EXPORTABLE VARIABLES
2441 =head2 GDBM_File - Perl5 access to the gdbm library.
2453 =head2 Getopt::Long, GetOptions - extended processing of command line
2460 E<lt>noneE<gt>, !, =s, :s, =i, :i, =f, :f
2464 =item Linkage specification
2466 =item Aliases and abbreviations
2468 =item Non-option call-back routine
2470 =item Option starters
2480 =item CONFIGURATION VARIABLES
2482 $Getopt::Long::autoabbrev, $Getopt::Long::getopt_compat,
2483 $Getopt::Long::order, $Getopt::Long::bundling, $Getopt::Long::ignorecase,
2484 $Getopt::Long::passthrough, $Getopt::Long::VERSION, $Getopt::Long::error,
2485 $Getopt::Long::debug
2487 =head2 Getopt::Std, getopt - Process single-character switches with switch
2494 =head2 I18N::Collate - compare 8-bit scalar data according to the current
2501 =head2 IO - load various IO modules
2507 =head2 IO::File - supply object methods for filehandles
2519 open( FILENAME [,MODE [,PERMS]] )
2525 =head2 IO::Handle - supply object methods for I/O handles
2533 new (), new_from_fd ( FD, MODE )
2537 $fh->getline, $fh->getlines, $fh->fdopen ( FD, MODE ), $fh->write ( BUF,
2538 LEN [, OFFSET }\] ), $fh->opened, $fh->untaint
2548 =head2 IO::Pipe, IO::pipe - supply object methods for pipes
2556 new ( [READER, WRITER] )
2560 reader ([ARGS]), writer ([ARGS]), handles ()
2568 =head2 IO::Seekable - supply seek based methods for I/O objects
2578 =head2 IO::Select - OO interface to the select system call
2590 add ( HANDLES ), remove ( HANDLES ), exists ( HANDLE ), handles, can_read (
2591 [ TIMEOUT ] ), can_write ( [ TIMEOUT ] ), has_error ( [ TIMEOUT ] ), count
2592 (), bits(), bits(), select ( READ, WRITE, ERROR [, TIMEOUT ] )
2600 =head2 IO::Socket - Object interface to socket communications
2612 accept([PKG]), timeout([VAL]), sockopt(OPT [, VAL]), sockdomain, socktype,
2619 =item IO::Socket::INET
2623 sockaddr (), sockport (), sockhost (), peeraddr (), peerport (), peerhost
2626 =item IO::Socket::UNIX
2630 hostpath(), peerpath()
2640 =head2 IO::lib::IO::File, IO::File - supply object methods for filehandles
2652 open( FILENAME [,MODE [,PERMS]] )
2658 =head2 IO::lib::IO::Handle, IO::Handle - supply object methods for I/O
2667 new (), new_from_fd ( FD, MODE )
2671 $fh->getline, $fh->getlines, $fh->fdopen ( FD, MODE ), $fh->write ( BUF,
2672 LEN [, OFFSET }\] ), $fh->opened, $fh->untaint
2682 =head2 IO::lib::IO::Pipe, IO::pipe - supply object methods for pipes
2690 new ( [READER, WRITER] )
2694 reader ([ARGS]), writer ([ARGS]), handles ()
2702 =head2 IO::lib::IO::Seekable, IO::Seekable - supply seek based methods for
2713 =head2 IO::lib::IO::Select, IO::Select - OO interface to the select system
2726 add ( HANDLES ), remove ( HANDLES ), exists ( HANDLE ), handles, can_read (
2727 [ TIMEOUT ] ), can_write ( [ TIMEOUT ] ), has_error ( [ TIMEOUT ] ), count
2728 (), bits(), bits(), select ( READ, WRITE, ERROR [, TIMEOUT ] )
2736 =head2 IO::lib::IO::Socket, IO::Socket - Object interface to socket
2749 accept([PKG]), timeout([VAL]), sockopt(OPT [, VAL]), sockdomain, socktype,
2756 =item IO::Socket::INET
2760 sockaddr (), sockport (), sockhost (), peeraddr (), peerport (), peerhost
2763 =item IO::Socket::UNIX
2767 hostpath(), peerpath()
2777 =head2 IPC::Open2, open2 - open a process for both reading and writing
2787 =head2 IPC::Open3, open3 - open a process for reading, writing, and error
2796 =head2 Math::BigFloat - Arbitrary length float math package
2802 number format, Error returns 'NaN', Division is computed to
2808 =head2 Math::BigInt - Arbitrary size integer math package
2814 Canonical notation, Input, Output
2822 =head2 Math::Complex - complex numbers and associated mathematical
2833 =item STRINGIFICATION
2841 =head2 NDBM_File - Tied access to ndbm files
2847 =head2 Net::Ping - check a remote host for reachability
2857 Net::Ping->new([$proto [, $def_timeout [, $bytes]]]);, $p->ping($host [,
2858 $timeout]);, $p->close();, pingecho($host [, $timeout]);
2866 =head2 Net::hostent - by-name interface to Perl's built-in gethost*()
2879 =head2 Net::netent - by-name interface to Perl's built-in getnet*()
2892 =head2 Net::protoent - by-name interface to Perl's built-in getproto*()
2903 =head2 Net::servent - by-name interface to Perl's built-in getserv*()
2916 =head2 ODBM_File - Tied access to odbm files
2922 =head2 Opcode - Disable named opcodes when compiling perl code
2932 =item Operator Names and Operator Lists
2934 an operator name (opname), an operator tag name (optag), a negated opname
2935 or optag, an operator set (opset)
2937 =item Opcode Functions
2939 opcodes, opset (OP, ...), opset_to_ops (OPSET), opset_to_hex (OPSET),
2940 full_opset, empty_opset, invert_opset (OPSET), verify_opset (OPSET, ...),
2941 define_optag (OPTAG, OPSET), opmask_add (OPSET), opmask, opdesc (OP, ...),
2944 =item Manipulating Opsets
2948 =item Predefined Opcode Tags
2950 :base_core, :base_mem, :base_loop, :base_io, :base_orig, :base_math,
2951 :default, :filesys_read, :sys_db, :browse, :filesys_open, :filesys_write,
2952 :subprocess, :ownprocess, :others, :still_to_be_decided, :dangerous
2958 =head2 Opcode::Safe, Safe - Compile and execute code in restricted
2965 a new namespace, an operator mask
2971 =item RECENT CHANGES
2973 =item Methods in class Safe
2975 permit (OP, ...), permit_only (OP, ...), deny (OP, ...), deny_only (OP,
2976 ...), trap (OP, ...), untrap (OP, ...), share (NAME, ...), share_from
2977 (PACKAGE, ARRAYREF), varglob (VARNAME), reval (STRING), rdo (FILENAME),
2978 root (NAMESPACE), mask (MASK)
2980 =item Some Safety Issues
2982 Memory, CPU, Snooping, Signals, State Changes
2988 =head2 Opcode::ops, ops - Perl pragma to restrict unsafe operations when
2997 =head2 POSIX - Perl interface to IEEE Std 1003.1
3009 _exit, abort, abs, access, acos, alarm, asctime, asin, assert, atan, atan2,
3010 atexit, atof, atoi, atol, bsearch, calloc, ceil, chdir, chmod, chown,
3011 clearerr, clock, close, closedir, cos, cosh, creat, ctermid, ctime,
3012 cuserid, difftime, div, dup, dup2, errno, execl, execle, execlp, execv,
3013 execve, execvp, exit, exp, fabs, fclose, fcntl, fdopen, feof, ferror,
3014 fflush, fgetc, fgetpos, fgets, fileno, floor, fmod, fopen, fork, fpathconf,
3015 fprintf, fputc, fputs, fread, free, freopen, frexp, fscanf, fseek, fsetpos,
3016 fstat, ftell, fwrite, getc, getchar, getcwd, getegid, getenv, geteuid,
3017 getgid, getgrgid, getgrnam, getgroups, getlogin, getpgrp, getpid, getppid,
3018 getpwnam, getpwuid, gets, getuid, gmtime, isalnum, isalpha, isatty,
3019 iscntrl, isdigit, isgraph, islower, isprint, ispunct, isspace, isupper,
3020 isxdigit, kill, labs, ldexp, ldiv, link, localeconv, localtime, log, log10,
3021 longjmp, lseek, malloc, mblen, mbstowcs, mbtowc, memchr, memcmp, memcpy,
3022 memmove, memset, mkdir, mkfifo, mktime, modf, nice, offsetof, open,
3023 opendir, pathconf, pause, perror, pipe, pow, printf, putc, putchar, puts,
3024 qsort, raise, rand, read, readdir, realloc, remove, rename, rewind,
3025 rewinddir, rmdir, scanf, setgid, setjmp, setlocale, setpgid, setsid,
3026 setuid, sigaction, siglongjmp, sigpending, sigprocmask, sigsetjmp,
3027 sigsuspend, sin, sinh, sleep, sprintf, sqrt, srand, sscanf, stat, strcat,
3028 strchr, strcmp, strcoll, strcpy, strcspn, strerror, strftime, strlen,
3029 strncat, strncmp, strncpy, stroul, strpbrk, strrchr, strspn, strstr,
3030 strtod, strtok, strtol, strtoul, strxfrm, sysconf, system, tan, tanh,
3031 tcdrain, tcflow, tcflush, tcgetpgrp, tcsendbreak, tcsetpgrp, time, times,
3032 tmpfile, tmpnam, tolower, toupper, ttyname, tzname, tzset, umask, uname,
3033 ungetc, unlink, utime, vfprintf, vprintf, vsprintf, wait, waitpid,
3034 wcstombs, wctomb, write
3040 =item POSIX::SigAction
3046 new, addset, delset, emptyset, fillset, ismember
3048 =item POSIX::Termios
3050 new, getattr, getcc, getcflag, getiflag, getispeed, getlflag, getoflag,
3051 getospeed, setattr, setcc, setcflag, setiflag, setispeed, setlflag,
3052 setoflag, setospeed, Baud rate values, Terminal interface values, c_cc
3053 field values, c_cflag field values, c_iflag field values, c_lflag field
3054 values, c_oflag field values
3058 =item PATHNAME CONSTANTS
3062 =item POSIX CONSTANTS
3066 =item SYSTEM CONFIGURATION
3124 =head2 Pod::Text - convert POD data to formatted ASCII text
3134 =head2 SDBM_File - Tied access to sdbm files
3140 =head2 Safe - Compile and execute code in restricted compartments
3146 a new namespace, an operator mask
3152 =item RECENT CHANGES
3154 =item Methods in class Safe
3156 permit (OP, ...), permit_only (OP, ...), deny (OP, ...), deny_only (OP,
3157 ...), trap (OP, ...), untrap (OP, ...), share (NAME, ...), share_from
3158 (PACKAGE, ARRAYREF), varglob (VARNAME), reval (STRING), rdo (FILENAME),
3159 root (NAMESPACE), mask (MASK)
3161 =item Some Safety Issues
3163 Memory, CPU, Snooping, Signals, State Changes
3169 =head2 Search::Dict, look - search for key in dictionary file
3175 =head2 SelectSaver - save and restore selected file handle
3181 =head2 SelfLoader - load functions only on demand
3189 =item The __DATA__ token
3191 =item SelfLoader autoloading
3193 =item Autoloading and package lexicals
3195 =item SelfLoader and AutoLoader
3197 =item __DATA__, __END__, and the FOOBAR::DATA filehandle.
3199 =item Classes and inherited methods.
3203 =item Multiple packages and fully qualified subroutine names
3205 =head2 Shell - run shell commands transparently within perl
3213 =head2 Socket, sockaddr_in, sockaddr_un, inet_aton, inet_ntoa - load the C
3214 socket.h defines and structure manipulators
3220 inet_aton HOSTNAME, inet_ntoa IP_ADDRESS, INADDR_ANY, INADDR_BROADCAST,
3221 INADDR_LOOPBACK, INADDR_NONE, sockaddr_in PORT, ADDRESS, sockaddr_in
3222 SOCKADDR_IN, pack_sockaddr_in PORT, IP_ADDRESS, unpack_sockaddr_in
3223 SOCKADDR_IN, sockaddr_un PATHNAME, sockaddr_un SOCKADDR_UN,
3224 pack_sockaddr_un PATH, unpack_sockaddr_un SOCKADDR_UN
3226 =head2 Symbol - manipulate Perl symbols and their names
3232 =head2 Sys::Hostname - Try every conceivable way to get hostname
3240 =head2 Syslog, Sys::Syslog, openlog, closelog, setlogmask, syslog - Perl
3241 interface to the UNIX syslog(3) calls
3247 openlog $ident, $logopt, $facility, syslog $priority, $format, @args,
3248 setlogmask $mask_priority, closelog
3258 =head2 Term::Cap - Perl termcap interface
3266 =head2 Term::Complete - Perl word completion module
3272 E<lt>tabE<gt>Attempts word completion.
3273 Cannot be changed, ^D, ^U, E<lt>delE<gt>, E<lt>bsE<gt>
3281 =head2 Term::ReadLine - Perl interface to various C<readline> packages. If
3282 no real package is found, substitutes stubs instead of basic functions.
3288 =item Minimal set of supported functions
3290 C<ReadLine>, C<new>, C<readline>, C<addhistory>, C<IN>, $C<OUT>,
3291 C<MinLine>, C<findConsole>, C<Features>
3295 =head2 Test::Harness - run perl standard test scripts with statistics
3303 =item The test script output
3311 C<All tests successful.\nFiles=%d, Tests=%d, %s>, C<FAILED tests
3312 %s\n\tFailed %d/%d tests, %.2f%% okay.>, C<Test returned status %d (wstat
3313 %d)>, C<Failed 1 test, %.2f%% okay. %s>, C<Failed %d/%d tests, %.2f%% okay.
3322 =head2 Text::Abbrev, abbrev - create an abbreviation table from a list
3330 =head2 Text::ParseWords - parse text into an array of tokens
3338 =head2 Text::Soundex - Implementation of the Soundex Algorithm as Described
3351 =head2 Text::Tabs -- expand and unexpand tabs per the unix expand(1) and
3362 =head2 Text::Wrap - line wrapping to form simple paragraphs
3372 =head2 Tie::Hash, Tie::StdHash - base class definitions for tied hashes
3378 TIEHASH classname, LIST, STORE this, key, value, FETCH this, key, FIRSTKEY
3379 this, NEXTKEY this, lastkey, EXISTS this, key, DELETE this, key, CLEAR this
3383 =item MORE INFORMATION
3385 =head2 Tie::RefHash - use references as hash keys
3399 =head2 Tie::Scalar, Tie::StdScalar - base class definitions for tied
3406 TIESCALAR classname, LIST, FETCH this, STORE this, value, DESTROY this
3408 =item MORE INFORMATION
3410 =head2 Tie::SubstrHash - Fixed-table-size, fixed-key-length hashing
3418 =head2 Time::Local - efficiently compute time from local and GMT time
3424 =head2 Time::gmtime - by-name interface to Perl's built-in gmtime()
3435 =head2 Time::localtime - by-name interface to Perl's built-in localtime()
3446 =head2 Time::tm - internal object used by Time::gmtime and Time::localtime
3454 =head2 UNIVERSAL - base class for ALL classes (blessed references)
3460 isa ( TYPE ), can ( METHOD ), VERSION ( [ REQUIRE ] ), isa ( REF, TYPE )
3462 =head2 User::grent - by-name interface to Perl's built-in getgr*()
3473 =head2 User::pwent - by-name interface to Perl's built-in getpw*()
3484 =head1 AUXILIARY DOCUMENTATION
3486 Here should be listed all the extra programs' documentation, but they
3487 don't all have manual pages yet:
3509 Larry Wall E<lt>F<larry@wall.org>E<gt>, with the help of oodles