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
40 =head2 perlfaq - frequently asked questions about Perl ($Date: 1999/05/23
49 =item perlfaq: Structural overview of the FAQ.
51 =item L<perlfaq1>: General Questions About Perl
53 =item L<perlfaq2>: Obtaining and Learning about Perl
55 =item L<perlfaq3>: Programming Tools
57 =item L<perlfaq4>: Data Manipulation
59 =item L<perlfaq5>: Files and Formats
61 =item L<perlfaq6>: Regexps
63 =item L<perlfaq7>: General Perl Language Issues
65 =item L<perlfaq8>: System Interaction
67 =item L<perlfaq9>: Networking
71 =item About the perlfaq documents
75 =item Where to get the perlfaq
77 =item How to contribute to the perlfaq
79 =item What will happen if you mail your Perl programming problems to the
86 =item Author and Copyright Information
90 =item Bundled Distributions
98 1/November/2000, 23/May/99, 13/April/99, 7/January/99, 22/June/98,
99 24/April/97, 23/April/97, 25/March/97, 18/March/97, 17/March/97 Version,
100 Initial Release: 11/March/97
104 =head2 perlbook - Perl book information
112 =head2 perlsyn - Perl syntax
122 =item Simple statements
124 =item Compound statements
132 =item Basic BLOCKs and Switch Statements
136 =item PODs: Embedded Documentation
138 =item Plain Old Comments (Not!)
144 =head2 perldata - Perl data types
158 =item Scalar value constructors
160 =item List value constructors
164 =item Typeglobs and Filehandles
172 =head2 perlop - Perl operators and precedence
182 =item Terms and List Operators (Leftward)
184 =item The Arrow Operator
186 =item Auto-increment and Auto-decrement
190 =item Symbolic Unary Operators
192 =item Binding Operators
194 =item Multiplicative Operators
196 =item Additive Operators
198 =item Shift Operators
200 =item Named Unary Operators
202 =item Relational Operators
204 =item Equality Operators
208 =item Bitwise Or and Exclusive Or
210 =item C-style Logical And
212 =item C-style Logical Or
214 =item Range Operators
216 =item Conditional Operator
218 =item Assignment Operators
222 =item List Operators (Rightward)
228 =item Logical or and Exclusive Or
230 =item C Operators Missing From Perl
232 unary &, unary *, (TYPE)
234 =item Quote and Quote-like Operators
236 =item Regexp Quote-Like Operators
238 ?PATTERN?, m/PATTERN/cgimosx, /PATTERN/cgimosx, q/STRING/, C<'STRING'>,
239 qq/STRING/, "STRING", qr/STRING/imosx, qx/STRING/, `STRING`, qw/STRING/,
240 s/PATTERN/REPLACEMENT/egimosx, tr/SEARCHLIST/REPLACEMENTLIST/cds,
241 y/SEARCHLIST/REPLACEMENTLIST/cds
243 =item Gory details of parsing quoted constructs
245 Finding the end, Removal of backslashes before delimiters, Interpolation,
246 C<<<'EOF'>, C<m''>, C<s'''>, C<tr///>, C<y///>, C<''>, C<q//>, C<"">,
247 C<``>, C<qq//>, C<qx//>, C<< <file*glob> >>, C<?RE?>, C</RE/>, C<m/RE/>,
248 C<s/RE/foo/>,, Interpolation of regular expressions, Optimization of
253 =item Constant Folding
255 =item Bitwise String Operators
257 =item Integer Arithmetic
259 =item Floating-point Arithmetic
267 =head2 perlsub - Perl subroutines
277 =item Private Variables via my()
279 =item Persistent Private Variables
281 =item Temporary Values via local()
283 =item Lvalue subroutines
285 =item Passing Symbol Table Entries (typeglobs)
287 =item When to Still Use local()
289 =item Pass by Reference
293 =item Constant Functions
295 =item Overriding Built-in Functions
299 =item Subroutine Attributes
307 =head2 perlfunc - Perl builtin functions
315 =item Perl Functions by Category
317 Functions for SCALARs or strings, Regular expressions and pattern matching,
318 Numeric functions, Functions for real @ARRAYs, Functions for list data,
319 Functions for real %HASHes, Input and output functions, Functions for fixed
320 length data or records, Functions for filehandles, files, or directories,
321 Keywords related to the control flow of your perl program, Keywords related
322 to scoping, Miscellaneous functions, Functions for processes and process
323 groups, Keywords related to perl modules, Keywords related to classes and
324 object-orientedness, Low-level socket functions, System V interprocess
325 communication functions, Fetching user and group info, Fetching network
326 info, Time-related functions, Functions new in perl5, Functions obsoleted
331 =item Alphabetical Listing of Perl Functions
333 I<-X> FILEHANDLE, I<-X> EXPR, I<-X>, abs VALUE, abs, accept
334 NEWSOCKET,GENERICSOCKET, alarm SECONDS, alarm, atan2 Y,X, bind SOCKET,NAME,
335 binmode FILEHANDLE, DISCIPLINE, binmode FILEHANDLE, bless REF,CLASSNAME,
336 bless REF, caller EXPR, caller, chdir EXPR, chmod LIST, chomp VARIABLE,
337 chomp LIST, chomp, chop VARIABLE, chop LIST, chop, chown LIST, chr NUMBER,
338 chr, chroot FILENAME, chroot, close FILEHANDLE, close, closedir DIRHANDLE,
339 connect SOCKET,NAME, continue BLOCK, cos EXPR, cos, crypt PLAINTEXT,SALT,
340 dbmclose HASH, dbmopen HASH,DBNAME,MASK, defined EXPR, defined, delete
341 EXPR, die LIST, do BLOCK, do SUBROUTINE(LIST), do EXPR, dump LABEL, dump,
342 each HASH, eof FILEHANDLE, eof (), eof, eval EXPR, eval BLOCK, exec LIST,
343 exec PROGRAM LIST, exists EXPR, exit EXPR, exp EXPR, exp, fcntl
344 FILEHANDLE,FUNCTION,SCALAR, fileno FILEHANDLE, flock FILEHANDLE,OPERATION,
345 fork, format, formline PICTURE,LIST, getc FILEHANDLE, getc, getlogin,
346 getpeername SOCKET, getpgrp PID, getppid, getpriority WHICH,WHO, getpwnam
347 NAME, getgrnam NAME, gethostbyname NAME, getnetbyname NAME, getprotobyname
348 NAME, getpwuid UID, getgrgid GID, getservbyname NAME,PROTO, gethostbyaddr
349 ADDR,ADDRTYPE, getnetbyaddr ADDR,ADDRTYPE, getprotobynumber NUMBER,
350 getservbyport PORT,PROTO, getpwent, getgrent, gethostent, getnetent,
351 getprotoent, getservent, setpwent, setgrent, sethostent STAYOPEN, setnetent
352 STAYOPEN, setprotoent STAYOPEN, setservent STAYOPEN, endpwent, endgrent,
353 endhostent, endnetent, endprotoent, endservent, getsockname SOCKET,
354 getsockopt SOCKET,LEVEL,OPTNAME, glob EXPR, glob, gmtime EXPR, goto LABEL,
355 goto EXPR, goto &NAME, grep BLOCK LIST, grep EXPR,LIST, hex EXPR, hex,
356 import, index STR,SUBSTR,POSITION, index STR,SUBSTR, int EXPR, int, ioctl
357 FILEHANDLE,FUNCTION,SCALAR, join EXPR,LIST, keys HASH, kill SIGNAL, LIST,
358 last LABEL, last, lc EXPR, lc, lcfirst EXPR, lcfirst, length EXPR, length,
359 link OLDFILE,NEWFILE, listen SOCKET,QUEUESIZE, local EXPR, localtime EXPR,
360 lock, log EXPR, log, lstat EXPR, lstat, m//, map BLOCK LIST, map EXPR,LIST,
361 mkdir FILENAME,MASK, mkdir FILENAME, msgctl ID,CMD,ARG, msgget KEY,FLAGS,
362 msgrcv ID,VAR,SIZE,TYPE,FLAGS, msgsnd ID,MSG,FLAGS, my EXPR, my EXPR :
363 ATTRIBUTES, next LABEL, next, no Module LIST, oct EXPR, oct, open
364 FILEHANDLE,EXPR, open FILEHANDLE,MODE,EXPR, open FILEHANDLE,MODE,EXPR,LIST,
365 open FILEHANDLE, opendir DIRHANDLE,EXPR, ord EXPR, ord, our EXPR, our EXPR
366 : ATTRIBUTES, pack TEMPLATE,LIST, package NAMESPACE, package, pipe
367 READHANDLE,WRITEHANDLE, pop ARRAY, pop, pos SCALAR, pos, print FILEHANDLE
368 LIST, print LIST, print, printf FILEHANDLE FORMAT, LIST, printf FORMAT,
369 LIST, prototype FUNCTION, push ARRAY,LIST, q/STRING/, qq/STRING/,
370 qr/STRING/, qx/STRING/, qw/STRING/, quotemeta EXPR, quotemeta, rand EXPR,
371 rand, read FILEHANDLE,SCALAR,LENGTH,OFFSET, read FILEHANDLE,SCALAR,LENGTH,
372 readdir DIRHANDLE, readline EXPR, readlink EXPR, readlink, readpipe EXPR,
373 recv SOCKET,SCALAR,LENGTH,FLAGS, redo LABEL, redo, ref EXPR, ref, rename
374 OLDNAME,NEWNAME, require VERSION, require EXPR, require, reset EXPR, reset,
375 return EXPR, return, reverse LIST, rewinddir DIRHANDLE, rindex
376 STR,SUBSTR,POSITION, rindex STR,SUBSTR, rmdir FILENAME, rmdir, s///, scalar
377 EXPR, seek FILEHANDLE,POSITION,WHENCE, seekdir DIRHANDLE,POS, select
378 FILEHANDLE, select, select RBITS,WBITS,EBITS,TIMEOUT, semctl
379 ID,SEMNUM,CMD,ARG, semget KEY,NSEMS,FLAGS, semop KEY,OPSTRING, send
380 SOCKET,MSG,FLAGS,TO, send SOCKET,MSG,FLAGS, setpgrp PID,PGRP, setpriority
381 WHICH,WHO,PRIORITY, setsockopt SOCKET,LEVEL,OPTNAME,OPTVAL, shift ARRAY,
382 shift, shmctl ID,CMD,ARG, shmget KEY,SIZE,FLAGS, shmread ID,VAR,POS,SIZE,
383 shmwrite ID,STRING,POS,SIZE, shutdown SOCKET,HOW, sin EXPR, sin, sleep
384 EXPR, sleep, sockatmark SOCKET, socket SOCKET,DOMAIN,TYPE,PROTOCOL,
385 socketpair SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL, sort SUBNAME LIST, sort
386 BLOCK LIST, sort LIST, splice ARRAY,OFFSET,LENGTH,LIST, splice
387 ARRAY,OFFSET,LENGTH, splice ARRAY,OFFSET, splice ARRAY, split
388 /PATTERN/,EXPR,LIMIT, split /PATTERN/,EXPR, split /PATTERN/, split, sprintf
389 FORMAT, LIST, sqrt EXPR, sqrt, srand EXPR, srand, stat FILEHANDLE, stat
390 EXPR, stat, study SCALAR, study, sub BLOCK, sub NAME, sub NAME BLOCK,
391 substr EXPR,OFFSET,LENGTH,REPLACEMENT, substr EXPR,OFFSET,LENGTH, substr
392 EXPR,OFFSET, symlink OLDFILE,NEWFILE, syscall LIST, sysopen
393 FILEHANDLE,FILENAME,MODE, sysopen FILEHANDLE,FILENAME,MODE,PERMS, sysread
394 FILEHANDLE,SCALAR,LENGTH,OFFSET, sysread FILEHANDLE,SCALAR,LENGTH, sysseek
395 FILEHANDLE,POSITION,WHENCE, system LIST, system PROGRAM LIST, syswrite
396 FILEHANDLE,SCALAR,LENGTH,OFFSET, syswrite FILEHANDLE,SCALAR,LENGTH,
397 syswrite FILEHANDLE,SCALAR, tell FILEHANDLE, tell, telldir DIRHANDLE, tie
398 VARIABLE,CLASSNAME,LIST, tied VARIABLE, time, times, tr///, truncate
399 FILEHANDLE,LENGTH, truncate EXPR,LENGTH, uc EXPR, uc, ucfirst EXPR,
400 ucfirst, umask EXPR, umask, undef EXPR, undef, unlink LIST, unlink, unpack
401 TEMPLATE,EXPR, untie VARIABLE, unshift ARRAY,LIST, use Module VERSION LIST,
402 use Module VERSION, use Module LIST, use Module, use VERSION, utime LIST,
403 values HASH, vec EXPR,OFFSET,BITS, wait, waitpid PID,FLAGS, wantarray, warn
404 LIST, write FILEHANDLE, write EXPR, write, y///
410 =head2 perlreftut - Mark's very short tutorial about references
416 =item Who Needs Complicated Data Structures?
424 =item Making References
426 =item Using References
444 =item Distribution Conditions
450 =head2 perldsc - Perl Data Structures Cookbook
456 arrays of arrays, hashes of arrays, arrays of hashes, hashes of hashes,
457 more elaborate constructs
461 =item COMMON MISTAKES
463 =item CAVEAT ON PRECEDENCE
465 =item WHY YOU SHOULD ALWAYS C<use strict>
471 =item ARRAYS OF ARRAYS
475 =item Declaration of a ARRAY OF ARRAYS
477 =item Generation of a ARRAY OF ARRAYS
479 =item Access and Printing of a ARRAY OF ARRAYS
483 =item HASHES OF ARRAYS
487 =item Declaration of a HASH OF ARRAYS
489 =item Generation of a HASH OF ARRAYS
491 =item Access and Printing of a HASH OF ARRAYS
495 =item ARRAYS OF HASHES
499 =item Declaration of a ARRAY OF HASHES
501 =item Generation of a ARRAY OF HASHES
503 =item Access and Printing of a ARRAY OF HASHES
507 =item HASHES OF HASHES
511 =item Declaration of a HASH OF HASHES
513 =item Generation of a HASH OF HASHES
515 =item Access and Printing of a HASH OF HASHES
519 =item MORE ELABORATE RECORDS
523 =item Declaration of MORE ELABORATE RECORDS
525 =item Declaration of a HASH OF COMPLEX RECORDS
527 =item Generation of a HASH OF COMPLEX RECORDS
539 =head2 perlrequick - Perl regular expressions quick start
549 =item Simple word matching
551 =item Using character classes
553 =item Matching this or that
555 =item Grouping things and hierarchical matching
557 =item Extracting matches
559 =item Matching repetitions
563 =item Search and replace
565 =item The split operator
573 =item AUTHOR AND COPYRIGHT
577 =item Acknowledgments
583 =head2 perlpod - plain old documentation
591 =item Verbatim Paragraph
593 =item Command Paragraph
595 =item Ordinary Block of Text
599 =item Embedding Pods in Perl Modules
601 =item Common Pod Pitfalls
611 =head2 perlstyle - Perl style guide
619 =head2 perltrap - Perl traps for the unwary
637 =item Perl4 to Perl5 Traps
639 Discontinuance, Deprecation, and BugFix traps, Parsing Traps, Numerical
640 Traps, General data type traps, Context Traps - scalar, list contexts,
641 Precedence Traps, General Regular Expression Traps using s///, etc,
642 Subroutine, Signal, Sorting Traps, OS Traps, DBM Traps, Unclassified Traps
644 =item Discontinuance, Deprecation, and BugFix traps
646 Discontinuance, Deprecation, BugFix, Discontinuance, Discontinuance,
647 Discontinuance, BugFix, Discontinuance, Discontinuance, BugFix,
648 Discontinuance, Deprecation, Discontinuance, Discontinuance
652 Parsing, Parsing, Parsing, Parsing
654 =item Numerical Traps
656 Numerical, Numerical, Numerical, Bitwise string ops
658 =item General data type traps
660 (Arrays), (Arrays), (Hashes), (Globs), (Globs), (Scalar String),
661 (Constants), (Scalars), (Variable Suicide)
663 =item Context Traps - scalar, list contexts
665 (list context), (scalar context), (scalar context), (list, builtin)
667 =item Precedence Traps
669 Precedence, Precedence, Precedence, Precedence, Precedence, Precedence,
672 =item General Regular Expression Traps using s///, etc.
674 Regular Expression, Regular Expression, Regular Expression, Regular
675 Expression, Regular Expression, Regular Expression, Regular Expression,
678 =item Subroutine, Signal, Sorting Traps
680 (Signals), (Sort Subroutine), warn() won't let you specify a filehandle
686 =item Interpolation Traps
688 Interpolation, Interpolation, Interpolation, Interpolation, Interpolation,
689 Interpolation, Interpolation, Interpolation, Interpolation
695 =item Unclassified Traps
697 C<require>/C<do> trap using returned value, C<split> on empty string with
704 =head2 perlrun - how to execute the Perl interpreter
714 =item #! and quoting on non-Unix systems
716 OS/2, MS-DOS, Win95/NT, Macintosh, VMS
718 =item Location of Perl
720 =item Command Switches
722 B<-0>[I<digits>], B<-a>, B<-C>, B<-c>, B<-d>, B<-d:>I<foo[=bar,baz]>,
723 B<-D>I<letters>, B<-D>I<number>, B<-e> I<commandline>, B<-F>I<pattern>,
724 B<-h>, B<-i>[I<extension>], B<-I>I<directory>, B<-l>[I<octnum>],
725 B<-m>[B<->]I<module>, B<-M>[B<->]I<module>, B<-M>[B<->]I<'module ...'>,
726 B<-[mM]>[B<->]I<module=arg[,arg]...>, B<-n>, B<-p>, B<-P>, B<-s>, B<-S>,
727 B<-T>, B<-u>, B<-U>, B<-v>, B<-V>, B<-V:>I<name>, B<-w>, B<-W>, B<-X>,
734 HOME, LOGDIR, PATH, PERL5LIB, PERL5OPT, PERLLIB, PERL5DB, PERL5SHELL
735 (specific to the Win32 port), PERL_DEBUG_MSTATS, PERL_DESTRUCT_LEVEL,
736 PERL_ROOT (specific to the VMS port), SYS$LOGIN (specific to the VMS port)
740 =head2 perldiag - various Perl diagnostics
748 =head2 perllexwarn - Perl Lexical Warnings
756 =item Default Warnings and Optional Warnings
758 =item What's wrong with B<-w> and C<$^W>
760 =item Controlling Warnings from the Command Line
764 =item Backward Compatibility
766 =item Category Hierarchy
770 =item Reporting Warnings from a Module
782 =head2 perldebtut - Perl debugging tutorial
790 =item Looking at data and -w and w
794 =item Stepping through code
796 =item Placeholder for a, w, t, T
798 =item REGULAR EXPRESSIONS
816 =head2 perldebug - Perl debugging
822 =item The Perl Debugger
826 =item Debugger Commands
828 h [command], p expr, x expr, V [pkg [vars]], X [vars], T, s [expr], n
829 [expr], r, <CR>, c [line|sub], l, l min+incr, l min-max, l line, l subname,
830 -, w [line], f filename, /pattern/, ?pattern?, L, S [[!]regex], t, t expr,
831 b [line] [condition], b subname [condition], b postpone subname
832 [condition], b load filename, b compile subname, d [line], D, a [line]
833 command, a [line], A, W expr, W, O booloption .., O anyoption? .., O
834 option=value .., < ?, < [ command ], << command, > ?, > command, >>
835 command, { ?, { [ command ], {{ command, ! number, ! -number, ! pattern, !!
836 cmd, H -number, q or ^D, R, |dbcmd, ||dbcmd, command, m expr, man [manpage]
838 =item Configurable Options
840 C<recallCommand>, C<ShellBang>, C<pager>, C<tkRunning>, C<signalLevel>,
841 C<warnLevel>, C<dieLevel>, C<AutoTrace>, C<LineInfo>, C<inhibit_exit>,
842 C<PrintRet>, C<ornaments>, C<frame>, C<maxTraceLen>, C<windowSize>,
843 C<arrayDepth>, C<hashDepth>, C<compactDump>, C<veryCompact>, C<globPrint>,
844 C<DumpDBFiles>, C<DumpPackages>, C<DumpReused>, C<quote>, C<HighBit>,
845 C<undefPrint>, C<UsageOnly>, C<TTY>, C<noTTY>, C<ReadLine>, C<NonStop>
847 =item Debugger input/output
849 Prompt, Multiline commands, Stack backtrace, Line Listing Format, Frame
852 =item Debugging compile-time statements
854 =item Debugger Customization
856 =item Readline Support
858 =item Editor Support for Debugging
860 =item The Perl Profiler
864 =item Debugging regular expressions
866 =item Debugging memory usage
874 =head2 perlvar - Perl predefined variables
882 =item Predefined Names
884 $ARG, $_, $a, $b, $<I<digits>>, $MATCH, $&, $PREMATCH, $`, $POSTMATCH, $',
885 $LAST_PAREN_MATCH, $+, $^N, @LAST_MATCH_END, @+, $MULTILINE_MATCHING, $*,
886 input_line_number HANDLE EXPR, $INPUT_LINE_NUMBER, $NR, $,
887 IO::Handle->input_record_separator EXPR, $INPUT_RECORD_SEPARATOR, $RS, $/,
888 autoflush HANDLE EXPR, $OUTPUT_AUTOFLUSH, $|,
889 IO::Handle->output_field_separator EXPR, $OUTPUT_FIELD_SEPARATOR, $OFS, $,,
890 IO::Handle->output_record_separator EXPR, $OUTPUT_RECORD_SEPARATOR, $ORS,
891 $\, $LIST_SEPARATOR, $", $SUBSCRIPT_SEPARATOR, $SUBSEP, $;, $OFMT, $#,
892 format_page_number HANDLE EXPR, $FORMAT_PAGE_NUMBER, $%,
893 format_lines_per_page HANDLE EXPR, $FORMAT_LINES_PER_PAGE, $=,
894 format_lines_left HANDLE EXPR, $FORMAT_LINES_LEFT, $-, @LAST_MATCH_START,
895 @-, C<$`> is the same as C<substr($var, 0, $-[0])>, C<$&> is the same as
896 C<substr($var, $-[0], $+[0] - $-[0])>, C<$'> is the same as C<substr($var,
897 $+[0])>, C<$1> is the same as C<substr($var, $-[1], $+[1] - $-[1])>, C<$2>
898 is the same as C<substr($var, $-[2], $+[2] - $-[2])>, C<$3> is the same as
899 C<substr $var, $-[3], $+[3] - $-[3])>, format_name HANDLE EXPR,
900 $FORMAT_NAME, $~, format_top_name HANDLE EXPR, $FORMAT_TOP_NAME, $^,
901 IO::Handle->format_line_break_characters EXPR,
902 $FORMAT_LINE_BREAK_CHARACTERS, $:, IO::Handle->format_formfeed EXPR,
903 $FORMAT_FORMFEED, $^L, $ACCUMULATOR, $^A, $CHILD_ERROR, $?, $OS_ERROR,
904 $ERRNO, $!, $EXTENDED_OS_ERROR, $^E, $EVAL_ERROR, $@, $PROCESS_ID, $PID,
905 $$, $REAL_USER_ID, $UID, $<, $EFFECTIVE_USER_ID, $EUID, $>, $REAL_GROUP_ID,
906 $GID, $(, $EFFECTIVE_GROUP_ID, $EGID, $), $PROGRAM_NAME, $0, $[, $],
907 $COMPILING, $^C, $DEBUGGING, $^D, $SYSTEM_FD_MAX, $^F, $^H, %^H,
908 $INPLACE_EDIT, $^I, $^M, $OSNAME, $^O, $PERLDB, $^P, 0x01, 0x02, 0x04,
909 0x08, 0x10, 0x20, 0x40, 0x80, 0x100, 0x200, $LAST_REGEXP_CODE_RESULT, $^R,
910 $EXCEPTIONS_BEING_CAUGHT, $^S, $BASETIME, $^T, $PERL_VERSION, $^V,
911 $WARNING, $^W, ${^WARNING_BITS}, ${^WIDE_SYSTEM_CALLS}, $EXECUTABLE_NAME,
912 $^X, $ARGV, @ARGV, @F, @INC, @_, %INC, %ENV, $ENV{expr}, %SIG, $SIG{expr}
914 =item Error Indicators
916 =item Technical Note on the Syntax of Variable Names
924 =head2 perllol - Manipulating Arrays of Arrays in Perl
932 =item Declaration and Access of Arrays of Arrays
934 =item Growing Your Own
936 =item Access and Printing
948 =head2 perlopentut - tutorial on opening things in Perl
954 =item Open E<agrave> la shell
964 =item Mixing Reads and Writes
970 =item Open E<agrave> la C
974 =item Permissions E<agrave> la mode
978 =item Obscure Open Tricks
982 =item Re-Opening Files (dups)
984 =item Dispelling the Dweomer
988 =item Single Argument Open
990 =item Playing with STDIN and STDOUT
994 =item Other I/O Issues
998 =item Opening Non-File Files
1008 =item AUTHOR and COPYRIGHT
1014 =head2 perlretut - Perl regular expressions tutorial
1020 =item Part 1: The basics
1024 =item Simple word matching
1026 =item Using character classes
1028 =item Matching this or that
1030 =item Grouping things and hierarchical matching
1032 =item Extracting matches
1034 =item Matching repetitions
1036 =item Building a regexp
1038 =item Using regular expressions in Perl
1042 =item Part 2: Power tools
1046 =item More on characters, strings, and character classes
1048 =item Compiling and saving regular expressions
1050 =item Embedding comments and modifiers in a regular expression
1052 =item Non-capturing groupings
1054 =item Looking ahead and looking behind
1056 =item Using independent subexpressions to prevent backtracking
1058 =item Conditional expressions
1060 =item A bit of magic: executing Perl code in a regular expression
1062 =item Pragmas and debugging
1070 =item AUTHOR AND COPYRIGHT
1074 =item Acknowledgments
1080 =head2 perlre - Perl regular expressions
1090 =item Regular Expressions
1092 cntrl, graph, print, punct, xdigit
1094 =item Extended Patterns
1096 C<(?#text)>, C<(?imsx-imsx)>, C<(?:pattern)>, C<(?imsx-imsx:pattern)>,
1097 C<(?=pattern)>, C<(?!pattern)>, C<(?<=pattern)>, C<(?<!pattern)>, C<(?{
1098 code })>, C<(??{ code })>, C<< (?>pattern) >>,
1099 C<(?(condition)yes-pattern|no-pattern)>, C<(?(condition)yes-pattern)>
1103 =item Version 8 Regular Expressions
1105 =item Warning on \1 vs $1
1107 =item Repeated patterns matching zero-length substring
1109 =item Combining pieces together
1111 C<ST>, C<S|T>, C<S{REPEAT_COUNT}>, C<S{min,max}>, C<S{min,max}?>, C<S?>,
1112 C<S*>, C<S+>, C<S??>, C<S*?>, C<S+?>, C<< (?>S) >>, C<(?=S)>, C<(?<=S)>,
1113 C<(?!S)>, C<(?<!S)>, C<(??{ EXPR })>,
1114 C<(?(condition)yes-pattern|no-pattern)>
1116 =item Creating custom RE engines
1126 =head2 perlref - Perl references and nested data structures
1136 =item Making References
1138 =item Using References
1140 =item Symbolic references
1142 =item Not-so-symbolic references
1144 =item Pseudo-hashes: Using an array as a hash
1146 =item Function Templates
1156 =head2 perlform - Perl formats
1164 =item Format Variables
1174 =item Accessing Formatting Internals
1182 =head2 perlboot - Beginner's Object-Oriented Tutorial
1190 =item If we could talk to the animals...
1192 =item Introducing the method invocation arrow
1194 =item Invoking a barnyard
1196 =item The extra parameter of method invocation
1198 =item Calling a second method to simplify things
1200 =item Inheriting the windpipes
1202 =item A few notes about @ISA
1204 =item Overriding the methods
1206 =item Starting the search from a different place
1208 =item The SUPER way of doing things
1210 =item Where we're at so far...
1212 =item A horse is a horse, of course of course -- or is it?
1214 =item Invoking an instance method
1216 =item Accessing the instance data
1218 =item How to build a horse
1220 =item Inheriting the constructor
1222 =item Making a method work with either classes or instances
1224 =item Adding parameters to a method
1226 =item More interesting instances
1228 =item A horse of a different color
1240 =head2 perltoot - Tom's object-oriented tutorial for perl
1246 =item Creating a Class
1250 =item Object Representation
1252 =item Class Interface
1254 =item Constructors and Instance Methods
1256 =item Planning for the Future: Better Constructors
1260 =item Other Object Methods
1268 =item Accessing Class Data
1270 =item Debugging Methods
1272 =item Class Destructors
1274 =item Documenting the Interface
1284 =item Overridden Methods
1286 =item Multiple Inheritance
1288 =item UNIVERSAL: The Root of All Objects
1292 =item Alternate Object Representations
1296 =item Arrays as Objects
1298 =item Closures as Objects
1302 =item AUTOLOAD: Proxy Methods
1306 =item Autoloaded Data Methods
1308 =item Inherited Autoloaded Data Methods
1312 =item Metaclassical Tools
1318 =item Data Members as Variables
1326 =item Object Terminology
1332 =item AUTHOR AND COPYRIGHT
1338 =item Acknowledgments
1344 =head2 perltootc - Tom's OO Tutorial for Class Data in Perl
1350 =item Class Data in a Can
1352 =item Class Data as Package Variables
1356 =item Putting All Your Eggs in One Basket
1358 =item Inheritance Concerns
1360 =item The Eponymous Meta-Object
1362 =item Indirect References to Class Data
1364 =item Monadic Classes
1366 =item Translucent Attributes
1370 =item Class Data as Lexical Variables
1374 =item Privacy and Responsibility
1376 =item File-Scoped Lexicals
1378 =item More Inheritance Concerns
1380 =item Locking the Door and Throwing Away the Key
1382 =item Translucency Revisited
1390 =item AUTHOR AND COPYRIGHT
1392 =item ACKNOWLEDGEMENTS
1398 =head2 perlobj - Perl objects
1406 =item An Object is Simply a Reference
1408 =item A Class is Simply a Package
1410 =item A Method is Simply a Subroutine
1412 =item Method Invocation
1414 =item Indirect Object Syntax
1416 =item Default UNIVERSAL methods
1418 isa(CLASS), can(METHOD), VERSION( [NEED] )
1424 =item Two-Phased Garbage Collection
1432 =head2 perlbot - Bag'o Object Tricks (the BOT)
1438 =item OO SCALING TIPS
1440 =item INSTANCE VARIABLES
1442 =item SCALAR INSTANCE VARIABLES
1444 =item INSTANCE VARIABLE INHERITANCE
1446 =item OBJECT RELATIONSHIPS
1448 =item OVERRIDING SUPERCLASS METHODS
1450 =item USING RELATIONSHIP WITH SDBM
1452 =item THINKING OF CODE REUSE
1454 =item CLASS CONTEXT AND THE OBJECT
1456 =item INHERITING A CONSTRUCTOR
1462 =head2 perltie - how to hide an object class in a simple variable
1474 TIESCALAR classname, LIST, FETCH this, STORE this, value, UNTIE this,
1479 TIEARRAY classname, LIST, FETCH this, index, STORE this, index, value,
1480 FETCHSIZE this, STORESIZE this, count, EXTEND this, count, EXISTS this,
1481 key, DELETE this, key, CLEAR this, PUSH this, LIST, POP this, SHIFT this,
1482 UNSHIFT this, LIST, SPLICE this, offset, length, LIST, UNTIE this, DESTROY
1487 USER, HOME, CLOBBER, LIST, TIEHASH classname, LIST, FETCH this, key, STORE
1488 this, key, value, DELETE this, key, CLEAR this, EXISTS this, key, FIRSTKEY
1489 this, NEXTKEY this, lastkey, UNTIE this, DESTROY this
1491 =item Tying FileHandles
1493 TIEHANDLE classname, LIST, WRITE this, LIST, PRINT this, LIST, PRINTF this,
1494 LIST, READ this, LIST, READLINE this, GETC this, CLOSE this, UNTIE this,
1499 =item The C<untie> Gotcha
1511 =head2 perlipc - Perl interprocess communication (signals, fifos, pipes,
1512 safe subprocesses, sockets, and semaphores)
1528 =item Using open() for IPC
1534 =item Background Processes
1536 =item Complete Dissociation of Child from Parent
1538 =item Safe Pipe Opens
1540 =item Bidirectional Communication with Another Process
1542 =item Bidirectional Communication with Yourself
1546 =item Sockets: Client/Server Communication
1550 =item Internet Line Terminators
1552 =item Internet TCP Clients and Servers
1554 =item Unix-Domain TCP Clients and Servers
1558 =item TCP Clients with IO::Socket
1562 =item A Simple Client
1564 C<Proto>, C<PeerAddr>, C<PeerPort>
1566 =item A Webget Client
1568 =item Interactive Client with IO::Socket
1572 =item TCP Servers with IO::Socket
1574 Proto, LocalPort, Listen, Reuse
1576 =item UDP: Message Passing
1590 =head2 perlfork - Perl's fork() emulation (EXPERIMENTAL, subject to change)
1600 =item Behavior of other Perl features in forked pseudo-processes
1602 $$ or $PROCESS_ID, %ENV, chdir() and all other builtins that accept
1603 filenames, wait() and waitpid(), kill(), exec(), exit(), Open handles to
1604 files, directories and network sockets
1606 =item Resource limits
1608 =item Killing the parent process
1610 =item Lifetime of the parent process and pseudo-processes
1612 =item CAVEATS AND LIMITATIONS
1614 BEGIN blocks, Open filehandles, Forking pipe open() not yet implemented,
1615 Global state maintained by XSUBs, Interpreter embedded in larger
1616 application, Thread-safety of extensions
1628 =head2 perlnumber - semantics of numbers and numeric operations in Perl
1636 =item Storing numbers
1638 =item Numeric operators and numeric conversions
1640 =item Flavors of Perl numeric operations
1642 Arithmetic operators except, C<no integer>, Arithmetic operators except,
1643 C<use integer>, Bitwise operators, C<no integer>, Bitwise operators, C<use
1644 integer>, Operators which expect an integer, Operators which expect a
1653 =head2 perlthrtut - tutorial on threads in Perl
1659 =item What Is A Thread Anyway?
1661 =item Threaded Program Models
1673 =item Native threads
1675 =item What kind of threads are perl threads?
1677 =item Threadsafe Modules
1683 =item Basic Thread Support
1685 =item Creating Threads
1687 =item Giving up control
1689 =item Waiting For A Thread To Exit
1691 =item Errors In Threads
1693 =item Ignoring A Thread
1697 =item Threads And Data
1701 =item Shared And Unshared Data
1703 =item Thread Pitfall: Races
1705 =item Controlling access: lock()
1707 =item Thread Pitfall: Deadlocks
1709 =item Queues: Passing Data Around
1713 =item Threads And Code
1717 =item Semaphores: Synchronizing Data Access
1719 Basic semaphores, Advanced Semaphores
1721 =item Attributes: Restricting Access To Subroutines
1723 =item Subroutine Locks
1727 =item Locking A Subroutine
1731 =item General Thread Utility Routines
1735 =item What Thread Am I In?
1739 =item Are These Threads The Same?
1741 =item What Threads Are Running?
1745 =item A Complete Example
1753 =item Introductory Texts
1755 =item OS-Related References
1757 =item Other References
1761 =item Acknowledgements
1769 =head2 perlport - Writing portable Perl
1775 Not all Perl programs have to be portable, Nearly all of Perl already I<is>
1784 =item Numbers endianness and Width
1786 =item Files and Filesystems
1788 =item System Interaction
1790 =item Interprocess Communication (IPC)
1792 =item External Subroutines (XS)
1794 =item Standard Modules
1798 =item Character sets and character encoding
1800 =item Internationalisation
1802 =item System Resources
1812 Mailing list: cpan-testers@perl.org, Testing results:
1813 http://testers.cpan.org/
1821 =item DOS and Derivatives
1829 =item EBCDIC Platforms
1837 =item FUNCTION IMPLEMENTATIONS
1841 =item Alphabetical Listing of Perl Functions
1843 -I<X> FILEHANDLE, -I<X> EXPR, -I<X>, alarm SECONDS, alarm, binmode
1844 FILEHANDLE, chmod LIST, chown LIST, chroot FILENAME, chroot, crypt
1845 PLAINTEXT,SALT, dbmclose HASH, dbmopen HASH,DBNAME,MODE, dump LABEL, exec
1846 LIST, fcntl FILEHANDLE,FUNCTION,SCALAR, flock FILEHANDLE,OPERATION, fork,
1847 getlogin, getpgrp PID, getppid, getpriority WHICH,WHO, getpwnam NAME,
1848 getgrnam NAME, getnetbyname NAME, getpwuid UID, getgrgid GID, getnetbyaddr
1849 ADDR,ADDRTYPE, getprotobynumber NUMBER, getservbyport PORT,PROTO, getpwent,
1850 getgrent, gethostent, getnetent, getprotoent, getservent, setpwent,
1851 setgrent, sethostent STAYOPEN, setnetent STAYOPEN, setprotoent STAYOPEN,
1852 setservent STAYOPEN, endpwent, endgrent, endhostent, endnetent,
1853 endprotoent, endservent, exit EXPR, exit, getsockopt SOCKET,LEVEL,OPTNAME,
1854 glob EXPR, glob, ioctl FILEHANDLE,FUNCTION,SCALAR, kill SIGNAL, LIST, link
1855 OLDFILE,NEWFILE, lstat FILEHANDLE, lstat EXPR, lstat, msgctl ID,CMD,ARG,
1856 msgget KEY,FLAGS, msgsnd ID,MSG,FLAGS, msgrcv ID,VAR,SIZE,TYPE,FLAGS, open
1857 FILEHANDLE,EXPR, open FILEHANDLE, pipe READHANDLE,WRITEHANDLE, readlink
1858 EXPR, readlink, select RBITS,WBITS,EBITS,TIMEOUT, semctl ID,SEMNUM,CMD,ARG,
1859 semget KEY,NSEMS,FLAGS, semop KEY,OPSTRING, setgrent, setpgrp PID,PGRP,
1860 setpriority WHICH,WHO,PRIORITY, setpwent, setsockopt
1861 SOCKET,LEVEL,OPTNAME,OPTVAL, shmctl ID,CMD,ARG, shmget KEY,SIZE,FLAGS,
1862 shmread ID,VAR,POS,SIZE, shmwrite ID,STRING,POS,SIZE, sockatmark SOCKET,
1863 socketpair SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL, stat FILEHANDLE, stat
1864 EXPR, stat, symlink OLDFILE,NEWFILE, syscall LIST, sysopen
1865 FILEHANDLE,FILENAME,MODE,PERMS, system LIST, times, truncate
1866 FILEHANDLE,LENGTH, truncate EXPR,LENGTH, umask EXPR, umask, utime LIST,
1867 wait, waitpid PID,FLAGS
1873 v1.48, 02 February 2001, v1.47, 22 March 2000, v1.46, 12 February 2000,
1874 v1.45, 20 December 1999, v1.44, 19 July 1999, v1.43, 24 May 1999, v1.42, 22
1875 May 1999, v1.41, 19 May 1999, v1.40, 11 April 1999, v1.39, 11 February
1876 1999, v1.38, 31 December 1998, v1.37, 19 December 1998, v1.36, 9 September
1877 1998, v1.35, 13 August 1998, v1.33, 06 August 1998, v1.32, 05 August 1998,
1878 v1.30, 03 August 1998, v1.23, 10 July 1998
1880 =item Supported Platforms
1884 =item AUTHORS / CONTRIBUTORS
1890 =head2 perllocale - Perl locale handling (internationalization and
1897 =item PREPARING TO USE LOCALES
1903 =item The use locale pragma
1905 =item The setlocale function
1907 =item Finding locales
1909 =item LOCALE PROBLEMS
1911 =item Temporarily fixing locale problems
1913 =item Permanently fixing locale problems
1915 =item Permanently fixing your system's locale configuration
1917 =item Fixing system locale configuration
1919 =item The localeconv function
1921 =item I18N::Langinfo
1925 =item LOCALE CATEGORIES
1929 =item Category LC_COLLATE: Collation
1931 =item Category LC_CTYPE: Character Types
1933 =item Category LC_NUMERIC: Numeric Formatting
1935 =item Category LC_MONETARY: Formatting of monetary amounts
1939 =item Other categories
1947 PERL_BADLANG, LC_ALL, LANGUAGE, LC_CTYPE, LC_COLLATE, LC_MONETARY,
1948 LC_NUMERIC, LC_TIME, LANG
1954 =item Backward compatibility
1956 =item I18N:Collate obsolete
1958 =item Sort speed and memory use impacts
1960 =item write() and LC_NUMERIC
1962 =item Freely available locale definitions
1966 =item An imperfect standard
1974 =item Broken systems
1984 =head2 perlunicode - Unicode support in Perl
1992 =item Important Caveats
1994 Input and Output Disciplines, Regular Expressions, C<use utf8> still needed
1995 to enable UTF-8/UTF-EBCDIC in scripts
1997 =item Byte and Character semantics
1999 =item Effects of character semantics
2005 =item Character encodings for input and output
2015 =head2 perlebcdic - Considerations for running Perl on EBCDIC platforms
2021 =item COMMON CHARACTER CODE SETS
2029 =item Latin 1 (ISO 8859-1)
2033 =item 13 variant characters
2041 =item Unicode and UTF
2045 =item SINGLE OCTET TABLES
2047 recipe 0, recipe 1, recipe 2, recipe 3, recipe 4, recipe 5, recipe 6
2049 =item IDENTIFYING CHARACTER CODE SETS
2063 =item OPERATOR DIFFERENCES
2065 =item FUNCTION DIFFERENCES
2067 chr(), ord(), pack(), print(), printf(), sort(), sprintf(), unpack()
2069 =item REGULAR EXPRESSION DIFFERENCES
2077 =item Ignore ASCII vs. EBCDIC sort differences.
2079 =item MONO CASE then sort data.
2081 =item Convert, sort data, then re convert.
2083 =item Perform sorting on one type of machine only.
2087 =item TRANSFORMATION FORMATS
2091 =item URL decoding and encoding
2093 =item uu encoding and decoding
2095 =item Quoted-Printable encoding and decoding
2097 =item Caesarian ciphers
2101 =item Hashing order and checksums
2105 =item MULTI OCTET CHARACTER SETS
2117 chcp, dataset access, OS/390, z/OS iconv, locales
2137 =head2 perlsec - Perl security
2145 =item Laundering and Detecting Tainted Data
2147 =item Switches On the "#!" Line
2149 =item Cleaning Up Your Path
2153 =item Protecting Your Programs
2161 =head2 perlmod - Perl modules (packages and symbol tables)
2173 =item Package Constructors and Destructors
2179 =item Making your module threadsafe
2187 =head2 perlmodlib - constructing new Perl modules and finding existing ones
2193 =item THE PERL MODULE LIBRARY
2197 =item Pragmatic Modules
2199 attributes, attrs, autouse, base, blib, bytes, charnames, constant,
2200 diagnostics, fields, filetest, integer, less, locale, open, ops, overload,
2201 re, sigtrap, strict, subs, utf8, vars, warnings, warnings::register
2203 =item Standard Modules
2205 AnyDBM_File, Attribute::Handlers, AutoLoader, AutoSplit, B, B::Asmdata,
2206 B::Assembler, B::Bblock, B::Bytecode, B::C, B::CC, B::Concise, B::Debug,
2207 B::Deparse, B::Disassembler, B::Lint, B::Showlex, B::Stackobj, B::Stash,
2208 B::Terse, B::Xref, Benchmark, ByteLoader, CGI, CGI::Apache, CGI::Carp,
2209 CGI::Cookie, CGI::Fast, CGI::Pretty, CGI::Push, CGI::Switch, CGI::Util,
2210 CPAN, CPAN::FirstTime, CPAN::Nox, Carp, Carp::Heavy, Class::ISA,
2211 Class::Struct, Cwd, DB, DB_File, Devel::SelfStubber, Digest, DirHandle,
2212 Dumpvalue, Encode, Encode::EncodeFormat, Encode::Tcl, English, Env,
2213 Exporter, Exporter::Heavy, ExtUtils::Command, ExtUtils::Constant,
2214 ExtUtils::Embed, ExtUtils::Install, ExtUtils::Installed, ExtUtils::Liblist,
2215 ExtUtils::MM_Cygwin, ExtUtils::MM_NW5, ExtUtils::MM_OS2, ExtUtils::MM_Unix,
2216 ExtUtils::MM_VMS, ExtUtils::MM_Win32, ExtUtils::MakeMaker,
2217 ExtUtils::Manifest, ExtUtils::Mkbootstrap, ExtUtils::Mksymlists,
2218 ExtUtils::Packlist, ExtUtils::testlib, Fatal, Fcntl, File::Basename,
2219 File::CheckTree, File::Compare, File::Copy, File::DosGlob, File::Find,
2220 File::Path, File::Spec, File::Spec::Epoc, File::Spec::Functions,
2221 File::Spec::Mac, File::Spec::OS2, File::Spec::Unix, File::Spec::VMS,
2222 File::Spec::Win32, File::Temp, File::stat, FileCache, FileHandle,
2223 Filter::Simple, FindBin, Getopt::Long, Getopt::Std, I18N::Collate,
2224 I18N::LangTags, I18N::LangTags::List, IO, IPC::Open2, IPC::Open3,
2225 Locale::Constants, Locale::Country, Locale::Currency, Locale::Language,
2226 Locale::Maketext, Locale::Maketext::TPJ13, Math::BigFloat, Math::BigInt,
2227 Math::BigInt::Calc, Math::Complex, Math::Trig, Memoize,
2228 Memoize::AnyDBM_File, Memoize::Expire, Memoize::ExpireFile,
2229 Memoize::ExpireTest, Memoize::NDBM_File, Memoize::SDBM_File,
2230 Memoize::Saves, Memoize::Storable, NDBM_File, NEXT, Net::Cmd, Net::Config,
2231 Net::Domain, Net::FTP, Net::NNTP, Net::Netrc, Net::POP3, Net::Ping,
2232 Net::SMTP, Net::Time, Net::hostent, Net::libnetFAQ, Net::netent,
2233 Net::protoent, Net::servent, O, ODBM_File, Opcode, POSIX, PerlIO,
2234 Pod::Checker, Pod::Find, Pod::Html, Pod::InputObjects, Pod::LaTeX,
2235 Pod::Man, Pod::ParseUtils, Pod::Parser, Pod::Plainer, Pod::Select,
2236 Pod::Text, Pod::Text::Color, Pod::Text::Overstrike, Pod::Text::Termcap,
2237 Pod::Usage, SDBM_File, Safe, Search::Dict, SelectSaver, SelfLoader, Shell,
2238 Socket, Storable, Switch, Symbol, Term::ANSIColor, Term::Cap,
2239 Term::Complete, Term::ReadLine, Test, Test::Harness, Test::More,
2240 Test::Simple, Text::Abbrev, Text::Balanced, Text::ParseWords,
2241 Text::Soundex, Text::Tabs, Text::Wrap, Thread, Thread::Queue,
2242 Thread::Semaphore, Thread::Signal, Thread::Specific, Tie::Array,
2243 Tie::Handle, Tie::Hash, Tie::RefHash, Tie::Scalar, Tie::SubstrHash,
2244 Time::Local, Time::gmtime, Time::localtime, Time::tm, UNIVERSAL, UnicodeCD,
2245 User::grent, User::pwent, Win32
2247 =item Extension Modules
2259 =item Central America
2271 =item Modules: Creation, Use, and Abuse
2275 =item Guidelines for Module Creation
2277 Adding a Copyright Notice
2279 =item Guidelines for Converting Perl 4 Library Scripts into Modules
2281 =item Guidelines for Reusing Application Code
2289 =head2 perlmodinstall - Installing CPAN Modules
2299 B<DECOMPRESS> the file, B<UNPACK> the file into a directory, B<BUILD> the
2300 module (sometimes unnecessary), B<INSTALL> the module
2314 =head2 perlnewmod - preparing a new module for distribution
2324 =item What should I make into a module?
2326 =item Step-by-step: Preparing the ground
2328 Look around, Check it's new, Discuss the need, Choose a name, Check again
2330 =item Step-by-step: Making the module
2332 Start with F<h2xs>, Use L<strict|strict> and L<warnings|warnings>, Use
2333 L<Carp|Carp>, Use L<Exporter|Exporter> - wisely!, Use L<plain old
2334 documentation|perlpod>, Write tests, Write the README
2336 =item Step-by-step: Distributing your module
2338 Get a CPAN user ID, C<perl Makefile.PL; make test; make dist>, Upload the
2339 tarball, Announce to the modules list, Announce to clpa, Fix bugs!
2349 =head2 perlfaq1 - General Questions About Perl ($Revision: 1.23 $, $Date:
2350 1999/05/23 16:08:30 $)
2360 =item Who supports Perl? Who develops it? Why is it free?
2362 =item Which version of Perl should I use?
2364 =item What are perl4 and perl5?
2366 =item What is perl6?
2368 =item How stable is Perl?
2370 =item Is Perl difficult to learn?
2372 =item How does Perl compare with other languages like Java, Python, REXX,
2375 =item Can I do [task] in Perl?
2377 =item When shouldn't I program in Perl?
2379 =item What's the difference between "perl" and "Perl"?
2381 =item Is it a Perl program or a Perl script?
2383 =item What is a JAPH?
2385 =item Where can I get a list of Larry Wall witticisms?
2387 =item How can I convince my sysadmin/supervisor/employees to use version
2388 5/5.005/Perl instead of some other language?
2392 =item AUTHOR AND COPYRIGHT
2396 =head2 perlfaq2 - Obtaining and Learning about Perl ($Revision: 1.32 $,
2397 $Date: 1999/10/14 18:46:09 $)
2405 =item What machines support Perl? Where do I get it?
2407 =item How can I get a binary version of Perl?
2409 =item I don't have a C compiler on my system. How can I compile perl?
2411 =item I copied the Perl binary from one machine to another, but scripts
2414 =item I grabbed the sources and tried to compile but gdbm/dynamic
2415 loading/malloc/linking/... failed. How do I make it work?
2417 =item What modules and extensions are available for Perl? What is CPAN?
2418 What does CPAN/src/... mean?
2420 =item Is there an ISO or ANSI certified version of Perl?
2422 =item Where can I get information on Perl?
2424 =item What are the Perl newsgroups on Usenet? Where do I post questions?
2426 =item Where should I post source code?
2430 References, Tutorials, Task-Oriented, Special Topics
2432 =item Perl in Magazines
2434 =item Perl on the Net: FTP and WWW Access
2436 =item What mailing lists are there for Perl?
2438 =item Archives of comp.lang.perl.misc
2440 =item Where can I buy a commercial version of Perl?
2442 =item Where do I send bug reports?
2444 =item What is perl.com? Perl Mongers? pm.org? perl.org?
2448 =item AUTHOR AND COPYRIGHT
2452 =head2 perlfaq3 - Programming Tools ($Revision: 1.38 $, $Date: 1999/05/23
2461 =item How do I do (anything)?
2463 =item How can I use Perl interactively?
2465 =item Is there a Perl shell?
2467 =item How do I debug my Perl programs?
2469 =item How do I profile my Perl programs?
2471 =item How do I cross-reference my Perl programs?
2473 =item Is there a pretty-printer (formatter) for Perl?
2475 =item Is there a ctags for Perl?
2477 =item Is there an IDE or Windows Perl Editor?
2479 Komodo, The Object System, Open Perl IDE, PerlBuilder, visiPerl+,
2480 CodeMagicCD, GNU Emacs, MicroEMACS, XEmacs, Elvis, Vile, Vim, Codewright,
2481 MultiEdit, SlickEdit, Bash, Ksh, Tcsh, Zsh, BBEdit and BBEdit Lite, Alpha
2483 =item Where can I get Perl macros for vi?
2485 =item Where can I get perl-mode for emacs?
2487 =item How can I use curses with Perl?
2489 =item How can I use X or Tk with Perl?
2491 =item How can I generate simple menus without using CGI or Tk?
2493 =item What is undump?
2495 =item How can I make my Perl program run faster?
2497 =item How can I make my Perl program take less memory?
2499 =item Is it unsafe to return a pointer to local data?
2501 =item How can I free an array or hash so my program shrinks?
2503 =item How can I make my CGI script more efficient?
2505 =item How can I hide the source for my Perl program?
2507 =item How can I compile my Perl program into byte code or C?
2509 =item How can I compile Perl into Java?
2511 =item How can I get C<#!perl> to work on [MS-DOS,NT,...]?
2513 =item Can I write useful Perl programs on the command line?
2515 =item Why don't Perl one-liners work on my DOS/Mac/VMS system?
2517 =item Where can I learn about CGI or Web programming in Perl?
2519 =item Where can I learn about object-oriented Perl programming?
2521 =item Where can I learn about linking C with Perl? [h2xs, xsubpp]
2523 =item I've read perlembed, perlguts, etc., but I can't embed perl in
2524 my C program; what am I doing wrong?
2526 =item When I tried to run my script, I got this message. What does it
2529 =item What's MakeMaker?
2533 =item AUTHOR AND COPYRIGHT
2537 =head2 perlfaq4 - Data Manipulation ($Revision: 1.49 $, $Date: 1999/05/23
2548 =item Why am I getting long decimals (eg, 19.9499999999999) instead of the
2549 numbers I should be getting (eg, 19.95)?
2551 =item Why isn't my octal data interpreted correctly?
2553 =item Does Perl have a round() function? What about ceil() and floor()?
2556 =item How do I convert bits into ints?
2558 =item Why doesn't & work the way I want it to?
2560 =item How do I multiply matrices?
2562 =item How do I perform an operation on a series of integers?
2564 =item How can I output Roman numerals?
2566 =item Why aren't my random numbers random?
2574 =item How do I find the week-of-the-year/day-of-the-year?
2576 =item How do I find the current century or millennium?
2578 =item How can I compare two dates and find the difference?
2580 =item How can I take a string and turn it into epoch seconds?
2582 =item How can I find the Julian Day?
2584 =item How do I find yesterday's date?
2586 =item Does Perl have a Year 2000 problem? Is Perl Y2K compliant?
2594 =item How do I validate input?
2596 =item How do I unescape a string?
2598 =item How do I remove consecutive pairs of characters?
2600 =item How do I expand function calls in a string?
2602 =item How do I find matching/nesting anything?
2604 =item How do I reverse a string?
2606 =item How do I expand tabs in a string?
2608 =item How do I reformat a paragraph?
2610 =item How can I access/change the first N letters of a string?
2612 =item How do I change the Nth occurrence of something?
2614 =item How can I count the number of occurrences of a substring within a
2617 =item How do I capitalize all the words on one line?
2619 =item How can I split a [character] delimited string except when inside
2620 [character]? (Comma-separated files)
2622 =item How do I strip blank space from the beginning/end of a string?
2624 =item How do I pad a string with blanks or pad a number with zeroes?
2626 =item How do I extract selected columns from a string?
2628 =item How do I find the soundex value of a string?
2630 =item How can I expand variables in text strings?
2632 =item What's wrong with always quoting "$vars"?
2634 =item Why don't my <<HERE documents work?
2636 1. There must be no space after the << part, 2. There (probably) should be
2637 a semicolon at the end, 3. You can't (easily) have any space in front of
2646 =item What is the difference between a list and an array?
2648 =item What is the difference between $array[1] and @array[1]?
2650 =item How can I remove duplicate elements from a list or array?
2654 =item How can I tell whether a certain element is contained in a list or
2657 =item How do I compute the difference of two arrays? How do I compute the
2658 intersection of two arrays?
2660 =item How do I test whether two arrays or hashes are equal?
2662 =item How do I find the first array element for which a condition is true?
2664 =item How do I handle linked lists?
2666 =item How do I handle circular lists?
2668 =item How do I shuffle an array randomly?
2670 =item How do I process/modify each element of an array?
2672 =item How do I select a random element from an array?
2674 =item How do I permute N elements of a list?
2676 =item How do I sort an array by (anything)?
2678 =item How do I manipulate arrays of bits?
2680 =item Why does defined() return true on empty arrays and hashes?
2684 =item Data: Hashes (Associative Arrays)
2688 =item How do I process an entire hash?
2690 =item What happens if I add or remove keys from a hash while iterating over
2693 =item How do I look up a hash element by value?
2695 =item How can I know how many entries are in a hash?
2697 =item How do I sort a hash (optionally by value instead of key)?
2699 =item How can I always keep my hash sorted?
2701 =item What's the difference between "delete" and "undef" with hashes?
2703 =item Why don't my tied hashes make the defined/exists distinction?
2705 =item How do I reset an each() operation part-way through?
2707 =item How can I get the unique keys from two hashes?
2709 =item How can I store a multidimensional array in a DBM file?
2711 =item How can I make my hash remember the order I put elements into it?
2713 =item Why does passing a subroutine an undefined element in a hash create
2716 =item How can I make the Perl equivalent of a C structure/C++ class/hash or
2717 array of hashes or arrays?
2719 =item How can I use a reference as a hash key?
2727 =item How do I handle binary data correctly?
2729 =item How do I determine whether a scalar is a number/whole/integer/float?
2731 =item How do I keep persistent data across program calls?
2733 =item How do I print out or copy a recursive data structure?
2735 =item How do I define methods for every class/object?
2737 =item How do I verify a credit card checksum?
2739 =item How do I pack arrays of doubles or floats for XS code?
2743 =item AUTHOR AND COPYRIGHT
2747 =head2 perlfaq5 - Files and Formats ($Revision: 1.38 $, $Date: 1999/05/23
2756 =item How do I flush/unbuffer an output filehandle? Why must I do this?
2758 =item How do I change one line in a file/delete a line in a file/insert a
2759 line in the middle of a file/append to the beginning of a file?
2761 =item How do I count the number of lines in a file?
2763 =item How do I make a temporary file name?
2765 =item How can I manipulate fixed-record-length files?
2767 =item How can I make a filehandle local to a subroutine? How do I pass
2768 filehandles between subroutines? How do I make an array of filehandles?
2770 =item How can I use a filehandle indirectly?
2772 =item How can I set up a footer format to be used with write()?
2774 =item How can I write() into a string?
2776 =item How can I output my numbers with commas added?
2778 =item How can I translate tildes (~) in a filename?
2780 =item How come when I open a file read-write it wipes it out?
2782 =item Why do I sometimes get an "Argument list too long" when I use <*>?
2784 =item Is there a leak/bug in glob()?
2786 =item How can I open a file with a leading ">" or trailing blanks?
2788 =item How can I reliably rename a file?
2790 =item How can I lock a file?
2792 =item Why can't I just open(FH, ">file.lock")?
2794 =item I still don't get locking. I just want to increment the number in
2795 the file. How can I do this?
2797 =item All I want to do is append a small amount of text to the end of a
2798 file. Do I still have to use locking?
2800 =item How do I randomly update a binary file?
2802 =item How do I get a file's timestamp in perl?
2804 =item How do I set a file's timestamp in perl?
2806 =item How do I print to more than one file at once?
2808 =item How can I read in an entire file all at once?
2810 =item How can I read in a file by paragraphs?
2812 =item How can I read a single character from a file? From the keyboard?
2814 =item How can I tell whether there's a character waiting on a filehandle?
2816 =item How do I do a C<tail -f> in perl?
2818 =item How do I dup() a filehandle in Perl?
2820 =item How do I close a file descriptor by number?
2822 =item Why can't I use "C:\temp\foo" in DOS paths? What doesn't
2823 `C:\temp\foo.exe` work?
2825 =item Why doesn't glob("*.*") get all the files?
2827 =item Why does Perl let me delete read-only files? Why does C<-i> clobber
2828 protected files? Isn't this a bug in Perl?
2830 =item How do I select a random line from a file?
2832 =item Why do I get weird spaces when I print an array of lines?
2836 =item AUTHOR AND COPYRIGHT
2840 =head2 perlfaq6 - Regexes ($Revision: 1.27 $, $Date: 1999/05/23 16:08:30 $)
2848 =item How can I hope to use regular expressions without creating illegible
2849 and unmaintainable code?
2851 Comments Outside the Regex, Comments Inside the Regex, Different Delimiters
2853 =item I'm having trouble matching over more than one line. What's wrong?
2855 =item How can I pull out lines between two patterns that are themselves on
2858 =item I put a regular expression into $/ but it didn't work. What's wrong?
2860 =item How do I substitute case insensitively on the LHS while preserving
2863 =item How can I make C<\w> match national character sets?
2865 =item How can I match a locale-smart version of C</[a-zA-Z]/>?
2867 =item How can I quote a variable to use in a regex?
2869 =item What is C</o> really for?
2871 =item How do I use a regular expression to strip C style comments from a
2874 =item Can I use Perl regular expressions to match balanced text?
2876 =item What does it mean that regexes are greedy? How can I get around it?
2878 =item How do I process each word on each line?
2880 =item How can I print out a word-frequency or line-frequency summary?
2882 =item How can I do approximate matching?
2884 =item How do I efficiently match many regular expressions at once?
2886 =item Why don't word-boundary searches with C<\b> work for me?
2888 =item Why does using $&, $`, or $' slow my program down?
2890 =item What good is C<\G> in a regular expression?
2892 =item Are Perl regexes DFAs or NFAs? Are they POSIX compliant?
2894 =item What's wrong with using grep or map in a void context?
2896 =item How can I match strings with multibyte characters?
2898 =item How do I match a pattern that is supplied by the user?
2902 =item AUTHOR AND COPYRIGHT
2906 =head2 perlfaq7 - Perl Language Issues ($Revision: 1.28 $, $Date:
2907 1999/05/23 20:36:18 $)
2915 =item Can I get a BNF/yacc/RE for the Perl language?
2917 =item What are all these $@%&* punctuation signs, and how do I know when to
2920 =item Do I always/never have to quote my strings or use semicolons and
2923 =item How do I skip some return values?
2925 =item How do I temporarily block warnings?
2927 =item What's an extension?
2929 =item Why do Perl operators have different precedence than C operators?
2931 =item How do I declare/create a structure?
2933 =item How do I create a module?
2935 =item How do I create a class?
2937 =item How can I tell if a variable is tainted?
2939 =item What's a closure?
2941 =item What is variable suicide and how can I prevent it?
2943 =item How can I pass/return a {Function, FileHandle, Array, Hash, Method,
2946 Passing Variables and Functions, Passing Filehandles, Passing Regexes,
2949 =item How do I create a static variable?
2951 =item What's the difference between dynamic and lexical (static) scoping?
2952 Between local() and my()?
2954 =item How can I access a dynamic variable while a similarly named lexical
2957 =item What's the difference between deep and shallow binding?
2959 =item Why doesn't "my($foo) = <FILE>;" work right?
2961 =item How do I redefine a builtin function, operator, or method?
2963 =item What's the difference between calling a function as &foo and foo()?
2965 =item How do I create a switch or case statement?
2967 =item How can I catch accesses to undefined variables/functions/methods?
2969 =item Why can't a method included in this same file be found?
2971 =item How can I find out my current package?
2973 =item How can I comment out a large block of perl code?
2975 =item How do I clear a package?
2977 =item How can I use a variable as a variable name?
2981 =item AUTHOR AND COPYRIGHT
2985 =head2 perlfaq8 - System Interaction ($Revision: 1.39 $, $Date: 1999/05/23
2994 =item How do I find out which operating system I'm running under?
2996 =item How come exec() doesn't return?
2998 =item How do I do fancy stuff with the keyboard/screen/mouse?
3000 Keyboard, Screen, Mouse
3002 =item How do I print something out in color?
3004 =item How do I read just one key without waiting for a return key?
3006 =item How do I check whether input is ready on the keyboard?
3008 =item How do I clear the screen?
3010 =item How do I get the screen size?
3012 =item How do I ask the user for a password?
3014 =item How do I read and write the serial port?
3016 lockfiles, open mode, end of line, flushing output, non-blocking input
3018 =item How do I decode encrypted password files?
3020 =item How do I start a process in the background?
3022 STDIN, STDOUT, and STDERR are shared, Signals, Zombies
3024 =item How do I trap control characters/signals?
3026 =item How do I modify the shadow password file on a Unix system?
3028 =item How do I set the time and date?
3030 =item How can I sleep() or alarm() for under a second?
3032 =item How can I measure time under a second?
3034 =item How can I do an atexit() or setjmp()/longjmp()? (Exception handling)
3036 =item Why doesn't my sockets program work under System V (Solaris)? What
3037 does the error message "Protocol not supported" mean?
3039 =item How can I call my system's unique C functions from Perl?
3041 =item Where do I get the include files to do ioctl() or syscall()?
3043 =item Why do setuid perl scripts complain about kernel problems?
3045 =item How can I open a pipe both to and from a command?
3047 =item Why can't I get the output of a command with system()?
3049 =item How can I capture STDERR from an external command?
3051 =item Why doesn't open() return an error when a pipe open fails?
3053 =item What's wrong with using backticks in a void context?
3055 =item How can I call backticks without shell processing?
3057 =item Why can't my script read from STDIN after I gave it EOF (^D on Unix,
3060 =item How can I convert my shell script to perl?
3062 =item Can I use perl to run a telnet or ftp session?
3064 =item How can I write expect in Perl?
3066 =item Is there a way to hide perl's command line from programs such as
3069 =item I {changed directory, modified my environment} in a perl script. How
3070 come the change disappeared when I exited the script? How do I get my
3071 changes to be visible?
3075 =item How do I close a process's filehandle without waiting for it to
3078 =item How do I fork a daemon process?
3080 =item How do I find out if I'm running interactively or not?
3082 =item How do I timeout a slow event?
3084 =item How do I set CPU limits?
3086 =item How do I avoid zombies on a Unix system?
3088 =item How do I use an SQL database?
3090 =item How do I make a system() exit on control-C?
3092 =item How do I open a file without blocking?
3094 =item How do I install a module from CPAN?
3096 =item What's the difference between require and use?
3098 =item How do I keep my own module/library directory?
3100 =item How do I add the directory my program lives in to the module/library
3103 =item How do I add a directory to my include path at runtime?
3105 =item What is socket.ph and where do I get it?
3109 =item AUTHOR AND COPYRIGHT
3113 =head2 perlfaq9 - Networking ($Revision: 1.26 $, $Date: 1999/05/23 16:08:30
3122 =item My CGI script runs from the command line but not the browser. (500
3125 =item How can I get better error messages from a CGI program?
3127 =item How do I remove HTML from a string?
3129 =item How do I extract URLs?
3131 =item How do I download a file from the user's machine? How do I open a
3132 file on another machine?
3134 =item How do I make a pop-up menu in HTML?
3136 =item How do I fetch an HTML file?
3138 =item How do I automate an HTML form submission?
3140 =item How do I decode or create those %-encodings on the web?
3142 =item How do I redirect to another page?
3144 =item How do I put a password on my web pages?
3146 =item How do I edit my .htpasswd and .htgroup files with Perl?
3148 =item How do I make sure users can't enter values into a form that cause my
3149 CGI script to do bad things?
3151 =item How do I parse a mail header?
3153 =item How do I decode a CGI form?
3155 =item How do I check a valid mail address?
3157 =item How do I decode a MIME/BASE64 string?
3159 =item How do I return the user's mail address?
3161 =item How do I send mail?
3163 =item How do I use MIME to make an attachment to a mail message?
3165 =item How do I read mail?
3167 =item How do I find out my hostname/domainname/IP address?
3169 =item How do I fetch a news article or the active newsgroups?
3171 =item How do I fetch/put an FTP file?
3173 =item How can I do RPC in Perl?
3177 =item AUTHOR AND COPYRIGHT
3181 =head2 perlcompile - Introduction to the Perl Compiler-Translator
3191 B::Bytecode, B::C, B::CC, B::Lint, B::Deparse, B::Xref
3195 =item Using The Back Ends
3199 =item The Cross Referencing Back End
3203 =item The Decompiling Back End
3205 =item The Lint Back End
3207 =item The Simple C Back End
3209 =item The Bytecode Back End
3211 =item The Optimized C Back End
3213 B, O, B::Asmdata, B::Assembler, B::Bblock, B::Bytecode, B::C, B::CC,
3214 B::Debug, B::Deparse, B::Disassembler, B::Lint, B::Showlex, B::Stackobj,
3215 B::Stash, B::Terse, B::Xref
3219 =item KNOWN PROBLEMS
3225 =head2 perlembed - how to embed perl in your C program
3235 B<Use C from Perl?>, B<Use a Unix program from Perl?>, B<Use Perl from
3236 Perl?>, B<Use C from C?>, B<Use Perl from C?>
3240 =item Compiling your C program
3242 =item Adding a Perl interpreter to your C program
3244 =item Calling a Perl subroutine from your C program
3246 =item Evaluating a Perl statement from your C program
3248 =item Performing Perl pattern matches and substitutions from your C program
3250 =item Fiddling with the Perl stack from your C program
3252 =item Maintaining a persistent interpreter
3254 =item Maintaining multiple interpreter instances
3256 =item Using Perl modules, which themselves use C libraries, from your C
3261 =item Embedding Perl under Win32
3271 =head2 perldebguts - Guts of Perl debugging
3277 =item Debugger Internals
3281 =item Writing Your Own Debugger
3285 =item Frame Listing Output Examples
3287 =item Debugging regular expressions
3291 =item Compile-time output
3293 C<anchored> I<STRING> C<at> I<POS>, C<floating> I<STRING> C<at>
3294 I<POS1..POS2>, C<matching floating/anchored>, C<minlen>, C<stclass>
3295 I<TYPE>, C<noscan>, C<isall>, C<GPOS>, C<plus>, C<implicit>, C<with eval>,
3298 =item Types of nodes
3300 =item Run-time output
3304 =item Debugging Perl memory usage
3308 =item Using C<$ENV{PERL_DEBUG_MSTATS}>
3310 C<buckets SMALLEST(APPROX)..GREATEST(APPROX)>, Free/Used, C<Total sbrk():
3311 SBRKed/SBRKs:CONTINUOUS>, C<pad: 0>, C<heads: 2192>, C<chain: 0>, C<tail:
3314 =item Example of using B<-DL> switch
3316 C<717>, C<002>, C<054>, C<602>, C<702>, C<704>
3318 =item B<-DL> details
3322 =item Limitations of B<-DL> statistics
3330 =head2 perlxstut, perlXStut - Tutorial for writing XSUBs
3342 =item Version caveat
3344 =item Dynamic Loading versus Static Loading
3356 =item What has gone on?
3358 =item Writing good test scripts
3362 =item What's new here?
3364 =item Input and Output Parameters
3366 =item The XSUBPP Program
3368 =item The TYPEMAP file
3370 =item Warning about Output Arguments
3374 =item What has happened here?
3376 =item Anatomy of .xs file
3378 =item Getting the fat out of XSUBs
3380 =item More about XSUB arguments
3382 =item The Argument Stack
3384 =item Extending your Extension
3386 =item Documenting your Extension
3388 =item Installing your Extension
3392 =item New Things in this Example
3396 =item New Things in this Example
3398 =item EXAMPLE 7 (Coming Soon)
3400 =item EXAMPLE 8 (Coming Soon)
3402 =item EXAMPLE 9 (Coming Soon)
3404 =item Troubleshooting these Examples
3420 =head2 perlxs - XS language reference manual
3432 =item The Anatomy of an XSUB
3434 =item The Argument Stack
3436 =item The RETVAL Variable
3438 =item The MODULE Keyword
3440 =item The PACKAGE Keyword
3442 =item The PREFIX Keyword
3444 =item The OUTPUT: Keyword
3446 =item The NO_OUTPUT Keyword
3448 =item The CODE: Keyword
3450 =item The INIT: Keyword
3452 =item The NO_INIT Keyword
3454 =item Initializing Function Parameters
3456 =item Default Parameter Values
3458 =item The PREINIT: Keyword
3460 =item The SCOPE: Keyword
3462 =item The INPUT: Keyword
3464 =item The IN/OUTLIST/IN_OUTLIST/OUT/IN_OUT Keywords
3466 =item Variable-length Parameter Lists
3468 =item The C_ARGS: Keyword
3470 =item The PPCODE: Keyword
3472 =item Returning Undef And Empty Lists
3474 =item The REQUIRE: Keyword
3476 =item The CLEANUP: Keyword
3478 =item The POSTCALL: Keyword
3480 =item The BOOT: Keyword
3482 =item The VERSIONCHECK: Keyword
3484 =item The PROTOTYPES: Keyword
3486 =item The PROTOTYPE: Keyword
3488 =item The ALIAS: Keyword
3490 =item The INTERFACE: Keyword
3492 =item The INTERFACE_MACRO: Keyword
3494 =item The INCLUDE: Keyword
3496 =item The CASE: Keyword
3498 =item The & Unary Operator
3500 =item Inserting POD, Comments and C Preprocessor Directives
3502 =item Using XS With C++
3504 =item Interface Strategy
3506 =item Perl Objects And C Structures
3520 =head2 perlclib - Internal replacements for standard C library functions
3530 C<t>, C<p>, C<n>, C<s>
3532 =item File Operations
3534 =item File Input and Output
3536 =item File Positioning
3538 =item Memory Management and String Handling
3540 =item Character Class Tests
3542 =item F<stdlib.h> functions
3544 =item Miscellaneous functions
3552 =head2 perlguts - Introduction to the Perl API
3564 =item What is an "IV"?
3566 =item Working with SVs
3570 =item What's Really Stored in an SV?
3572 =item Working with AVs
3574 =item Working with HVs
3576 =item Hash API Extensions
3580 =item Blessed References and Class Objects
3582 =item Creating New Variables
3584 =item Reference Counts and Mortality
3586 =item Stashes and Globs
3588 =item Double-Typed SVs
3590 =item Magic Variables
3592 =item Assigning Magic
3594 =item Magic Virtual Tables
3598 =item Understanding the Magic of Tied Hashes and Arrays
3600 =item Localizing changes
3602 C<SAVEINT(int i)>, C<SAVEIV(IV i)>, C<SAVEI32(I32 i)>, C<SAVELONG(long i)>,
3603 C<SAVESPTR(s)>, C<SAVEPPTR(p)>, C<SAVEFREESV(SV *sv)>, C<SAVEMORTALIZESV(SV
3604 *sv)>, C<SAVEFREEOP(OP *op)>, C<SAVEFREEPV(p)>, C<SAVECLEARSV(SV *sv)>,
3605 C<SAVEDELETE(HV *hv, char *key, I32 length)>,
3606 C<SAVEDESTRUCTOR(DESTRUCTORFUNC_NOCONTEXT_t f, void *p)>,
3607 C<SAVEDESTRUCTOR_X(DESTRUCTORFUNC_t f, void *p)>, C<SAVESTACK_POS()>, C<SV*
3608 save_scalar(GV *gv)>, C<AV* save_ary(GV *gv)>, C<HV* save_hash(GV *gv)>,
3609 C<void save_item(SV *item)>, C<void save_list(SV **sarg, I32 maxsarg)>,
3610 C<SV* save_svref(SV **sptr)>, C<void save_aptr(AV **aptr)>, C<void
3611 save_hptr(HV **hptr)>
3619 =item XSUBs and the Argument Stack
3621 =item Calling Perl Routines from within C Programs
3623 =item Memory Allocation
3627 =item Putting a C value on Perl stack
3631 =item Scratchpads and recursion
3641 =item Examining the tree
3643 =item Compile pass 1: check routines
3645 =item Compile pass 1a: constant folding
3647 =item Compile pass 2: context propagation
3649 =item Compile pass 3: peephole optimization
3651 =item Pluggable runops
3655 =item Examining internal data structures with the C<dump> functions
3657 =item How multiple interpreters and concurrency are supported
3661 =item Background and PERL_IMPLICIT_CONTEXT
3663 =item So what happened to dTHR?
3665 =item How do I use all this in extensions?
3667 =item Should I do anything special if I call perl from multiple threads?
3669 =item Future Plans and PERL_IMPLICIT_SYS
3673 =item Internal Functions
3675 A, p, d, s, n, r, f, M, o, j, x
3679 =item Formatted Printing of IVs, UVs, and NVs
3681 =item Pointer-To-Integer and Integer-To-Pointer
3683 =item Source Documentation
3687 =item Unicode Support
3691 =item What B<is> Unicode, anyway?
3693 =item How can I recognise a UTF8 string?
3695 =item How does UTF8 represent Unicode characters?
3697 =item How does Perl store UTF8 strings?
3699 =item How do I convert a string to UTF8?
3701 =item Is there anything else I need to know?
3711 =head2 perlcall - Perl calling conventions from C
3717 An Error Handler, An Event Driven Program
3719 =item THE CALL_ FUNCTIONS
3721 call_sv, call_pv, call_method, call_argv
3741 =item Determining the Context
3745 =item KNOWN PROBLEMS
3751 =item No Parameters, Nothing returned
3753 =item Passing Parameters
3755 =item Returning a Scalar
3757 =item Returning a list of values
3759 =item Returning a list in a scalar context
3761 =item Returning Data from Perl via the parameter list
3765 =item Using G_KEEPERR
3769 =item Using call_argv
3771 =item Using call_method
3775 =item Using Perl to dispose of temporaries
3777 =item Strategies for storing Callback Context Information
3779 1. Ignore the problem - Allow only 1 callback, 2. Create a sequence of
3780 callbacks - hard wired limit, 3. Use a parameter to map to the Perl
3783 =item Alternate Stack Manipulation
3785 =item Creating and calling an anonymous subroutine in C
3797 =head2 perlutil - utilities packaged with the Perl distribution
3807 L<perldoc|perldoc>, L<pod2man|pod2man> and L<pod2text|pod2text>,
3808 L<pod2html|pod2html> and L<pod2latex|pod2latex>, L<pod2usage|pod2usage>,
3809 L<podselect|podselect>, L<podchecker|podchecker>, L<splain|splain>,
3810 L<roffitall|roffitall>
3814 L<a2p|a2p>, L<s2p|s2p>, L<find2perl|find2perl>
3816 =item Administration
3818 L<libnetcfg|libnetcfg>
3822 L<perlbug|perlbug>, L<h2ph|h2ph>, L<c2ph|c2ph> and L<pstruct|pstruct>,
3823 L<h2xs|h2xs>, L<dprofpp|dprofpp>, L<perlcc|perlcc>
3831 =head2 perlfilter - Source Filters
3841 =item WRITING A SOURCE FILTER
3843 =item WRITING A SOURCE FILTER IN C
3845 B<Decryption Filters>
3847 =item CREATING A SOURCE FILTER AS A SEPARATE EXECUTABLE
3849 =item WRITING A SOURCE FILTER IN PERL
3851 =item USING CONTEXT: THE DEBUG FILTER
3863 =head2 perldbmfilter - Perl DBM Filters
3871 B<filter_store_key>, B<filter_store_value>, B<filter_fetch_key>,
3872 B<filter_fetch_value>
3878 =item An Example -- the NULL termination problem.
3880 =item Another Example -- Key is a C int.
3890 =head2 perlapi - autogenerated documentation for the perl public API
3896 AvFILL, av_clear, av_delete, av_exists, av_extend, av_fetch, av_fill,
3897 av_len, av_make, av_pop, av_push, av_shift, av_store, av_undef, av_unshift,
3898 ax, bytes_from_utf8, bytes_to_utf8, call_argv, call_method, call_pv,
3899 call_sv, CLASS, Copy, croak, CvSTASH, cv_const_sv, dAX, dITEMS, dMARK,
3900 dORIGMARK, dSP, dXSARGS, dXSI32, ENTER, eval_pv, eval_sv, EXTEND,
3901 fbm_compile, fbm_instr, FREETMPS, getcwd_sv, get_av, get_cv, get_hv,
3902 get_sv, GIMME, GIMME_V, grok_number, grok_numeric_radix, GvSV,
3903 gv_fetchmeth, gv_fetchmethod, gv_fetchmethod_autoload, gv_stashpv,
3904 gv_stashsv, G_ARRAY, G_DISCARD, G_EVAL, G_NOARGS, G_SCALAR, G_VOID,
3905 HEf_SVKEY, HeHASH, HeKEY, HeKLEN, HePV, HeSVKEY, HeSVKEY_force,
3906 HeSVKEY_set, HeVAL, HvNAME, hv_clear, hv_delete, hv_delete_ent, hv_exists,
3907 hv_exists_ent, hv_fetch, hv_fetch_ent, hv_iterinit, hv_iterkey,
3908 hv_iterkeysv, hv_iternext, hv_iternextsv, hv_iterval, hv_magic, hv_store,
3909 hv_store_ent, hv_undef, isALNUM, isALPHA, isDIGIT, isLOWER, isSPACE,
3910 isUPPER, is_utf8_char, is_utf8_string, items, ix, LEAVE, load_module,
3911 looks_like_number, MARK, mg_clear, mg_copy, mg_find, mg_free, mg_get,
3912 mg_length, mg_magical, mg_set, Move, New, newAV, Newc, newCONSTSUB, newHV,
3913 newRV_inc, newRV_noinc, NEWSV, newSV, newSViv, newSVnv, newSVpv, newSVpvf,
3914 newSVpvn, newSVpvn_share, newSVrv, newSVsv, newSVuv, newXS, newXSproto,
3915 Newz, Nullav, Nullch, Nullcv, Nullhv, Nullsv, ORIGMARK, perl_alloc,
3916 perl_clone, perl_construct, perl_destruct, perl_free, perl_parse, perl_run,
3917 PL_modglobal, PL_na, PL_sv_no, PL_sv_undef, PL_sv_yes, POPi, POPl, POPn,
3918 POPp, POPpbytex, POPpx, POPs, PUSHi, PUSHMARK, PUSHn, PUSHp, PUSHs, PUSHu,
3919 PUTBACK, Renew, Renewc, require_pv, RETVAL, Safefree, savepv, savepvn,
3920 SAVETMPS, SP, SPAGAIN, ST, strEQ, strGE, strGT, strLE, strLT, strNE,
3921 strnEQ, strnNE, StructCopy, SvCUR, SvCUR_set, SvEND, SvGETMAGIC, SvGROW,
3922 SvIOK, SvIOKp, SvIOK_notUV, SvIOK_off, SvIOK_on, SvIOK_only, SvIOK_only_UV,
3923 SvIOK_UV, SvIV, SvIVx, SvIVX, SvLEN, SvNIOK, SvNIOKp, SvNIOK_off, SvNOK,
3924 SvNOKp, SvNOK_off, SvNOK_on, SvNOK_only, SvNV, SvNVx, SvNVX, SvOK, SvOOK,
3925 SvPOK, SvPOKp, SvPOK_off, SvPOK_on, SvPOK_only, SvPOK_only_UTF8, SvPV,
3926 SvPVbyte, SvPVbytex, SvPVbytex_force, SvPVbyte_force, SvPVbyte_nolen,
3927 SvPVutf8, SvPVutf8x, SvPVutf8x_force, SvPVutf8_force, SvPVutf8_nolen,
3928 SvPVx, SvPVX, SvPV_force, SvPV_force_nomg, SvPV_nolen, SvREFCNT,
3929 SvREFCNT_dec, SvREFCNT_inc, SvROK, SvROK_off, SvROK_on, SvRV, SvSETMAGIC,
3930 SvSetMagicSV, SvSetMagicSV_nosteal, SvSetSV, SvSetSV_nosteal, SvSTASH,
3931 SvTAINT, SvTAINTED, SvTAINTED_off, SvTAINTED_on, SvTRUE, SvTYPE, svtype,
3932 SVt_IV, SVt_NV, SVt_PV, SVt_PVAV, SVt_PVCV, SVt_PVHV, SVt_PVMG, SvUOK,
3933 SvUPGRADE, SvUTF8, SvUTF8_off, SvUTF8_on, SvUV, SvUVX, SvUVx, sv_2bool,
3934 sv_2cv, sv_2io, sv_2iv, sv_2mortal, sv_2nv, sv_2pvbyte, sv_2pvbyte_nolen,
3935 sv_2pvutf8, sv_2pvutf8_nolen, sv_2pv_flags, sv_2pv_nolen, sv_2uv,
3936 sv_backoff, sv_bless, sv_catpv, sv_catpvf, sv_catpvf_mg, sv_catpvn,
3937 sv_catpvn_flags, sv_catpvn_mg, sv_catpv_mg, sv_catsv, sv_catsv_flags,
3938 sv_catsv_mg, sv_chop, sv_clear, sv_cmp, sv_cmp_locale, sv_collxfrm, sv_dec,
3939 sv_derived_from, sv_eq, sv_force_normal, sv_force_normal_flags, sv_free,
3940 sv_gets, sv_grow, sv_inc, sv_insert, sv_isa, sv_isobject, sv_iv, sv_len,
3941 sv_len_utf8, sv_magic, sv_mortalcopy, sv_newmortal, sv_newref, sv_nv,
3942 sv_pos_b2u, sv_pos_u2b, sv_pv, sv_pvbyte, sv_pvbyten, sv_pvbyten_force,
3943 sv_pvn, sv_pvn_force, sv_pvn_force_flags, sv_pvutf8, sv_pvutf8n,
3944 sv_pvutf8n_force, sv_reftype, sv_replace, sv_report_used, sv_reset,
3945 sv_rvweaken, sv_setiv, sv_setiv_mg, sv_setnv, sv_setnv_mg, sv_setpv,
3946 sv_setpvf, sv_setpvf_mg, sv_setpviv, sv_setpviv_mg, sv_setpvn,
3947 sv_setpvn_mg, sv_setpv_mg, sv_setref_iv, sv_setref_nv, sv_setref_pv,
3948 sv_setref_pvn, sv_setref_uv, sv_setsv, sv_setsv_flags, sv_setsv_mg,
3949 sv_setuv, sv_setuv_mg, sv_taint, sv_tainted, sv_true, sv_unmagic, sv_unref,
3950 sv_unref_flags, sv_untaint, sv_upgrade, sv_usepvn, sv_usepvn_mg,
3951 sv_utf8_decode, sv_utf8_downgrade, sv_utf8_encode, sv_utf8_upgrade,
3952 sv_utf8_upgrade_flags, sv_uv, sv_vcatpvfn, sv_vsetpvfn, THIS, toLOWER,
3953 toUPPER, utf8n_to_uvchr, utf8n_to_uvuni, utf8_distance, utf8_hop,
3954 utf8_length, utf8_to_bytes, utf8_to_uvchr, utf8_to_uvuni, uvchr_to_utf8,
3955 uvuni_to_utf8, warn, XPUSHi, XPUSHn, XPUSHp, XPUSHs, XPUSHu, XS, XSRETURN,
3956 XSRETURN_EMPTY, XSRETURN_IV, XSRETURN_NO, XSRETURN_NV, XSRETURN_PV,
3957 XSRETURN_UNDEF, XSRETURN_YES, XST_mIV, XST_mNO, XST_mNV, XST_mPV,
3958 XST_mUNDEF, XST_mYES, XS_VERSION, XS_VERSION_BOOTCHECK, Zero
3966 =head2 perlintern - autogenerated documentation of purely B<internal>
3973 djSP, is_gv_magical, LVRET, PL_DBsingle, PL_DBsub, PL_DBtrace, PL_dowarn,
3974 PL_last_in_gv, PL_ofs_sv, PL_rs, report_uninit, start_glob, sv_add_arena,
3975 sv_clean_all, sv_clean_objs, sv_free_arenas
3983 =head2 perliol - C API for Perl's implementation of IO in Layers.
3993 =item History and Background
3995 =item Layers vs Disciplines
3997 =item Data Structures
3999 1. The functions and attributes of the "layer class", 2. The per-instance
4000 data for a particular handle
4002 =item Functions and Attributes
4004 =item Per-instance Data
4006 =item Layers in action.
4008 =item Per-instance flag bits
4010 PERLIO_F_EOF, PERLIO_F_CANWRITE, PERLIO_F_CANREAD, PERLIO_F_ERROR,
4011 PERLIO_F_TRUNCATE, PERLIO_F_APPEND, PERLIO_F_CRLF, PERLIO_F_UTF8,
4012 PERLIO_F_UNBUF, PERLIO_F_WRBUF, PERLIO_F_RDBUF, PERLIO_F_LINEBUF,
4013 PERLIO_F_TEMP, PERLIO_F_OPEN, PERLIO_F_FASTGETS
4015 =item Methods in Detail
4017 IV (*Pushed)(PerlIO *f,const char *mode, SV *arg);, IV
4018 (*Popped)(PerlIO *f);, PerlIO * (*Open)(...);, SV *
4019 (*Getarg)(PerlIO *f);, IV (*Fileno)(PerlIO *f);, SSize_t
4020 (*Read)(PerlIO *f, void *vbuf, Size_t count);, SSize_t (*Unread)(PerlIO
4021 *f, const void *vbuf, Size_t count);, SSize_t (*Write)(PerlIO *f, const
4022 void *vbuf, Size_t count);, IV (*Seek)(PerlIO *f, Off_t
4023 offset, int whence);, Off_t (*Tell)(PerlIO *f);, IV
4024 (*Close)(PerlIO *f);, IV (*Flush)(PerlIO *f);, IV
4025 (*Fill)(PerlIO *f);, IV (*Eof)(PerlIO *f);, IV
4026 (*Error)(PerlIO *f);, void (*Clearerr)(PerlIO *f);, void
4027 (*Setlinebuf)(PerlIO *f);, STDCHAR * (*Get_base)(PerlIO *f);,
4028 Size_t (*Get_bufsiz)(PerlIO *f);, STDCHAR *
4029 (*Get_ptr)(PerlIO *f);, SSize_t (*Get_cnt)(PerlIO *f);, void
4030 (*Set_ptrcnt)(PerlIO *f,STDCHAR *ptr,SSize_t cnt);
4034 "unix", "perlio", "stdio", "crlf", "mmap", "pending", "raw", "utf8"
4036 =item Extension Layers
4038 ":encoding", ":Scalar", ":Object" or ":Perl"
4044 =head2 perlapio - perl's IO abstraction interface.
4052 1. USE_STDIO, 2. USE_SFIO, 3. USE_PERLIO, B<PerlIO_stdin()>,
4053 B<PerlIO_stdout()>, B<PerlIO_stderr()>, B<PerlIO_open(path, mode)>,
4054 B<PerlIO_fdopen(fd,mode)>, B<PerlIO_reopen(path,mode,f)>,
4055 B<PerlIO_printf(f,fmt,...)>, B<PerlIO_vprintf(f,fmt,a)>,
4056 B<PerlIO_stdoutf(fmt,...)>, B<PerlIO_read(f,buf,count)>,
4057 B<PerlIO_write(f,buf,count)>, B<PerlIO_close(f)>, B<PerlIO_puts(f,s)>,
4058 B<PerlIO_putc(f,c)>, B<PerlIO_ungetc(f,c)>, B<PerlIO_getc(f)>,
4059 B<PerlIO_eof(f)>, B<PerlIO_error(f)>, B<PerlIO_fileno(f)>,
4060 B<PerlIO_clearerr(f)>, B<PerlIO_flush(f)>, B<PerlIO_seek(f,offset,whence)>,
4061 B<PerlIO_tell(f)>, B<PerlIO_getpos(f,p)>, B<PerlIO_setpos(f,p)>,
4062 B<PerlIO_rewind(f)>, B<PerlIO_tmpfile()>, B<PerlIO_setlinebuf(f)>
4066 =item Co-existence with stdio
4068 B<PerlIO_importFILE(f,flags)>, B<PerlIO_exportFILE(f,flags)>,
4069 B<PerlIO_findFILE(f)>, B<PerlIO_releaseFILE(p,f)>
4071 =item "Fast gets" Functions
4073 B<PerlIO_fast_gets(f)>, B<PerlIO_has_cntptr(f)>, B<PerlIO_get_cnt(f)>,
4074 B<PerlIO_get_ptr(f)>, B<PerlIO_set_ptrcnt(f,p,c)>, B<PerlIO_canset_cnt(f)>,
4075 B<PerlIO_set_cnt(f,c)>, B<PerlIO_has_base(f)>, B<PerlIO_get_base(f)>,
4076 B<PerlIO_get_bufsiz(f)>
4078 =item Other Functions
4080 PerlIO_apply_layers(f,mode,layers), PerlIO_binmode(f,ptype,imode,layers),
4081 'E<lt>' read, 'E<gt>' write, '+' read/write, PerlIO_debug(fmt,...)
4087 =head2 perltodo - Perl TO-DO List
4093 =item To do during 5.6.x
4097 =item Support for I/O disciplines
4099 =item Eliminate need for "use utf8";
4101 =item Create a char *sv_pvprintify(sv, STRLEN *lenp, UV flags)
4103 =item Autoload byte.pm
4105 =item Make "\u{XXXX}" et al work
4107 =item Overloadable regex assertions
4109 =item Unicode collation and normalization
4111 =item Unicode case mappings
4113 =item Unicode regular expression character classes
4115 =item use Thread for iThreads
4117 =item make perl_clone optionally clone ops
4119 =item Work out exit/die semantics for threads
4121 =item Typed lexicals for compiler
4123 =item Compiler workarounds for Win32
4125 =item AUTOLOADing in the compiler
4127 =item Fixing comppadlist when compiling
4129 =item Cleaning up exported namespace
4131 =item Complete signal handling
4133 =item Out-of-source builds
4135 =item POSIX realtime support
4137 =item UNIX98 support
4141 =item Long double conversion
4145 =item Thread-safe regexes
4147 =item Arithmetic on non-Arabic numerals
4149 =item POSIX Unicode character classes
4151 =item Factoring out common suffices/prefices in regexps (trie optimization)
4153 =item Security audit shipped utilities
4155 =item Custom opcodes
4157 =item spawnvp() on Win32
4159 =item DLL Versioning
4161 =item Introduce @( and @)
4163 =item Floating point handling
4165 =item IV/UV preservation
4167 =item Replace pod2html with something using Pod::Parser
4169 =item Automate module testing on CPAN
4171 =item sendmsg and recvmsg
4173 =item Rewrite perlre documentation
4175 =item Convert example code to IO::Handle filehandles
4177 =item Document Win32 choices
4179 =item Check new modules
4181 =item Make roffitall find pods and libs itself
4185 =item To do at some point
4189 =item Remove regular expression recursion
4191 =item Memory leaks after failed eval
4193 =item pack "(stuff)*"
4195 =item bitfields in pack
4197 =item Cross compilation
4199 =item Perl preprocessor / macros
4201 =item Perl lexer in Perl
4203 =item Using POSIX calls internally
4205 =item -i rename file when changed
4207 =item All ARGV input should act like E<lt>E<gt>
4209 =item Support for rerunning debugger
4211 =item Test Suite for the Debugger
4213 =item my sub foo { }
4215 =item One-pass global destruction
4217 =item Rewrite regexp parser
4219 =item Cache recently used regexps
4221 =item Re-entrant functions
4223 =item Cross-compilation support
4225 =item Bit-shifting bitvectors
4227 =item debugger pragma
4229 =item use less pragma
4231 =item switch structures
4233 =item Cache eval tree
4237 =item Shrink opcode tables
4239 =item Optimize away @_
4241 =item Prototypes versus indirect objects
4245 =item Prototype method calls
4247 =item Return context prototype declarations
4251 =item Garbage collection
4255 =item pack/unpack tutorial
4257 =item Rewrite perldoc
4259 =item Install .3p manpages
4261 =item Unicode tutorial
4263 =item Update POSIX.pm for 1003.1-2
4265 =item Retargetable installation
4267 =item POSIX emulation on non-POSIX systems
4269 =item Rename Win32 headers
4271 =item Finish off lvalue functions
4273 =item Update sprintf documentation
4275 =item Use fchown/fchmod internally
4283 =item ref() in list context
4285 =item Make tr/// return histogram
4287 =item Compile to real threaded code
4289 =item Structured types
4291 =item Modifiable $1 et al.
4293 =item Procedural interfaces for IO::*, etc.
4297 =item Attach/detach debugger from running program
4299 =item Alternative RE syntax module
4303 =item foreach(reverse ...)
4305 =item Constant function cache
4307 =item Approximate regular expression matching
4315 =item Update guts documentation
4317 =item Add more tests
4319 =item Update auxiliary tools
4323 =item Recently done things
4327 =item Safe signal handling
4333 =item setitimer and getimiter
4335 =item Testing __DIE__ hook
4337 =item CPP equivalent in Perl
4339 =item Explicit switch statements
4347 =item perlcc to produce executable
4349 =item END blocks saved in compiled output
4351 =item Secure temporary file module
4353 =item Integrate Time::HiRes
4355 =item Turn Cwd into XS
4357 =item Mmap for input
4359 =item Byte to/from UTF8 and UTF8 to/from local conversion
4361 =item Add sockatmark support
4363 =item Mailing list archives
4367 =item Integrate MacPerl
4369 =item Web "nerve center" for Perl
4371 =item Regular expression tutorial
4373 =item Debugging Tutorial
4375 =item Integrate new modules
4377 =item Integrate profiler
4379 =item Y2K error detection
4381 =item Regular expression debugger
4385 =item "Dynamic" lexicals
4387 =item Cache precompiled modules
4391 =item Deprecated Wishes
4395 =item Loop control on do{}
4397 =item Lexically scoped typeglobs
4403 =item Generalised want()/caller())
4405 =item Named prototypes
4407 =item Built-in globbing
4409 =item Regression tests for suidperl
4411 =item Cached hash values
4413 =item Add compression modules
4415 =item Reorganise documentation into tutorials/references
4417 =item Remove distinction between functions and operators
4419 =item Make XS easier to use
4421 =item Make embedding easier to use
4425 =item my $Package::variable
4427 =item "or" tests defined, not truth
4429 =item "class"-based lexicals
4433 =item Lazy evaluation / tail recursion removal
4435 =item Make "use utf8" the default
4441 =head2 perlhack - How to hack at the Perl internals
4447 Does concept match the general goals of Perl?, Where is the
4448 implementation?, Backwards compatibility, Could it be a module instead?, Is
4449 the feature generic enough?, Does it potentially introduce new bugs?, Does
4450 it preclude other desirable features?, Is the implementation robust?, Is
4451 the implementation generic enough to be portable?, Is there enough
4452 documentation?, Is there another way to do it?, Does it create too much
4453 work?, Patches speak louder than words
4457 =item Keeping in sync
4459 rsync'ing the source tree, Using rsync over the LAN, Using pushing over the
4460 NFS, rsync'ing the patches
4462 =item Why rsync the source tree
4464 It's easier to rsync the source tree, It's more recent, It's more reliable
4466 =item Why rsync the patches
4468 It's easier to rsync the patches, It's a good reference, Finding a start
4469 point, Finding how to fix a bug, Finding the source of misbehaviour
4471 =item Submitting patches
4473 L<perlguts>, L<perlxstut> and L<perlxs>, L<perlapi>,
4474 F<Porting/pumpkin.pod>, The perl5-porters FAQ
4476 =item Finding Your Way Around
4478 Core modules, Tests, Documentation, Configure, Interpreter
4480 =item Elements of the interpreter
4482 Startup, Parsing, Optimization, Running
4484 =item Internal Variable Types
4490 Argument stack, Mark stack, Save stack
4492 =item Millions of Macros
4494 =item Poking at Perl
4496 =item Using a source-level debugger
4498 run [args], break function_name, break source.c:xxx, step, next, continue,
4499 finish, 'enter', print
4501 =item Dumping Perl Data Structures
4505 =item Patching a core module
4507 =item Writing a test
4509 F<t/base/>, F<t/cmd/>, F<t/comp/>, F<t/io/>, F<t/lib/>, F<t/op/>,
4510 F<t/pod/>, F<t/run/>
4514 =item EXTERNAL TOOLS FOR DEBUGGING PERL
4518 =item Rational Software's Purify
4520 =item Purify on Unix
4522 -Accflags=-DPURIFY, -Doptimize='-g', -Uusemymalloc, -Dusemultiplicity
4526 DEFINES, USE_MULTI = define, #PERL_MALLOC = define, CFG = Debug
4528 =item Compaq's/Digital's Third Degree
4530 =item PERL_DESTRUCT_LEVEL
4534 =item Gprof Profiling
4536 -a, -b, -e routine, -f routine, -s, -z
4538 =item GCC gcov Profiling
4540 =item Pixie Profiling
4542 -h, -l, -p[rocedures], -h[eavy], -i[nvocations], -l[ines], -testcoverage,
4547 I<The Road goes ever on and on, down from the door where it began.>
4555 =head2 perlhist - the Perl history records
4563 =item THE KEEPERS OF THE PUMPKIN
4575 =item SELECTED RELEASE SIZES
4577 =item SELECTED PATCH SIZES
4581 =item THE KEEPERS OF THE RECORDS
4585 =head2 perldelta - what will be new for perl v5.8.0
4591 =item Reporting Bugs
4599 =head2 perl572delta - what's new for perl v5.7.2
4605 =item Security Vulnerability Closed
4607 =item Incompatible Changes
4611 =item 64-bit platforms and malloc
4613 =item AIX Dynaloading
4615 =item Socket Extension Dynamic in VMS
4617 =item Different Definition of the Unicode Character Classes \p{In...}
4623 =item Core Enhancements
4625 =item Modules and Pragmata
4629 =item New Modules and Distributions
4631 =item Updated And Improved Modules and Pragmata
4635 =item Utility Changes
4637 =item New Documentation
4639 =item Installation and Configuration Improvements
4643 =item New Or Improved Platforms
4645 =item Generic Improvements
4649 =item Selected Bug Fixes
4653 =item Platform Specific Changes and Fixes
4657 =item New or Changed Diagnostics
4659 =item Source Code Enhancements
4663 =item MAGIC constants
4665 =item Better commented code
4667 =item Regex pre-/post-compilation items matched up
4675 =item Known Problems
4681 =item Amiga Perl Invoking Mystery
4683 =item lib/ftmp-security tests warn 'system possibly insecure'
4685 =item Cygwin intermittent failures of lib/Memoize/t/expire_file 11 and 12
4687 =item HP-UX lib/io_multihomed Fails When LP64-Configur
4689 =item HP-UX lib/posix Subtest 9 Fails When LP64-Configured
4691 =item Linux With Sfio Fails op/misc Test 48
4695 =item op/sprintf tests 129 and 130
4697 =item Failure of Thread tests
4707 =item Localising a Tied Variable Leaks Memory
4709 =item Self-tying of Arrays and Hashes Is Forbidden
4711 =item Variable Attributes are not Currently Usable for Tieing
4713 =item Building Extensions Can Fail Because Of Largefiles
4715 =item The Compiler Suite Is Still Experimental
4717 =item The Long Double Support is Still Experimental
4721 =item Reporting Bugs
4729 =head2 perl571delta - what's new for perl v5.7.1
4735 =item Security Vulnerability Closed
4737 =item Incompatible Changes
4739 =item Core Enhancements
4743 =item AUTOLOAD Is Now Lvaluable
4745 =item PerlIO is Now The Default
4747 =item Signals Are Now Safe
4751 =item Modules and Pragmata
4757 =item Updated And Improved Modules and Pragmata
4761 =item Performance Enhancements
4763 =item Utility Changes
4765 =item New Documentation
4781 =item README.solaris
4785 =item Porting/repository.pod
4789 =item Installation and Configuration Improvements
4793 =item New Or Improved Platforms
4795 =item Generic Improvements
4797 d_cmsghdr, d_fcntl_can_lock, d_fsync, d_getitimer, d_getpagsz, d_msghdr_s,
4798 need_va_copy, d_readv, d_recvmsg, d_sendmsg, sig_size, d_sockatmark,
4799 d_strtoq, d_u32align, d_ualarm, d_usleep
4803 =item Selected Bug Fixes
4807 =item Platform Specific Changes and Fixes
4811 =item New or Changed Diagnostics
4813 =item Changed Internals
4817 =item Known Problems
4821 =item AIX vac 5.0.0.0 May Produce Buggy Code For Perl
4823 =item lib/ftmp-security tests warn 'system possibly insecure'
4825 =item lib/io_multihomed Fails In LP64-Configured HP-UX
4827 =item Test lib/posix Subtest 9 Fails In LP64-Configured HP-UX
4831 =item Linux With Sfio Fails op/misc Test 48
4833 =item sigaction test 13 in VMS
4835 =item sprintf tests 129 and 130
4837 =item Failure of Thread tests
4839 =item Localising a Tied Variable Leaks Memory
4841 =item Self-tying of Arrays and Hashes Is Forbidden
4843 =item Building Extensions Can Fail Because Of Largefiles
4845 =item The Compiler Suite Is Still Experimental
4849 =item Reporting Bugs
4857 =head2 perl570delta - what's new for perl v5.7.0
4863 =item Security Vulnerability Closed
4865 =item Incompatible Changes
4867 =item Core Enhancements
4869 =item Modules and Pragmata
4875 =item Updated And Improved Modules and Pragmata
4879 =item Utility Changes
4881 =item New Documentation
4883 =item Performance Enhancements
4885 =item Installation and Configuration Improvements
4889 =item Generic Improvements
4893 =item Selected Bug Fixes
4897 =item Platform Specific Changes and Fixes
4901 =item New or Changed Diagnostics
4903 =item Changed Internals
4905 =item Known Problems
4909 =item Unicode Support Still Far From Perfect
4911 =item EBCDIC Still A Lost Platform
4913 =item Building Extensions Can Fail Because Of Largefiles
4915 =item ftmp-security tests warn 'system possibly insecure'
4917 =item Test lib/posix Subtest 9 Fails In LP64-Configured HP-UX
4919 =item Long Doubles Still Don't Work In Solaris
4921 =item Linux With Sfio Fails op/misc Test 48
4923 =item Storable tests fail in some platforms
4925 =item Threads Are Still Experimental
4927 =item The Compiler Suite Is Still Experimental
4931 =item Reporting Bugs
4939 =head2 perl56delta, perldelta - what's new for perl v5.6.0
4945 =item Core Enhancements
4949 =item Interpreter cloning, threads, and concurrency
4951 =item Lexically scoped warning categories
4953 =item Unicode and UTF-8 support
4955 =item Support for interpolating named characters
4957 =item "our" declarations
4959 =item Support for strings represented as a vector of ordinals
4961 =item Improved Perl version numbering system
4963 =item New syntax for declaring subroutine attributes
4965 =item File and directory handles can be autovivified
4967 =item open() with more than two arguments
4969 =item 64-bit support
4971 =item Large file support
4977 =item Enhanced support for sort() subroutines
4979 =item C<sort $coderef @foo> allowed
4981 =item File globbing implemented internally
4983 =item Support for CHECK blocks
4985 =item POSIX character class syntax [: :] supported
4987 =item Better pseudo-random number generator
4989 =item Improved C<qw//> operator
4991 =item Better worst-case behavior of hashes
4993 =item pack() format 'Z' supported
4995 =item pack() format modifier '!' supported
4997 =item pack() and unpack() support counted strings
4999 =item Comments in pack() templates
5001 =item Weak references
5003 =item Binary numbers supported
5005 =item Lvalue subroutines
5007 =item Some arrows may be omitted in calls through references
5009 =item Boolean assignment operators are legal lvalues
5011 =item exists() is supported on subroutine names
5013 =item exists() and delete() are supported on array elements
5015 =item Pseudo-hashes work better
5017 =item Automatic flushing of output buffers
5019 =item Better diagnostics on meaningless filehandle operations
5021 =item Where possible, buffered data discarded from duped input filehandle
5023 =item eof() has the same old magic as <>
5025 =item binmode() can be used to set :crlf and :raw modes
5027 =item C<-T> filetest recognizes UTF-8 encoded files as "text"
5029 =item system(), backticks and pipe open now reflect exec() failure
5031 =item Improved diagnostics
5033 =item Diagnostics follow STDERR
5035 =item More consistent close-on-exec behavior
5037 =item syswrite() ease-of-use
5039 =item Better syntax checks on parenthesized unary operators
5041 =item Bit operators support full native integer width
5043 =item Improved security features
5045 =item More functional bareword prototype (*)
5047 =item C<require> and C<do> may be overridden
5049 =item $^X variables may now have names longer than one character
5051 =item New variable $^C reflects C<-c> switch
5053 =item New variable $^V contains Perl version as a string
5055 =item Optional Y2K warnings
5057 =item Arrays now always interpolate into double-quoted strings
5061 =item Modules and Pragmata
5067 attributes, B, Benchmark, ByteLoader, constant, charnames, Data::Dumper,
5068 DB, DB_File, Devel::DProf, Devel::Peek, Dumpvalue, DynaLoader, English,
5069 Env, Fcntl, File::Compare, File::Find, File::Glob, File::Spec,
5070 File::Spec::Functions, Getopt::Long, IO, JPL, lib, Math::BigInt,
5071 Math::Complex, Math::Trig, Pod::Parser, Pod::InputObjects, Pod::Checker,
5072 podchecker, Pod::ParseUtils, Pod::Find, Pod::Select, podselect, Pod::Usage,
5073 pod2usage, Pod::Text and Pod::Man, SDBM_File, Sys::Syslog, Sys::Hostname,
5074 Term::ANSIColor, Time::Local, Win32, XSLoader, DBM Filters
5080 =item Utility Changes
5094 =item The Perl Debugger
5098 =item Improved Documentation
5100 perlapi.pod, perlboot.pod, perlcompile.pod, perldbmfilter.pod,
5101 perldebug.pod, perldebguts.pod, perlfork.pod, perlfilter.pod, perlhack.pod,
5102 perlintern.pod, perllexwarn.pod, perlnumber.pod, perlopentut.pod,
5103 perlreftut.pod, perltootc.pod, perltodo.pod, perlunicode.pod
5105 =item Performance enhancements
5109 =item Simple sort() using { $a <=> $b } and the like are optimized
5111 =item Optimized assignments to lexical variables
5113 =item Faster subroutine calls
5115 =item delete(), each(), values() and hash iteration are faster
5119 =item Installation and Configuration Improvements
5123 =item -Dusethreads means something different
5125 =item New Configure flags
5127 =item Threadedness and 64-bitness now more daring
5133 =item -Duselargefiles
5135 =item installusrbinperl
5141 =item Enhanced Installation Directories
5145 =item Platform specific changes
5149 =item Supported platforms
5153 =item OS390 (OpenEdition MVS)
5161 =item Significant bug fixes
5165 =item <HANDLE> on empty files
5167 =item C<eval '...'> improvements
5169 =item All compilation errors are true errors
5171 =item Implicitly closed filehandles are safer
5173 =item Behavior of list slices is more consistent
5175 =item C<(\$)> prototype and C<$foo{a}>
5177 =item C<goto &sub> and AUTOLOAD
5179 =item C<-bareword> allowed under C<use integer>
5181 =item Failures in DESTROY()
5183 =item Locale bugs fixed
5187 =item Spurious subroutine stubs after failed subroutine calls
5189 =item Taint failures under C<-U>
5191 =item END blocks and the C<-c> switch
5193 =item Potential to leak DATA filehandles
5197 =item New or Changed Diagnostics
5199 "%s" variable %s masks earlier declaration in same %s, "my sub" not yet
5200 implemented, "our" variable %s redeclared, '!' allowed only after types %s,
5201 / cannot take a count, / must be followed by a, A or Z, / must be followed
5202 by a*, A* or Z*, / must follow a numeric type, /%s/: Unrecognized escape
5203 \\%c passed through, /%s/: Unrecognized escape \\%c in character class
5204 passed through, /%s/ should probably be written as "%s", %s() called too
5205 early to check prototype, %s argument is not a HASH or ARRAY element, %s
5206 argument is not a HASH or ARRAY element or slice, %s argument is not a
5207 subroutine name, %s package attribute may clash with future reserved word:
5208 %s, (in cleanup) %s, <> should be quotes, Attempt to join self, Bad evalled
5209 substitution pattern, Bad realloc() ignored, Bareword found in conditional,
5210 Binary number > 0b11111111111111111111111111111111 non-portable, Bit vector
5211 size > 32 non-portable, Buffer overflow in prime_env_iter: %s, Can't check
5212 filesystem of script "%s", Can't declare class for non-scalar %s in "%s",
5213 Can't declare %s in "%s", Can't ignore signal CHLD, forcing to default,
5214 Can't modify non-lvalue subroutine call, Can't read CRTL environ, Can't
5215 remove %s: %s, skipping file, Can't return %s from lvalue subroutine, Can't
5216 weaken a nonreference, Character class [:%s:] unknown, Character class
5217 syntax [%s] belongs inside character classes, Constant is not %s reference,
5218 constant(%s): %s, CORE::%s is not a keyword, defined(@array) is deprecated,
5219 defined(%hash) is deprecated, Did not produce a valid header, (Did you mean
5220 "local" instead of "our"?), Document contains no data, entering effective
5221 %s failed, false [] range "%s" in regexp, Filehandle %s opened only for
5222 output, flock() on closed filehandle %s, Global symbol "%s" requires
5223 explicit package name, Hexadecimal number > 0xffffffff non-portable,
5224 Ill-formed CRTL environ value "%s", Ill-formed message in prime_env_iter:
5225 |%s|, Illegal binary digit %s, Illegal binary digit %s ignored, Illegal
5226 number of bits in vec, Integer overflow in %s number, Invalid %s attribute:
5227 %s, Invalid %s attributes: %s, invalid [] range "%s" in regexp, Invalid
5228 separator character %s in attribute list, Invalid separator character %s in
5229 subroutine attribute list, leaving effective %s failed, Lvalue subs
5230 returning %s not implemented yet, Method %s not permitted, Missing
5231 %sbrace%s on \N{}, Missing command in piped open, Missing name in "my sub",
5232 No %s specified for -%c, No package name allowed for variable %s in "our",
5233 No space allowed after -%c, no UTC offset information; assuming local time
5234 is UTC, Octal number > 037777777777 non-portable, panic: del_backref,
5235 panic: kid popen errno read, panic: magic_killbackrefs, Parentheses missing
5236 around "%s" list, Possible unintended interpolation of %s in string,
5237 Possible Y2K bug: %s, pragma "attrs" is deprecated, use "sub NAME : ATTRS"
5238 instead, Premature end of script headers, Repeat count in pack overflows,
5239 Repeat count in unpack overflows, realloc() of freed memory ignored,
5240 Reference is already weak, setpgrp can't take arguments, Strange *+?{} on
5241 zero-length expression, switching effective %s is not implemented, This
5242 Perl can't reset CRTL environ elements (%s), This Perl can't set CRTL
5243 environ elements (%s=%s), Too late to run %s block, Unknown open() mode
5244 '%s', Unknown process %x sent message to prime_env_iter: %s, Unrecognized
5245 escape \\%c passed through, Unterminated attribute parameter in attribute
5246 list, Unterminated attribute list, Unterminated attribute parameter in
5247 subroutine attribute list, Unterminated subroutine attribute list, Value of
5248 CLI symbol "%s" too long, Version number must be a constant number
5252 =item Incompatible Changes
5256 =item Perl Source Incompatibilities
5258 CHECK is a new keyword, Treatment of list slices of undef has changed,
5259 Format of $English::PERL_VERSION is different, Literals of the form
5260 C<1.2.3> parse differently, Possibly changed pseudo-random number
5261 generator, Hashing function for hash keys has changed, C<undef> fails on
5262 read only values, Close-on-exec bit may be set on pipe and socket handles,
5263 Writing C<"$$1"> to mean C<"${$}1"> is unsupported, delete(), each(),
5264 values() and C<\(%h)>, vec(EXPR,OFFSET,BITS) enforces powers-of-two BITS,
5265 Text of some diagnostic output has changed, C<%@> has been removed,
5266 Parenthesized not() behaves like a list operator, Semantics of bareword
5267 prototype C<(*)> have changed, Semantics of bit operators may have changed
5268 on 64-bit platforms, More builtins taint their results
5270 =item C Source Incompatibilities
5272 C<PERL_POLLUTE>, C<PERL_IMPLICIT_CONTEXT>, C<PERL_POLLUTE_MALLOC>
5274 =item Compatible C Source API Changes
5276 C<PATCHLEVEL> is now C<PERL_VERSION>
5278 =item Binary Incompatibilities
5282 =item Known Problems
5286 =item Thread test failures
5288 =item EBCDIC platforms not supported
5290 =item In 64-bit HP-UX the lib/io_multihomed test may hang
5292 =item NEXTSTEP 3.3 POSIX test failure
5294 =item Tru64 (aka Digital UNIX, aka DEC OSF/1) lib/sdbm test failure with
5297 =item UNICOS/mk CC failures during Configure run
5299 =item Arrow operator and arrays
5301 =item Experimental features
5303 Threads, Unicode, 64-bit support, Lvalue subroutines, Weak references, The
5304 pseudo-hash data type, The Compiler suite, Internal implementation of file
5305 globbing, The DB module, The regular expression code constructs:
5309 =item Obsolete Diagnostics
5311 Character class syntax [: :] is reserved for future extensions, Ill-formed
5312 logical name |%s| in prime_env_iter, In string, @%s now must be written as
5313 \@%s, Probable precedence problem on %s, regexp too big, Use of "$$<digit>"
5314 to mean "${$}<digit>" is deprecated
5316 =item Reporting Bugs
5324 =head2 perl5005delta, perldelta - what's new for perl5.005
5330 =item About the new versioning system
5332 =item Incompatible Changes
5336 =item WARNING: This version is not binary compatible with Perl 5.004.
5338 =item Default installation structure has changed
5340 =item Perl Source Compatibility
5342 =item C Source Compatibility
5344 =item Binary Compatibility
5346 =item Security fixes may affect compatibility
5348 =item Relaxed new mandatory warnings introduced in 5.004
5362 =item Regular Expressions
5364 Many new and improved optimizations, Many bug fixes, New regular expression
5365 constructs, New operator for precompiled regular expressions, Other
5366 improvements, Incompatible changes
5368 =item Improved malloc()
5370 =item Quicksort is internally implemented
5372 =item Reliable signals
5374 =item Reliable stack pointers
5376 =item More generous treatment of carriage returns
5380 =item Better support for multiple interpreters
5382 =item Behavior of local() on array and hash elements is now well-defined
5384 =item C<%!> is transparently tied to the L<Errno> module
5386 =item Pseudo-hashes are supported
5388 =item C<EXPR foreach EXPR> is supported
5390 =item Keywords can be globally overridden
5392 =item C<$^E> is meaningful on Win32
5394 =item C<foreach (1..1000000)> optimized
5396 =item C<Foo::> can be used as implicitly quoted package name
5398 =item C<exists $Foo::{Bar::}> tests existence of a package
5400 =item Better locale support
5402 =item Experimental support for 64-bit platforms
5404 =item prototype() returns useful results on builtins
5406 =item Extended support for exception handling
5408 =item Re-blessing in DESTROY() supported for chaining DESTROY() methods
5410 =item All C<printf> format conversions are handled internally
5412 =item New C<INIT> keyword
5414 =item New C<lock> keyword
5416 =item New C<qr//> operator
5418 =item C<our> is now a reserved word
5420 =item Tied arrays are now fully supported
5422 =item Tied handles support is better
5424 =item 4th argument to substr
5426 =item Negative LENGTH argument to splice
5428 =item Magic lvalues are now more magical
5430 =item <> now reads in records
5434 =item Supported Platforms
5440 =item Changes in existing support
5444 =item Modules and Pragmata
5450 B, Data::Dumper, Dumpvalue, Errno, File::Spec, ExtUtils::Installed,
5451 ExtUtils::Packlist, Fatal, IPC::SysV, Test, Tie::Array, Tie::Handle,
5452 Thread, attrs, fields, re
5454 =item Changes in existing modules
5456 Benchmark, Carp, CGI, Fcntl, Math::Complex, Math::Trig, POSIX, DB_File,
5457 MakeMaker, CPAN, Cwd
5461 =item Utility Changes
5463 =item Documentation Changes
5465 =item New Diagnostics
5467 Ambiguous call resolved as CORE::%s(), qualify as such or use &, Bad index
5468 while coercing array into hash, Bareword "%s" refers to nonexistent
5469 package, Can't call method "%s" on an undefined value, Can't check
5470 filesystem of script "%s" for nosuid, Can't coerce array into hash, Can't
5471 goto subroutine from an eval-string, Can't localize pseudo-hash element,
5472 Can't use %%! because Errno.pm is not available, Cannot find an opnumber
5473 for "%s", Character class syntax [. .] is reserved for future extensions,
5474 Character class syntax [: :] is reserved for future extensions, Character
5475 class syntax [= =] is reserved for future extensions, %s: Eval-group in
5476 insecure regular expression, %s: Eval-group not allowed, use re 'eval', %s:
5477 Eval-group not allowed at run time, Explicit blessing to '' (assuming
5478 package main), Illegal hex digit ignored, No such array field, No such
5479 field "%s" in variable %s of type %s, Out of memory during ridiculously
5480 large request, Range iterator outside integer range, Recursive inheritance
5481 detected while looking for method '%s' %s, Reference found where even-sized
5482 list expected, Undefined value assigned to typeglob, Use of reserved word
5483 "%s" is deprecated, perl: warning: Setting locale failed
5485 =item Obsolete Diagnostics
5487 Can't mktemp(), Can't write to temp file for B<-e>: %s, Cannot open
5488 temporary file, regexp too big
5490 =item Configuration Changes
5500 =head2 perl5004delta, perldelta - what's new for perl5.004
5506 =item Supported Environments
5512 =item List assignment to %ENV works
5514 =item Change to "Can't locate Foo.pm in @INC" error
5516 =item Compilation option: Binary compatibility with 5.003
5518 =item $PERL5OPT environment variable
5520 =item Limitations on B<-M>, B<-m>, and B<-T> options
5522 =item More precise warnings
5524 =item Deprecated: Inherited C<AUTOLOAD> for non-methods
5526 =item Previously deprecated %OVERLOAD is no longer usable
5528 =item Subroutine arguments created only when they're modified
5530 =item Group vector changeable with C<$)>
5532 =item Fixed parsing of $$<digit>, &$<digit>, etc.
5534 =item Fixed localization of $<digit>, $&, etc.
5536 =item No resetting of $. on implicit close
5538 =item C<wantarray> may return undef
5540 =item C<eval EXPR> determines value of EXPR in scalar context
5542 =item Changes to tainting checks
5544 No glob() or <*>, No spawning if tainted $CDPATH, $ENV, $BASH_ENV, No
5545 spawning if tainted $TERM doesn't look like a terminal name
5547 =item New Opcode module and revised Safe module
5549 =item Embedding improvements
5551 =item Internal change: FileHandle class based on IO::* classes
5553 =item Internal change: PerlIO abstraction interface
5555 =item New and changed syntax
5559 =item New and changed builtin constants
5563 =item New and changed builtin variables
5567 =item New and changed builtin functions
5569 delete on slices, flock, printf and sprintf, keys as an lvalue, my() in
5570 Control Structures, pack() and unpack(), sysseek(), use VERSION, use Module
5571 VERSION LIST, prototype(FUNCTION), srand, $_ as Default, C<m//gc> does not
5572 reset search position on failure, C<m//x> ignores whitespace before ?*+{},
5573 nested C<sub{}> closures work now, formats work right on changing lexicals
5575 =item New builtin methods
5577 isa(CLASS), can(METHOD), VERSION( [NEED] )
5579 =item TIEHANDLE now supported
5581 TIEHANDLE classname, LIST, PRINT this, LIST, PRINTF this, LIST, READ this
5582 LIST, READLINE this, GETC this, DESTROY this
5584 =item Malloc enhancements
5586 -DPERL_EMERGENCY_SBRK, -DPACK_MALLOC, -DTWO_POT_OPTIMIZE
5588 =item Miscellaneous efficiency enhancements
5592 =item Support for More Operating Systems
5608 use autouse MODULE => qw(sub1 sub2 sub3), use blib, use blib 'dir', use
5609 constant NAME => VALUE, use locale, use ops, use vmsish
5615 =item Required Updates
5617 =item Installation directories
5619 =item Module information summary
5633 =item Object-oriented overrides for builtin operators
5637 =item Utility Changes
5643 Sends converted HTML to standard output
5647 C<void> XSUBs now default to returning nothing
5651 =item C Language API Changes
5653 C<gv_fetchmethod> and C<perl_call_sv>, C<perl_eval_pv>, Extended API for
5656 =item Documentation Changes
5658 L<perldelta>, L<perlfaq>, L<perllocale>, L<perltoot>, L<perlapio>,
5659 L<perlmodlib>, L<perldebug>, L<perlsec>
5661 =item New Diagnostics
5663 "my" variable %s masks earlier declaration in same scope, %s argument is
5664 not a HASH element or slice, Allocation too large: %lx, Allocation too
5665 large, Applying %s to %s will act on scalar(%s), Attempt to free
5666 nonexistent shared string, Attempt to use reference as lvalue in substr,
5667 Bareword "%s" refers to nonexistent package, Can't redefine active sort
5668 subroutine %s, Can't use bareword ("%s") as %s ref while "strict refs" in
5669 use, Cannot resolve method `%s' overloading `%s' in package `%s', Constant
5670 subroutine %s redefined, Constant subroutine %s undefined, Copy method did
5671 not return a reference, Died, Exiting pseudo-block via %s, Identifier too
5672 long, Illegal character %s (carriage return), Illegal switch in PERL5OPT:
5673 %s, Integer overflow in hex number, Integer overflow in octal number,
5674 internal error: glob failed, Invalid conversion in %s: "%s", Invalid type
5675 in pack: '%s', Invalid type in unpack: '%s', Name "%s::%s" used only once:
5676 possible typo, Null picture in formline, Offset outside string, Out of
5677 memory!, Out of memory during request for %s, panic: frexp, Possible
5678 attempt to put comments in qw() list, Possible attempt to separate words
5679 with commas, Scalar value @%s{%s} better written as $%s{%s}, Stub found
5680 while resolving method `%s' overloading `%s' in %s, Too late for "B<-T>"
5681 option, untie attempted while %d inner references still exist, Unrecognized
5682 character %s, Unsupported function fork, Use of "$$<digit>" to mean
5683 "${$}<digit>" is deprecated, Value of %s can be "0"; test with defined(),
5684 Variable "%s" may be unavailable, Variable "%s" will not stay shared,
5685 Warning: something's wrong, Ill-formed logical name |%s| in prime_env_iter,
5686 Got an error from DosAllocMem, Malformed PERLLIB_PREFIX, PERL_SH_DIR too
5687 long, Process terminated by SIG%s
5697 =head2 perlaix, README.aix - Perl version 5 on IBM Unix (AIX) systems
5705 =item Compiling Perl 5 on AIX
5709 =item Building Dynamic Extensions on AIX
5711 =item The IBM ANSI C Compiler
5713 =item Using GNU's gcc for building perl
5715 =item Using Large Files with Perl
5721 =item AIX 4.2 and extensions using C++ with statics
5731 =head2 perlapollo, README.apollo - Perl version 5 on Apollo DomainOS
5741 =head2 perlamiga - Perl under Amiga OS
5755 =item Prerequisites for Compiling Perl on AmigaOS
5757 B<Unix emulation for AmigaOS: ixemul.library>, B<Version of Amiga OS>
5759 =item Starting Perl programs under AmigaOS
5761 =item Shortcomings of Perl under AmigaOS
5767 =item Accessing documentation
5771 =item Manpages for Perl on AmigaOS
5773 =item Perl HTML Documentation on AmigaOS
5775 =item Perl GNU Info Files on AmigaOS
5777 =item Perl LaTeX Documentation on AmigaOS
5781 =item BUILDING PERL ON AMIGAOS
5785 =item Build Prerequisites for Perl on AmigaOS
5787 =item Getting the Perl Source for AmigaOS
5789 =item Making Perl on AmigaOS
5791 =item Testing Perl on AmigaOS
5793 =item Installing the built Perl on AmigaOS
5803 =head2 perlbeos, README.beos - Perl version 5 on BeOS
5811 =item General Issues with Perl on BeOS
5813 =item BeOS Release-specific Notes