2 # !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
3 # This file is autogenerated by buildtoc from all the other pods.
4 # Edit those files and run buildtoc --build-toc to effect changes.
8 perltoc - perl documentation table of contents
12 This page provides a brief table of contents for the rest of the Perl
13 documentation set. It is meant to be scanned quickly or grepped
14 through to locate the proper section you're looking for.
16 =head1 BASIC DOCUMENTATION
18 =head2 perl - Practical Extraction and Report Language
30 =item Reference Manual
32 =item Internals and C Language Interface
36 =item Language-Specific
38 =item Platform-Specific
62 =head2 perlintro -- a brief introduction and overview of Perl
72 =item Running Perl programs
74 =item Basic syntax overview
76 =item Perl variable types
78 Scalars, Arrays, Hashes
80 =item Variable scoping
82 =item Conditional and looping constructs
84 if, while, for, foreach
86 =item Builtin operators and functions
88 Arithmetic, Numeric comparison, String comparison, Boolean logic,
93 =item Regular expressions
95 Simple matching, Simple substitution, More complex regular expressions,
96 Parentheses for capturing, Other regexp features
98 =item Writing subroutines
102 =item Using Perl modules
110 =head2 perlreftut - Mark's very short tutorial about references
116 =item Who Needs Complicated Data Structures?
124 =item Making References
126 =item Using References
144 =item Distribution Conditions
150 =head2 perldsc - Perl Data Structures Cookbook
156 arrays of arrays, hashes of arrays, arrays of hashes, hashes of hashes,
157 more elaborate constructs
161 =item COMMON MISTAKES
163 =item CAVEAT ON PRECEDENCE
165 =item WHY YOU SHOULD ALWAYS C<use strict>
171 =item ARRAYS OF ARRAYS
175 =item Declaration of an ARRAY OF ARRAYS
177 =item Generation of an ARRAY OF ARRAYS
179 =item Access and Printing of an ARRAY OF ARRAYS
183 =item HASHES OF ARRAYS
187 =item Declaration of a HASH OF ARRAYS
189 =item Generation of a HASH OF ARRAYS
191 =item Access and Printing of a HASH OF ARRAYS
195 =item ARRAYS OF HASHES
199 =item Declaration of an ARRAY OF HASHES
201 =item Generation of an ARRAY OF HASHES
203 =item Access and Printing of an ARRAY OF HASHES
207 =item HASHES OF HASHES
211 =item Declaration of a HASH OF HASHES
213 =item Generation of a HASH OF HASHES
215 =item Access and Printing of a HASH OF HASHES
219 =item MORE ELABORATE RECORDS
223 =item Declaration of MORE ELABORATE RECORDS
225 =item Declaration of a HASH OF COMPLEX RECORDS
227 =item Generation of a HASH OF COMPLEX RECORDS
239 =head2 perllol - Manipulating Arrays of Arrays in Perl
247 =item Declaration and Access of Arrays of Arrays
249 =item Growing Your Own
251 =item Access and Printing
263 =head2 perlrequick - Perl regular expressions quick start
273 =item Simple word matching
275 =item Using character classes
277 =item Matching this or that
279 =item Grouping things and hierarchical matching
281 =item Extracting matches
283 =item Matching repetitions
287 =item Search and replace
289 =item The split operator
297 =item AUTHOR AND COPYRIGHT
301 =item Acknowledgments
307 =head2 perlretut - Perl regular expressions tutorial
313 =item Part 1: The basics
317 =item Simple word matching
319 =item Using character classes
321 =item Matching this or that
323 =item Grouping things and hierarchical matching
325 =item Extracting matches
327 =item Matching repetitions
329 =item Building a regexp
331 =item Using regular expressions in Perl
335 =item Part 2: Power tools
339 =item More on characters, strings, and character classes
341 =item Compiling and saving regular expressions
343 =item Embedding comments and modifiers in a regular expression
345 =item Non-capturing groupings
347 =item Looking ahead and looking behind
349 =item Using independent subexpressions to prevent backtracking
351 =item Conditional expressions
353 =item A bit of magic: executing Perl code in a regular expression
355 =item Pragmas and debugging
363 =item AUTHOR AND COPYRIGHT
367 =item Acknowledgments
373 =head2 perlboot - Beginner's Object-Oriented Tutorial
381 =item If we could talk to the animals...
383 =item Introducing the method invocation arrow
385 =item Invoking a barnyard
387 =item The extra parameter of method invocation
389 =item Calling a second method to simplify things
391 =item Inheriting the windpipes
393 =item A few notes about @ISA
395 =item Overriding the methods
397 =item Starting the search from a different place
399 =item The SUPER way of doing things
401 =item Where we're at so far...
403 =item A horse is a horse, of course of course -- or is it?
405 =item Invoking an instance method
407 =item Accessing the instance data
409 =item How to build a horse
411 =item Inheriting the constructor
413 =item Making a method work with either classes or instances
415 =item Adding parameters to a method
417 =item More interesting instances
419 =item A horse of a different color
431 =head2 perltoot - Tom's object-oriented tutorial for perl
437 =item Creating a Class
441 =item Object Representation
443 =item Class Interface
445 =item Constructors and Instance Methods
447 =item Planning for the Future: Better Constructors
451 =item Other Object Methods
459 =item Accessing Class Data
461 =item Debugging Methods
463 =item Class Destructors
465 =item Documenting the Interface
475 =item Overridden Methods
477 =item Multiple Inheritance
479 =item UNIVERSAL: The Root of All Objects
483 =item Alternate Object Representations
487 =item Arrays as Objects
489 =item Closures as Objects
493 =item AUTOLOAD: Proxy Methods
497 =item Autoloaded Data Methods
499 =item Inherited Autoloaded Data Methods
503 =item Metaclassical Tools
509 =item Data Members as Variables
517 =item Object Terminology
523 =item AUTHOR AND COPYRIGHT
529 =item Acknowledgments
535 =head2 perltooc - Tom's OO Tutorial for Class Data in Perl
541 =item Class Data in a Can
543 =item Class Data as Package Variables
547 =item Putting All Your Eggs in One Basket
549 =item Inheritance Concerns
551 =item The Eponymous Meta-Object
553 =item Indirect References to Class Data
555 =item Monadic Classes
557 =item Translucent Attributes
561 =item Class Data as Lexical Variables
565 =item Privacy and Responsibility
567 =item File-Scoped Lexicals
569 =item More Inheritance Concerns
571 =item Locking the Door and Throwing Away the Key
573 =item Translucency Revisited
581 =item AUTHOR AND COPYRIGHT
583 =item ACKNOWLEDGEMENTS
589 =head2 perlbot - Bag'o Object Tricks (the BOT)
595 =item OO SCALING TIPS
597 =item INSTANCE VARIABLES
599 =item SCALAR INSTANCE VARIABLES
601 =item INSTANCE VARIABLE INHERITANCE
603 =item OBJECT RELATIONSHIPS
605 =item OVERRIDING SUPERCLASS METHODS
607 =item USING RELATIONSHIP WITH SDBM
609 =item THINKING OF CODE REUSE
611 =item CLASS CONTEXT AND THE OBJECT
613 =item INHERITING A CONSTRUCTOR
621 =head2 perlstyle - Perl style guide
629 =head2 perlcheat - Perl 5 Cheat Sheet
641 =item ACKNOWLEDGEMENTS
649 =head2 perltrap - Perl traps for the unwary
667 =item Perl4 to Perl5 Traps
669 Discontinuance, Deprecation, and BugFix traps, Parsing Traps, Numerical
670 Traps, General data type traps, Context Traps - scalar, list contexts,
671 Precedence Traps, General Regular Expression Traps using s///, etc,
672 Subroutine, Signal, Sorting Traps, OS Traps, DBM Traps, Unclassified Traps
674 =item Discontinuance, Deprecation, and BugFix traps
676 Symbols starting with "_" no longer forced into main, Double-colon valid
677 package separator in variable name, 2nd and 3rd args to C<splice()> are now
678 in scalar context, Can't do C<goto> into a block that is optimized away,
679 Can't use whitespace as variable name or quote delimiter, C<while/if BLOCK
680 BLOCK> gone, C<**> binds tighter than unary minus, C<foreach> changed when
681 iterating over a list, C<split> with no args behavior changed, B<-e>
682 behavior fixed, C<push> returns number of elements in resulting list, Some
683 error messages differ, C<split()> honors subroutine args, Bugs removed
687 Space between . and = triggers syntax error, Better parsing in perl 5,
688 Function parsing, String interpolation of C<$#array> differs, Perl guesses
689 on C<map>, C<grep> followed by C<{> if it starts BLOCK or hash ref
691 =item Numerical Traps
693 Formatted output and significant digits, Auto-increment operator over
694 signed int limit deleted, Assignment of return values from numeric equality
695 tests doesn't work, Bitwise string ops
697 =item General data type traps
699 Negative array subscripts now count from the end of array, Setting
700 C<$#array> lower now discards array elements, Hashes get defined before
701 use, Glob assignment from localized variable to variable, Assigning
702 C<undef> to glob, Changes in unary negation (of strings), Modifying of
703 constants prohibited, C<defined $var> behavior changed, Variable Suicide
705 =item Context Traps - scalar, list contexts
707 Elements of argument lists for formats evaluated in list context,
708 C<caller()> returns false value in scalar context if no caller present,
709 Comma operator in scalar context gives scalar context to args, C<sprintf()>
710 prototyped as C<($;@)>
712 =item Precedence Traps
714 LHS vs. RHS of any assignment operator, Semantic errors introduced due to
715 precedence, Precedence of assignment operators same as the precedence of
716 assignment, C<open> requires parentheses around filehandle, C<$:>
717 precedence over C<$::> gone, Precedence of file test operators documented,
718 C<keys>, C<each>, C<values> are regular named unary operators
720 =item General Regular Expression Traps using s///, etc.
722 C<s'$lhs'$rhs'> interpolates on either side, C<m//g> attaches its state to
723 the searched string, C<m//o> used within an anonymous sub, C<$+> isn't set
724 to whole match, Substitution now returns null string if it fails,
725 C<s`lhs`rhs`> is now a normal substitution, Stricter parsing of variables
726 in regular expressions, C<m?x?> matches only once, Failed matches don't
727 reset the match variables
729 =item Subroutine, Signal, Sorting Traps
731 Barewords that used to look like strings look like subroutine calls,
732 Reverse is no longer allowed as the name of a sort subroutine, C<warn()>
733 won't let you specify a filehandle
737 SysV resets signal handler correctly, SysV C<seek()> appends correctly
739 =item Interpolation Traps
741 C<@> always interpolates an array in double-quotish strings, Double-quoted
742 strings may no longer end with an unescaped $, Arbitrary expressions are
743 evaluated inside braces within double quotes, C<$$x> now tries to
744 dereference $x, Creation of hashes on the fly with C<eval "EXPR"> requires
745 protection, Bugs in earlier perl versions, Array and hash brackets during
746 interpolation, Interpolation of C<\$$foo{bar}>, C<qq()> string passed to
747 C<eval> will not find string terminator
751 Perl5 must have been linked with same dbm/ndbm as the default for
752 C<dbmopen()>, DBM exceeding limit on the key/value size will cause perl5 to
755 =item Unclassified Traps
757 C<require>/C<do> trap using returned value, C<split> on empty string with
764 =head2 perldebtut - Perl debugging tutorial
772 =item Looking at data and -w and v
776 =item Stepping through code
778 =item Placeholder for a, w, t, T
780 =item REGULAR EXPRESSIONS
798 =head2 perlfaq - frequently asked questions about Perl ($Date: 2005/03/27
807 =item Where to get the perlfaq
809 =item How to contribute to the perlfaq
811 =item What will happen if you mail your Perl programming problems to the
818 =item Author and Copyright Information
822 =item Bundled Distributions
828 =item Table of Contents
830 perlfaq - this document, perlfaq1 - General Questions About Perl, perlfaq2
831 - Obtaining and Learning about Perl, perlfaq3 - Programming Tools, perlfaq4
832 - Data Manipulation, perlfaq5 - Files and Formats, perlfaq6 - Regular
833 Expressions, perlfaq7 - General Perl Language Issues, perlfaq8 - System
834 Interaction, perlfaq9 - Networking
840 =item L<perlfaq1>: General Questions About Perl
842 =item L<perlfaq2>: Obtaining and Learning about Perl
844 =item L<perlfaq3>: Programming Tools
846 =item L<perlfaq4>: Data Manipulation
848 =item L<perlfaq5>: Files and Formats
850 =item L<perlfaq6>: Regular Expressions
852 =item L<perlfaq7>: General Perl Language Issues
854 =item L<perlfaq8>: System Interaction
856 =item L<perlfaq9>: Networking
862 =head2 perlfaq1 - General Questions About Perl ($Revision: 1.18 $, $Date:
863 2005/04/01 16:15:25 $)
873 =item Who supports Perl? Who develops it? Why is it free?
875 =item Which version of Perl should I use?
877 =item What are perl4, perl5, or perl6?
883 =item How stable is Perl?
885 =item Is Perl difficult to learn?
887 =item How does Perl compare with other languages like Java, Python, REXX,
890 =item Can I do [task] in Perl?
892 =item When shouldn't I program in Perl?
894 =item What's the difference between "perl" and "Perl"?
896 =item Is it a Perl program or a Perl script?
898 =item What is a JAPH?
900 =item Where can I get a list of Larry Wall witticisms?
902 =item How can I convince my sysadmin/supervisor/employees to use version
903 5/5.6.1/Perl instead of some other language?
907 =item AUTHOR AND COPYRIGHT
911 =head2 perlfaq2 - Obtaining and Learning about Perl ($Revision: 1.32 $,
912 $Date: 2005/04/22 19:04:48 $)
920 =item What machines support Perl? Where do I get it?
922 =item How can I get a binary version of Perl?
924 =item I don't have a C compiler on my system. How can I compile perl?
926 =item I copied the Perl binary from one machine to another, but scripts
929 =item I grabbed the sources and tried to compile but gdbm/dynamic
930 loading/malloc/linking/... failed. How do I make it work?
932 =item What modules and extensions are available for Perl? What is CPAN?
933 What does CPAN/src/... mean?
935 =item Is there an ISO or ANSI certified version of Perl?
937 =item Where can I get information on Perl?
939 =item What are the Perl newsgroups on Usenet? Where do I post questions?
941 =item Where should I post source code?
945 References, Tutorials, Task-Oriented, Special Topics
947 =item Perl in Magazines
949 =item Perl on the Net: FTP and WWW Access
951 =item What mailing lists are there for Perl?
953 =item Archives of comp.lang.perl.misc
955 =item Where can I buy a commercial version of Perl?
957 =item Where do I send bug reports?
959 =item What is perl.com? Perl Mongers? pm.org? perl.org? cpan.org?
963 =item AUTHOR AND COPYRIGHT
967 =head2 perlfaq3 - Programming Tools ($Revision: 1.48 $, $Date: 2005/04/22
976 =item How do I do (anything)?
978 =item How can I use Perl interactively?
980 =item Is there a Perl shell?
982 =item How do I find which modules are installed on my system?
984 =item How do I debug my Perl programs?
986 =item How do I profile my Perl programs?
988 =item How do I cross-reference my Perl programs?
990 =item Is there a pretty-printer (formatter) for Perl?
992 =item Is there a ctags for Perl?
994 =item Is there an IDE or Windows Perl Editor?
996 Eclipse, Komodo, Open Perl IDE, OptiPerl, PerlBuilder, visiPerl+, Visual
997 Perl, GNU Emacs, MicroEMACS, XEmacs, Jed, Elvis, Vile, Vim, Codewright,
998 MultiEdit, SlickEdit, Bash, Ksh, Tcsh, Zsh, Affrus, Alpha, BBEdit and
1001 =item Where can I get Perl macros for vi?
1003 =item Where can I get perl-mode for emacs?
1005 =item How can I use curses with Perl?
1007 =item How can I use X or Tk with Perl?
1009 =item How can I make my Perl program run faster?
1011 =item How can I make my Perl program take less memory?
1013 Don't slurp!, Use map and grep selectively, Avoid unnecessary quotes and
1014 stringification, Pass by reference, Tie large variables to disk
1016 =item Is it safe to return a reference to local or lexical data?
1018 =item How can I free an array or hash so my program shrinks?
1020 =item How can I make my CGI script more efficient?
1022 =item How can I hide the source for my Perl program?
1024 =item How can I compile my Perl program into byte code or C?
1026 =item How can I compile Perl into Java?
1028 =item How can I get C<#!perl> to work on [MS-DOS,NT,...]?
1030 =item Can I write useful Perl programs on the command line?
1032 =item Why don't Perl one-liners work on my DOS/Mac/VMS system?
1034 =item Where can I learn about CGI or Web programming in Perl?
1036 =item Where can I learn about object-oriented Perl programming?
1038 =item Where can I learn about linking C with Perl? [h2xs, xsubpp]
1040 =item I've read perlembed, perlguts, etc., but I can't embed perl in my C
1041 program; what am I doing wrong?
1043 =item When I tried to run my script, I got this message. What does it mean?
1045 =item What's MakeMaker?
1049 =item AUTHOR AND COPYRIGHT
1053 =head2 perlfaq4 - Data Manipulation ($Revision: 1.64 $, $Date: 2005/04/27
1064 =item Why am I getting long decimals (eg, 19.9499999999999) instead of the
1065 numbers I should be getting (eg, 19.95)?
1067 =item Why is int() broken?
1069 =item Why isn't my octal data interpreted correctly?
1071 =item Does Perl have a round() function? What about ceil() and floor()?
1074 =item How do I convert between numeric representations/bases/radixes?
1076 How do I convert hexadecimal into decimal, How do I convert from decimal to
1077 hexadecimal, How do I convert from octal to decimal, How do I convert from
1078 decimal to octal, How do I convert from binary to decimal, How do I convert
1079 from decimal to binary
1081 =item Why doesn't & work the way I want it to?
1083 =item How do I multiply matrices?
1085 =item How do I perform an operation on a series of integers?
1087 =item How can I output Roman numerals?
1089 =item Why aren't my random numbers random?
1091 =item How do I get a random number between X and Y?
1099 =item How do I find the day or week of the year?
1101 =item How do I find the current century or millennium?
1103 =item How can I compare two dates and find the difference?
1105 =item How can I take a string and turn it into epoch seconds?
1107 =item How can I find the Julian Day?
1109 =item How do I find yesterday's date?
1111 =item Does Perl have a Year 2000 problem? Is Perl Y2K compliant?
1119 =item How do I validate input?
1121 =item How do I unescape a string?
1123 =item How do I remove consecutive pairs of characters?
1125 =item How do I expand function calls in a string?
1127 =item How do I find matching/nesting anything?
1129 =item How do I reverse a string?
1131 =item How do I expand tabs in a string?
1133 =item How do I reformat a paragraph?
1135 =item How can I access or change N characters of a string?
1137 =item How do I change the Nth occurrence of something?
1139 =item How can I count the number of occurrences of a substring within a
1142 =item How do I capitalize all the words on one line?
1144 =item How can I split a [character] delimited string except when inside
1147 =item How do I strip blank space from the beginning/end of a string?
1149 =item How do I pad a string with blanks or pad a number with zeroes?
1151 =item How do I extract selected columns from a string?
1153 =item How do I find the soundex value of a string?
1155 =item How can I expand variables in text strings?
1157 =item What's wrong with always quoting "$vars"?
1159 =item Why don't my E<lt>E<lt>HERE documents work?
1161 There must be no space after the E<lt>E<lt> part, There (probably) should
1162 be a semicolon at the end, You can't (easily) have any space in front of
1171 =item What is the difference between a list and an array?
1173 =item What is the difference between $array[1] and @array[1]?
1175 =item How can I remove duplicate elements from a list or array?
1177 =item How can I tell whether a certain element is contained in a list or
1180 =item How do I compute the difference of two arrays? How do I compute the
1181 intersection of two arrays?
1183 =item How do I test whether two arrays or hashes are equal?
1185 =item How do I find the first array element for which a condition is true?
1187 =item How do I handle linked lists?
1189 =item How do I handle circular lists?
1191 =item How do I shuffle an array randomly?
1193 =item How do I process/modify each element of an array?
1195 =item How do I select a random element from an array?
1197 =item How do I permute N elements of a list?
1199 =item How do I sort an array by (anything)?
1201 =item How do I manipulate arrays of bits?
1203 =item Why does defined() return true on empty arrays and hashes?
1207 =item Data: Hashes (Associative Arrays)
1211 =item How do I process an entire hash?
1213 =item What happens if I add or remove keys from a hash while iterating over
1216 =item How do I look up a hash element by value?
1218 =item How can I know how many entries are in a hash?
1220 =item How do I sort a hash (optionally by value instead of key)?
1222 =item How can I always keep my hash sorted?
1224 =item What's the difference between "delete" and "undef" with hashes?
1226 =item Why don't my tied hashes make the defined/exists distinction?
1228 =item How do I reset an each() operation part-way through?
1230 =item How can I get the unique keys from two hashes?
1232 =item How can I store a multidimensional array in a DBM file?
1234 =item How can I make my hash remember the order I put elements into it?
1236 =item Why does passing a subroutine an undefined element in a hash create
1239 =item How can I make the Perl equivalent of a C structure/C++ class/hash or
1240 array of hashes or arrays?
1242 =item How can I use a reference as a hash key?
1250 =item How do I handle binary data correctly?
1252 =item How do I determine whether a scalar is a number/whole/integer/float?
1254 =item How do I keep persistent data across program calls?
1256 =item How do I print out or copy a recursive data structure?
1258 =item How do I define methods for every class/object?
1260 =item How do I verify a credit card checksum?
1262 =item How do I pack arrays of doubles or floats for XS code?
1266 =item AUTHOR AND COPYRIGHT
1270 =head2 perlfaq5 - Files and Formats ($Revision: 1.36 $, $Date: 2005/04/22
1279 =item How do I flush/unbuffer an output filehandle? Why must I do this?
1281 =item How do I change one line in a file/delete a line in a file/insert a
1282 line in the middle of a file/append to the beginning of a file?
1284 =item How do I count the number of lines in a file?
1286 =item How can I use Perl's C<-i> option from within a program?
1288 =item How can I copy a file?
1290 =item How do I make a temporary file name?
1292 =item How can I manipulate fixed-record-length files?
1294 =item How can I make a filehandle local to a subroutine? How do I pass
1295 filehandles between subroutines? How do I make an array of filehandles?
1297 =item How can I use a filehandle indirectly?
1299 =item How can I set up a footer format to be used with write()?
1301 =item How can I write() into a string?
1303 =item How can I output my numbers with commas added?
1305 =item How can I translate tildes (~) in a filename?
1307 =item How come when I open a file read-write it wipes it out?
1309 =item Why do I sometimes get an "Argument list too long" when I use
1312 =item Is there a leak/bug in glob()?
1314 =item How can I open a file with a leading ">" or trailing blanks?
1316 =item How can I reliably rename a file?
1318 =item How can I lock a file?
1320 =item Why can't I just open(FH, "E<gt>file.lock")?
1322 =item I still don't get locking. I just want to increment the number in
1323 the file. How can I do this?
1325 =item All I want to do is append a small amount of text to the end of a
1326 file. Do I still have to use locking?
1328 =item How do I randomly update a binary file?
1330 =item How do I get a file's timestamp in perl?
1332 =item How do I set a file's timestamp in perl?
1334 =item How do I print to more than one file at once?
1336 =item How can I read in an entire file all at once?
1338 =item How can I read in a file by paragraphs?
1340 =item How can I read a single character from a file? From the keyboard?
1342 =item How can I tell whether there's a character waiting on a filehandle?
1344 =item How do I do a C<tail -f> in perl?
1346 =item How do I dup() a filehandle in Perl?
1348 =item How do I close a file descriptor by number?
1350 =item Why can't I use "C:\temp\foo" in DOS paths? Why doesn't
1351 `C:\temp\foo.exe` work?
1353 =item Why doesn't glob("*.*") get all the files?
1355 =item Why does Perl let me delete read-only files? Why does C<-i> clobber
1356 protected files? Isn't this a bug in Perl?
1358 =item How do I select a random line from a file?
1360 =item Why do I get weird spaces when I print an array of lines?
1364 =item AUTHOR AND COPYRIGHT
1368 =head2 perlfaq6 - Regular Expressions ($Revision: 1.32 $, $Date: 2005/04/22
1377 =item How can I hope to use regular expressions without creating illegible
1378 and unmaintainable code?
1380 Comments Outside the Regex, Comments Inside the Regex, Different Delimiters
1382 =item I'm having trouble matching over more than one line. What's wrong?
1384 =item How can I pull out lines between two patterns that are themselves on
1387 =item I put a regular expression into $/ but it didn't work. What's wrong?
1389 =item How do I substitute case insensitively on the LHS while preserving
1392 =item How can I make C<\w> match national character sets?
1394 =item How can I match a locale-smart version of C</[a-zA-Z]/>?
1396 =item How can I quote a variable to use in a regex?
1398 =item What is C</o> really for?
1400 =item How do I use a regular expression to strip C style comments from a
1403 =item Can I use Perl regular expressions to match balanced text?
1405 =item What does it mean that regexes are greedy? How can I get around it?
1407 =item How do I process each word on each line?
1409 =item How can I print out a word-frequency or line-frequency summary?
1411 =item How can I do approximate matching?
1413 =item How do I efficiently match many regular expressions at once?
1415 =item Why don't word-boundary searches with C<\b> work for me?
1417 =item Why does using $&, $`, or $' slow my program down?
1419 =item What good is C<\G> in a regular expression?
1421 =item Are Perl regexes DFAs or NFAs? Are they POSIX compliant?
1423 =item What's wrong with using grep in a void context?
1425 =item How can I match strings with multibyte characters?
1427 =item How do I match a pattern that is supplied by the user?
1431 =item AUTHOR AND COPYRIGHT
1435 =head2 perlfaq7 - General Perl Language Issues ($Revision: 1.23 $, $Date:
1436 2005/04/07 21:39:34 $)
1444 =item Can I get a BNF/yacc/RE for the Perl language?
1446 =item What are all these $@%&* punctuation signs, and how do I know when to
1449 =item Do I always/never have to quote my strings or use semicolons and
1452 =item How do I skip some return values?
1454 =item How do I temporarily block warnings?
1456 =item What's an extension?
1458 =item Why do Perl operators have different precedence than C operators?
1460 =item How do I declare/create a structure?
1462 =item How do I create a module?
1464 =item How do I create a class?
1466 =item How can I tell if a variable is tainted?
1468 =item What's a closure?
1470 =item What is variable suicide and how can I prevent it?
1472 =item How can I pass/return a {Function, FileHandle, Array, Hash, Method,
1475 Passing Variables and Functions, Passing Filehandles, Passing Regexes,
1478 =item How do I create a static variable?
1480 =item What's the difference between dynamic and lexical (static) scoping?
1481 Between local() and my()?
1483 =item How can I access a dynamic variable while a similarly named lexical
1486 =item What's the difference between deep and shallow binding?
1488 =item Why doesn't "my($foo) = E<lt>FILEE<gt>;" work right?
1490 =item How do I redefine a builtin function, operator, or method?
1492 =item What's the difference between calling a function as &foo and foo()?
1494 =item How do I create a switch or case statement?
1496 =item How can I catch accesses to undefined variables, functions, or
1499 =item Why can't a method included in this same file be found?
1501 =item How can I find out my current package?
1503 =item How can I comment out a large block of perl code?
1505 =item How do I clear a package?
1507 =item How can I use a variable as a variable name?
1509 =item What does "bad interpreter" mean?
1513 =item AUTHOR AND COPYRIGHT
1517 =head2 perlfaq8 - System Interaction ($Revision: 1.24 $, $Date: 2005/04/22
1526 =item How do I find out which operating system I'm running under?
1528 =item How come exec() doesn't return?
1530 =item How do I do fancy stuff with the keyboard/screen/mouse?
1532 Keyboard, Screen, Mouse
1534 =item How do I print something out in color?
1536 =item How do I read just one key without waiting for a return key?
1538 =item How do I check whether input is ready on the keyboard?
1540 =item How do I clear the screen?
1542 =item How do I get the screen size?
1544 =item How do I ask the user for a password?
1546 =item How do I read and write the serial port?
1548 lockfiles, open mode, end of line, flushing output, non-blocking input
1550 =item How do I decode encrypted password files?
1552 =item How do I start a process in the background?
1554 STDIN, STDOUT, and STDERR are shared, Signals, Zombies
1556 =item How do I trap control characters/signals?
1558 =item How do I modify the shadow password file on a Unix system?
1560 =item How do I set the time and date?
1562 =item How can I sleep() or alarm() for under a second?
1564 =item How can I measure time under a second?
1566 =item How can I do an atexit() or setjmp()/longjmp()? (Exception handling)
1568 =item Why doesn't my sockets program work under System V (Solaris)? What
1569 does the error message "Protocol not supported" mean?
1571 =item How can I call my system's unique C functions from Perl?
1573 =item Where do I get the include files to do ioctl() or syscall()?
1575 =item Why do setuid perl scripts complain about kernel problems?
1577 =item How can I open a pipe both to and from a command?
1579 =item Why can't I get the output of a command with system()?
1581 =item How can I capture STDERR from an external command?
1583 =item Why doesn't open() return an error when a pipe open fails?
1585 =item What's wrong with using backticks in a void context?
1587 =item How can I call backticks without shell processing?
1589 =item Why can't my script read from STDIN after I gave it EOF (^D on Unix,
1592 =item How can I convert my shell script to perl?
1594 =item Can I use perl to run a telnet or ftp session?
1596 =item How can I write expect in Perl?
1598 =item Is there a way to hide perl's command line from programs such as
1601 =item I {changed directory, modified my environment} in a perl script. How
1602 come the change disappeared when I exited the script? How do I get my
1603 changes to be visible?
1607 =item How do I close a process's filehandle without waiting for it to
1610 =item How do I fork a daemon process?
1612 =item How do I find out if I'm running interactively or not?
1614 =item How do I timeout a slow event?
1616 =item How do I set CPU limits?
1618 =item How do I avoid zombies on a Unix system?
1620 =item How do I use an SQL database?
1622 =item How do I make a system() exit on control-C?
1624 =item How do I open a file without blocking?
1626 =item How do I tell the difference between errors from the shell and perl?
1628 =item How do I install a module from CPAN?
1630 =item What's the difference between require and use?
1632 =item How do I keep my own module/library directory?
1634 =item How do I add the directory my program lives in to the module/library
1637 =item How do I add a directory to my include path (@INC) at runtime?
1639 =item What is socket.ph and where do I get it?
1643 =item AUTHOR AND COPYRIGHT
1647 =head2 perlfaq9 - Networking ($Revision: 1.21 $, $Date: 2005/04/22 19:04:48
1656 =item What is the correct form of response from a CGI script?
1658 =item My CGI script runs from the command line but not the browser. (500
1661 =item How can I get better error messages from a CGI program?
1663 =item How do I remove HTML from a string?
1665 =item How do I extract URLs?
1667 =item How do I download a file from the user's machine? How do I open a
1668 file on another machine?
1670 =item How do I make a pop-up menu in HTML?
1672 =item How do I fetch an HTML file?
1674 =item How do I automate an HTML form submission?
1676 =item How do I decode or create those %-encodings on the web?
1678 =item How do I redirect to another page?
1680 =item How do I put a password on my web pages?
1682 =item How do I edit my .htpasswd and .htgroup files with Perl?
1684 =item How do I make sure users can't enter values into a form that cause my
1685 CGI script to do bad things?
1687 =item How do I parse a mail header?
1689 =item How do I decode a CGI form?
1691 =item How do I check a valid mail address?
1693 =item How do I decode a MIME/BASE64 string?
1695 =item How do I return the user's mail address?
1697 =item How do I send mail?
1699 =item How do I use MIME to make an attachment to a mail message?
1701 =item How do I read mail?
1703 =item How do I find out my hostname/domainname/IP address?
1705 =item How do I fetch a news article or the active newsgroups?
1707 =item How do I fetch/put an FTP file?
1709 =item How can I do RPC in Perl?
1713 =item AUTHOR AND COPYRIGHT
1717 =head2 perlsyn - Perl syntax
1729 =item Simple Statements
1731 =item Truth and Falsehood
1733 =item Statement Modifiers
1735 =item Compound Statements
1743 =item Basic BLOCKs and Switch Statements
1747 =item PODs: Embedded Documentation
1749 =item Plain Old Comments (Not!)
1755 =head2 perldata - Perl data types
1763 =item Variable names
1769 =item Scalar value constructors
1771 =item List value constructors
1777 =item Typeglobs and Filehandles
1785 =head2 perlop - Perl operators and precedence
1793 =item Operator Precedence and Associativity
1795 =item Terms and List Operators (Leftward)
1797 =item The Arrow Operator
1799 =item Auto-increment and Auto-decrement
1801 =item Exponentiation
1803 =item Symbolic Unary Operators
1805 =item Binding Operators
1807 =item Multiplicative Operators
1809 =item Additive Operators
1811 =item Shift Operators
1813 =item Named Unary Operators
1815 =item Relational Operators
1817 =item Equality Operators
1821 =item Bitwise Or and Exclusive Or
1823 =item C-style Logical And
1825 =item C-style Logical Or
1827 =item C-style Logical Defined-Or
1829 =item Range Operators
1831 =item Conditional Operator
1833 =item Assignment Operators
1835 =item Comma Operator
1837 =item List Operators (Rightward)
1843 =item Logical or, Defined or, and Exclusive Or
1845 =item C Operators Missing From Perl
1847 unary &, unary *, (TYPE)
1849 =item Quote and Quote-like Operators
1851 =item Regexp Quote-Like Operators
1853 ?PATTERN?, m/PATTERN/cgimosx, /PATTERN/cgimosx, q/STRING/, C<'STRING'>,
1854 qq/STRING/, "STRING", qr/STRING/imosx, qx/STRING/, `STRING`, qw/STRING/,
1855 s/PATTERN/REPLACEMENT/egimosx, tr/SEARCHLIST/REPLACEMENTLIST/cds,
1856 y/SEARCHLIST/REPLACEMENTLIST/cds, <<EOF
1858 =item Gory details of parsing quoted constructs
1860 Finding the end, Removal of backslashes before delimiters, Interpolation,
1861 C<<<'EOF'>, C<m''>, C<s'''>, C<tr///>, C<y///>, C<''>, C<q//>, C<"">,
1862 C<``>, C<qq//>, C<qx//>, C<< <file*glob> >>, C<?RE?>, C</RE/>, C<m/RE/>,
1863 C<s/RE/foo/>,, Interpolation of regular expressions, Optimization of
1868 =item Constant Folding
1872 =item Bitwise String Operators
1874 =item Integer Arithmetic
1876 =item Floating-point Arithmetic
1878 =item Bigger Numbers
1884 =head2 perlsub - Perl subroutines
1894 =item Private Variables via my()
1896 =item Persistent Private Variables
1898 =item Temporary Values via local()
1900 =item Lvalue subroutines
1902 Lvalue subroutines are EXPERIMENTAL
1904 =item Passing Symbol Table Entries (typeglobs)
1906 =item When to Still Use local()
1908 =item Pass by Reference
1912 =item Constant Functions
1914 =item Overriding Built-in Functions
1918 =item Subroutine Attributes
1926 =head2 perlfunc - Perl builtin functions
1934 =item Perl Functions by Category
1936 Functions for SCALARs or strings, Regular expressions and pattern matching,
1937 Numeric functions, Functions for real @ARRAYs, Functions for list data,
1938 Functions for real %HASHes, Input and output functions, Functions for fixed
1939 length data or records, Functions for filehandles, files, or directories,
1940 Keywords related to the control flow of your perl program, Keywords related
1941 to scoping, Miscellaneous functions, Functions for processes and process
1942 groups, Keywords related to perl modules, Keywords related to classes and
1943 object-orientedness, Low-level socket functions, System V interprocess
1944 communication functions, Fetching user and group info, Fetching network
1945 info, Time-related functions, Functions new in perl5, Functions obsoleted
1950 =item Alphabetical Listing of Perl Functions
1952 -I<X> FILEHANDLE, -I<X> EXPR, -I<X>, abs VALUE, abs, accept
1953 NEWSOCKET,GENERICSOCKET, alarm SECONDS, alarm, atan2 Y,X, bind SOCKET,NAME,
1954 binmode FILEHANDLE, LAYER, binmode FILEHANDLE, bless REF,CLASSNAME, bless
1955 REF, caller EXPR, caller, chdir EXPR, chmod LIST, chomp VARIABLE, chomp(
1956 LIST ), chomp, chop VARIABLE, chop( LIST ), chop, chown LIST, chr NUMBER,
1957 chr, chroot FILENAME, chroot, close FILEHANDLE, close, closedir DIRHANDLE,
1958 connect SOCKET,NAME, continue BLOCK, cos EXPR, cos, crypt PLAINTEXT,SALT,
1959 dbmclose HASH, dbmopen HASH,DBNAME,MASK, defined EXPR, defined, delete
1960 EXPR, die LIST, do BLOCK, do SUBROUTINE(LIST), do EXPR, dump LABEL, dump,
1961 each HASH, eof FILEHANDLE, eof (), eof, eval EXPR, eval BLOCK, exec LIST,
1962 exec PROGRAM LIST, exists EXPR, exit EXPR, exp EXPR, exp, fcntl
1963 FILEHANDLE,FUNCTION,SCALAR, fileno FILEHANDLE, flock FILEHANDLE,OPERATION,
1964 fork, format, formline PICTURE,LIST, getc FILEHANDLE, getc, getlogin,
1965 getpeername SOCKET, getpgrp PID, getppid, getpriority WHICH,WHO, getpwnam
1966 NAME, getgrnam NAME, gethostbyname NAME, getnetbyname NAME, getprotobyname
1967 NAME, getpwuid UID, getgrgid GID, getservbyname NAME,PROTO, gethostbyaddr
1968 ADDR,ADDRTYPE, getnetbyaddr ADDR,ADDRTYPE, getprotobynumber NUMBER,
1969 getservbyport PORT,PROTO, getpwent, getgrent, gethostent, getnetent,
1970 getprotoent, getservent, setpwent, setgrent, sethostent STAYOPEN, setnetent
1971 STAYOPEN, setprotoent STAYOPEN, setservent STAYOPEN, endpwent, endgrent,
1972 endhostent, endnetent, endprotoent, endservent, getsockname SOCKET,
1973 getsockopt SOCKET,LEVEL,OPTNAME, glob EXPR, glob, gmtime EXPR, goto LABEL,
1974 goto EXPR, goto &NAME, grep BLOCK LIST, grep EXPR,LIST, hex EXPR, hex,
1975 import, index STR,SUBSTR,POSITION, index STR,SUBSTR, int EXPR, int, ioctl
1976 FILEHANDLE,FUNCTION,SCALAR, join EXPR,LIST, keys HASH, kill SIGNAL, LIST,
1977 last LABEL, last, lc EXPR, lc, lcfirst EXPR, lcfirst, length EXPR, length,
1978 link OLDFILE,NEWFILE, listen SOCKET,QUEUESIZE, local EXPR, localtime EXPR,
1979 localtime, lock THING, log EXPR, log, lstat EXPR, lstat, m//, map BLOCK
1980 LIST, map EXPR,LIST, mkdir FILENAME,MASK, mkdir FILENAME, mkdir, msgctl
1981 ID,CMD,ARG, msgget KEY,FLAGS, msgrcv ID,VAR,SIZE,TYPE,FLAGS, msgsnd
1982 ID,MSG,FLAGS, my EXPR, my TYPE EXPR, my EXPR : ATTRS, my TYPE EXPR : ATTRS,
1983 next LABEL, next, no Module VERSION LIST, no Module VERSION, no Module
1984 LIST, no Module, oct EXPR, oct, open FILEHANDLE,EXPR, open
1985 FILEHANDLE,MODE,EXPR, open FILEHANDLE,MODE,EXPR,LIST, open
1986 FILEHANDLE,MODE,REFERENCE, open FILEHANDLE, opendir DIRHANDLE,EXPR, ord
1987 EXPR, ord, our EXPR, our EXPR TYPE, our EXPR : ATTRS, our TYPE EXPR :
1988 ATTRS, pack TEMPLATE,LIST, package NAMESPACE, package, pipe
1989 READHANDLE,WRITEHANDLE, pop ARRAY, pop, pos SCALAR, pos, print FILEHANDLE
1990 LIST, print LIST, print, printf FILEHANDLE FORMAT, LIST, printf FORMAT,
1991 LIST, prototype FUNCTION, push ARRAY,LIST, q/STRING/, qq/STRING/,
1992 qr/STRING/, qx/STRING/, qw/STRING/, quotemeta EXPR, quotemeta, rand EXPR,
1993 rand, read FILEHANDLE,SCALAR,LENGTH,OFFSET, read FILEHANDLE,SCALAR,LENGTH,
1994 readdir DIRHANDLE, readline EXPR, readlink EXPR, readlink, readpipe EXPR,
1995 recv SOCKET,SCALAR,LENGTH,FLAGS, redo LABEL, redo, ref EXPR, ref, rename
1996 OLDNAME,NEWNAME, require VERSION, require EXPR, require, reset EXPR, reset,
1997 return EXPR, return, reverse LIST, rewinddir DIRHANDLE, rindex
1998 STR,SUBSTR,POSITION, rindex STR,SUBSTR, rmdir FILENAME, rmdir, s///, scalar
1999 EXPR, seek FILEHANDLE,POSITION,WHENCE, seekdir DIRHANDLE,POS, select
2000 FILEHANDLE, select, select RBITS,WBITS,EBITS,TIMEOUT, semctl
2001 ID,SEMNUM,CMD,ARG, semget KEY,NSEMS,FLAGS, semop KEY,OPSTRING, send
2002 SOCKET,MSG,FLAGS,TO, send SOCKET,MSG,FLAGS, setpgrp PID,PGRP, setpriority
2003 WHICH,WHO,PRIORITY, setsockopt SOCKET,LEVEL,OPTNAME,OPTVAL, shift ARRAY,
2004 shift, shmctl ID,CMD,ARG, shmget KEY,SIZE,FLAGS, shmread ID,VAR,POS,SIZE,
2005 shmwrite ID,STRING,POS,SIZE, shutdown SOCKET,HOW, sin EXPR, sin, sleep
2006 EXPR, sleep, socket SOCKET,DOMAIN,TYPE,PROTOCOL, socketpair
2007 SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL, sort SUBNAME LIST, sort BLOCK LIST,
2008 sort LIST, splice ARRAY,OFFSET,LENGTH,LIST, splice ARRAY,OFFSET,LENGTH,
2009 splice ARRAY,OFFSET, splice ARRAY, split /PATTERN/,EXPR,LIMIT, split
2010 /PATTERN/,EXPR, split /PATTERN/, split, sprintf FORMAT, LIST, format
2011 parameter index, flags, vector flag, (minimum) width, precision, or maximum
2012 width, size, order of arguments, sqrt EXPR, sqrt, srand EXPR, srand, stat
2013 FILEHANDLE, stat EXPR, stat, study SCALAR, study, sub NAME BLOCK, sub NAME
2014 (PROTO) BLOCK, sub NAME : ATTRS BLOCK, sub NAME (PROTO) : ATTRS BLOCK,
2015 substr EXPR,OFFSET,LENGTH,REPLACEMENT, substr EXPR,OFFSET,LENGTH, substr
2016 EXPR,OFFSET, symlink OLDFILE,NEWFILE, syscall NUMBER, LIST, sysopen
2017 FILEHANDLE,FILENAME,MODE, sysopen FILEHANDLE,FILENAME,MODE,PERMS, sysread
2018 FILEHANDLE,SCALAR,LENGTH,OFFSET, sysread FILEHANDLE,SCALAR,LENGTH, sysseek
2019 FILEHANDLE,POSITION,WHENCE, system LIST, system PROGRAM LIST, syswrite
2020 FILEHANDLE,SCALAR,LENGTH,OFFSET, syswrite FILEHANDLE,SCALAR,LENGTH,
2021 syswrite FILEHANDLE,SCALAR, tell FILEHANDLE, tell, telldir DIRHANDLE, tie
2022 VARIABLE,CLASSNAME,LIST, tied VARIABLE, time, times, tr///, truncate
2023 FILEHANDLE,LENGTH, truncate EXPR,LENGTH, uc EXPR, uc, ucfirst EXPR,
2024 ucfirst, umask EXPR, umask, undef EXPR, undef, unlink LIST, unlink, unpack
2025 TEMPLATE,EXPR, unpack TEMPLATE, untie VARIABLE, unshift ARRAY,LIST, use
2026 Module VERSION LIST, use Module VERSION, use Module LIST, use Module, use
2027 VERSION, utime LIST, values HASH, vec EXPR,OFFSET,BITS, wait, waitpid
2028 PID,FLAGS, wantarray, warn LIST, write FILEHANDLE, write EXPR, write, y///
2034 =head2 perlopentut - tutorial on opening things in Perl
2040 =item Open E<agrave> la shell
2046 =item Indirect Filehandles
2050 =item The Minus File
2052 =item Mixing Reads and Writes
2058 =item Open E<agrave> la C
2062 =item Permissions E<agrave> la mode
2066 =item Obscure Open Tricks
2070 =item Re-Opening Files (dups)
2072 =item Dispelling the Dweomer
2074 =item Paths as Opens
2076 =item Single Argument Open
2078 =item Playing with STDIN and STDOUT
2082 =item Other I/O Issues
2086 =item Opening Non-File Files
2088 =item Opening Named Pipes
2090 =item Opening Sockets
2102 =item AUTHOR and COPYRIGHT
2108 =head2 perlpacktut - tutorial on C<pack> and C<unpack>
2114 =item The Basic Principle
2118 =item Packing Numbers
2124 =item Unpacking a Stack Frame
2126 =item How to Eat an Egg on a Net
2128 =item Byte-order modifiers
2130 =item Floating point Numbers
2134 =item Exotic Templates
2146 =item Another Portable Binary Encoding
2150 =item Template Grouping
2152 =item Lengths and Widths
2156 =item String Lengths
2158 =item Dynamic Templates
2160 =item Counting Repetitions
2164 =item Packing and Unpacking C Structures
2168 =item The Alignment Pit
2170 =item Dealing with Endian-ness
2172 =item Alignment, Take 2
2174 =item Alignment, Take 3
2176 =item Pointers for How to Use Them
2182 =item Funnies Section
2188 =head2 perlpod - the Plain Old Documentation format
2196 =item Ordinary Paragraph
2198 =item Verbatim Paragraph
2200 =item Command Paragraph
2202 C<=head1 I<Heading Text>>, C<=head2 I<Heading Text>>, C<=head3 I<Heading
2203 Text>>, C<=head4 I<Heading Text>>, C<=over I<indentlevel>>, C<=item
2204 I<stuff...>>, C<=back>, C<=cut>, C<=pod>, C<=begin I<formatname>>, C<=end
2205 I<formatname>>, C<=for I<formatname> I<text...>>, C<=encoding
2208 =item Formatting Codes
2210 C<IE<lt>textE<gt>> -- italic text, C<BE<lt>textE<gt>> -- bold text,
2211 C<CE<lt>codeE<gt>> -- code text, C<LE<lt>nameE<gt>> -- a hyperlink,
2212 C<EE<lt>escapeE<gt>> -- a character escape, C<FE<lt>filenameE<gt>> -- used
2213 for filenames, C<SE<lt>textE<gt>> -- text contains non-breaking spaces,
2214 C<XE<lt>topic nameE<gt>> -- an index entry, C<ZE<lt>E<gt>> -- a null
2215 (zero-effect) formatting code
2219 =item Embedding Pods in Perl Modules
2221 =item Hints for Writing Pod
2231 =head2 perlpodspec - Plain Old Documentation: format specification and
2238 =item Pod Definitions
2242 "=head1", "=head2", "=head3", "=head4", "=pod", "=cut", "=over", "=item",
2243 "=back", "=begin formatname", "=end formatname", "=for formatname text...",
2244 "=encoding encodingname"
2246 =item Pod Formatting Codes
2248 C<IE<lt>textE<gt>> -- italic text, C<BE<lt>textE<gt>> -- bold text,
2249 C<CE<lt>codeE<gt>> -- code text, C<FE<lt>filenameE<gt>> -- style for
2250 filenames, C<XE<lt>topic nameE<gt>> -- an index entry, C<ZE<lt>E<gt>> -- a
2251 null (zero-effect) formatting code, C<LE<lt>nameE<gt>> -- a hyperlink,
2252 C<EE<lt>escapeE<gt>> -- a character escape, C<SE<lt>textE<gt>> -- text
2253 contains non-breaking spaces
2255 =item Notes on Implementing Pod Processors
2257 =item About LE<lt>...E<gt> Codes
2259 First:, Second:, Third:, Fourth:, Fifth:, Sixth:
2261 =item About =over...=back Regions
2263 =item About Data Paragraphs and "=begin/=end" Regions
2271 =head2 perlrun - how to execute the Perl interpreter
2281 =item #! and quoting on non-Unix systems
2283 OS/2, MS-DOS, Win95/NT, Macintosh, VMS
2285 =item Location of Perl
2287 =item Command Switches
2289 B<-0>[I<octal/hexadecimal>], B<-A[I<module>][=I<assertions>]>, B<-a>, B<-C
2290 [I<number/list>]>, B<-c>, B<-d>, B<-dt>, B<-d:>I<foo[=bar,baz]>,
2291 B<-dt:>I<foo[=bar,baz]>, B<-D>I<letters>, B<-D>I<number>, B<-e>
2292 I<commandline>, B<-f>, B<-F>I<pattern>, B<-h>, B<-i>[I<extension>],
2293 B<-I>I<directory>, B<-l>[I<octnum>], B<-m>[B<->]I<module>,
2294 B<-M>[B<->]I<module>, B<-M>[B<->]I<'module ...'>,
2295 B<-[mM]>[B<->]I<module=arg[,arg]...>, B<-n>, B<-p>, B<-P>, B<-s>, B<-S>,
2296 B<-t>, B<-T>, B<-u>, B<-U>, B<-v>, B<-V>, B<-V:>I<configvar>, B<-w>, B<-W>,
2297 B<-X>, B<-x>, B<-x> I<directory>
2303 HOME, LOGDIR, PATH, PERL5LIB, PERL5OPT, PERLIO, :bytes, :crlf, :mmap,
2304 :perlio, :pop, :raw, :stdio, :unix, :utf8, :win32, PERLIO_DEBUG, PERLLIB,
2305 PERL5DB, PERL5DB_THREADED, PERL5SHELL (specific to the Win32 port),
2306 PERL_ALLOW_NON_IFS_LSP (specific to the Win32 port), PERL_DEBUG_MSTATS,
2307 PERL_DESTRUCT_LEVEL, PERL_DL_NONLAZY, PERL_ENCODING, PERL_HASH_SEED,
2308 PERL_HASH_SEED_DEBUG, PERL_ROOT (specific to the VMS port), PERL_SIGNALS,
2309 PERL_UNICODE, SYS$LOGIN (specific to the VMS port)
2313 =head2 perldiag - various Perl diagnostics
2321 =head2 perllexwarn - Perl Lexical Warnings
2329 =item Default Warnings and Optional Warnings
2331 =item What's wrong with B<-w> and C<$^W>
2333 =item Controlling Warnings from the Command Line
2337 =item Backward Compatibility
2339 =item Category Hierarchy
2341 =item Fatal Warnings
2343 =item Reporting Warnings from a Module
2355 =head2 perldebug - Perl debugging
2361 =item The Perl Debugger
2365 =item Debugger Commands
2367 h, h [command], h h, p expr, x [maxdepth] expr, V [pkg [vars]], X [vars], y
2368 [level [vars]], T, s [expr], n [expr], r, <CR>, c [line|sub], l, l
2369 min+incr, l min-max, l line, l subname, -, v [line], f filename, /pattern/,
2370 ?pattern?, L [abw], S [[!]regex], t, t expr, b, b [line] [condition], b
2371 subname [condition], b postpone subname [condition], b load filename, b
2372 compile subname, B line, B *, a [line] command, A line, A *, w expr, W
2373 expr, W *, o, o booloption .., o anyoption? .., o option=value .., < ?, < [
2374 command ], < *, << command, > ?, > command, > *, >> command, { ?, { [
2375 command ], { *, {{ command, ! number, ! -number, ! pattern, !! cmd, source
2376 file, H -number, q or ^D, R, |dbcmd, ||dbcmd, command, m expr, M, man
2379 =item Configurable Options
2381 C<recallCommand>, C<ShellBang>, C<pager>, C<tkRunning>, C<signalLevel>,
2382 C<warnLevel>, C<dieLevel>, C<AutoTrace>, C<LineInfo>, C<inhibit_exit>,
2383 C<PrintRet>, C<ornaments>, C<frame>, C<maxTraceLen>, C<windowSize>,
2384 C<arrayDepth>, C<hashDepth>, C<dumpDepth>, C<compactDump>, C<veryCompact>,
2385 C<globPrint>, C<DumpDBFiles>, C<DumpPackages>, C<DumpReused>, C<quote>,
2386 C<HighBit>, C<undefPrint>, C<UsageOnly>, C<TTY>, C<noTTY>, C<ReadLine>,
2389 =item Debugger input/output
2391 Prompt, Multiline commands, Stack backtrace, Line Listing Format, Frame
2394 =item Debugging compile-time statements
2396 =item Debugger Customization
2398 =item Readline Support
2400 =item Editor Support for Debugging
2402 =item The Perl Profiler
2406 =item Debugging regular expressions
2408 =item Debugging memory usage
2416 =head2 perlvar - Perl predefined variables
2424 =item Predefined Names
2426 $ARG, $_, $a, $b, $<I<digits>>, $MATCH, $&, $PREMATCH, $`, $POSTMATCH, $',
2427 $LAST_PAREN_MATCH, $+, $^N, @LAST_MATCH_END, @+,
2428 HANDLE->input_line_number(EXPR), $INPUT_LINE_NUMBER, $NR, $,
2429 IO::Handle->input_record_separator(EXPR), $INPUT_RECORD_SEPARATOR, $RS, $/,
2430 HANDLE->autoflush(EXPR), $OUTPUT_AUTOFLUSH, $|,
2431 IO::Handle->output_field_separator EXPR, $OUTPUT_FIELD_SEPARATOR, $OFS, $,,
2432 IO::Handle->output_record_separator EXPR, $OUTPUT_RECORD_SEPARATOR, $ORS,
2433 $\, $LIST_SEPARATOR, $", $SUBSCRIPT_SEPARATOR, $SUBSEP, $;, $#,
2434 HANDLE->format_page_number(EXPR), $FORMAT_PAGE_NUMBER, $%,
2435 HANDLE->format_lines_per_page(EXPR), $FORMAT_LINES_PER_PAGE, $=,
2436 HANDLE->format_lines_left(EXPR), $FORMAT_LINES_LEFT, $-, @LAST_MATCH_START,
2437 @-, C<$`> is the same as C<substr($var, 0, $-[0])>, C<$&> is the same as
2438 C<substr($var, $-[0], $+[0] - $-[0])>, C<$'> is the same as C<substr($var,
2439 $+[0])>, C<$1> is the same as C<substr($var, $-[1], $+[1] - $-[1])>, C<$2>
2440 is the same as C<substr($var, $-[2], $+[2] - $-[2])>, C<$3> is the same as
2441 C<substr $var, $-[3], $+[3] - $-[3])>, HANDLE->format_name(EXPR),
2442 $FORMAT_NAME, $~, HANDLE->format_top_name(EXPR), $FORMAT_TOP_NAME, $^,
2443 IO::Handle->format_line_break_characters EXPR,
2444 $FORMAT_LINE_BREAK_CHARACTERS, $:, IO::Handle->format_formfeed EXPR,
2445 $FORMAT_FORMFEED, $^L, $ACCUMULATOR, $^A, $CHILD_ERROR, $?,
2446 ${^CHILD_ERROR_NATIVE}, ${^ENCODING}, $OS_ERROR, $ERRNO, $!, %!,
2447 $EXTENDED_OS_ERROR, $^E, $EVAL_ERROR, $@, $PROCESS_ID, $PID, $$,
2448 $REAL_USER_ID, $UID, $<, $EFFECTIVE_USER_ID, $EUID, $>, $REAL_GROUP_ID,
2449 $GID, $(, $EFFECTIVE_GROUP_ID, $EGID, $), $PROGRAM_NAME, $0, $[, $],
2450 $COMPILING, $^C, $DEBUGGING, $^D, ${^RE_DEBUG_FLAGS}, ${^RE_TRIE_MAXBUF},
2451 $SYSTEM_FD_MAX, $^F, $^H, %^H, $INPLACE_EDIT, $^I, $^M, $OSNAME, $^O,
2452 ${^OPEN}, $PERLDB, $^P, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80,
2453 0x100, 0x200, 0x400, $LAST_REGEXP_CODE_RESULT, $^R,
2454 $EXCEPTIONS_BEING_CAUGHT, $^S, $BASETIME, $^T, ${^TAINT}, ${^UNICODE},
2455 ${^UTF8LOCALE}, $PERL_VERSION, $^V, $WARNING, $^W, ${^WARNING_BITS},
2456 $EXECUTABLE_NAME, $^X, ARGV, $ARGV, @ARGV, ARGVOUT, @F, @INC, @_, %INC,
2457 %ENV, $ENV{expr}, %SIG, $SIG{expr}
2459 =item Error Indicators
2461 =item Technical Note on the Syntax of Variable Names
2469 =head2 perlre - Perl regular expressions
2479 =item Regular Expressions
2481 [1], [2], [3], cntrl, graph, print, punct, xdigit
2483 =item Extended Patterns
2485 C<(?#text)>, C<(?imsx-imsx)>, C<(?:pattern)>, C<(?imsx-imsx:pattern)>,
2486 C<(?=pattern)>, C<(?!pattern)>, C<(?<=pattern)>, C<(?<!pattern)>, C<(?{
2487 code })>, C<(??{ code })>, C<< (?>pattern) >>,
2488 C<(?(condition)yes-pattern|no-pattern)>, C<(?(condition)yes-pattern)>
2492 =item Version 8 Regular Expressions
2494 =item Warning on \1 vs $1
2496 =item Repeated patterns matching zero-length substring
2498 =item Combining pieces together
2500 C<ST>, C<S|T>, C<S{REPEAT_COUNT}>, C<S{min,max}>, C<S{min,max}?>, C<S?>,
2501 C<S*>, C<S+>, C<S??>, C<S*?>, C<S+?>, C<< (?>S) >>, C<(?=S)>, C<(?<=S)>,
2502 C<(?!S)>, C<(?<!S)>, C<(??{ EXPR })>,
2503 C<(?(condition)yes-pattern|no-pattern)>
2505 =item Creating custom RE engines
2515 =head2 perlreref - Perl Regular Expressions Reference
2527 =item ESCAPE SEQUENCES
2529 =item CHARACTER CLASSES
2535 =item EXTENDED CONSTRUCTS
2553 =head2 perlref - Perl references and nested data structures
2563 =item Making References
2565 =item Using References
2567 =item Symbolic references
2569 =item Not-so-symbolic references
2571 =item Pseudo-hashes: Using an array as a hash
2573 =item Function Templates
2583 =head2 perlform - Perl formats
2593 =item Numeric Fields
2595 =item The Field @* for Variable Width Multi-Line Text
2597 =item The Field ^* for Variable Width One-line-at-a-time Text
2599 =item Specifying Values
2601 =item Using Fill Mode
2603 =item Suppressing Lines Where All Fields Are Void
2605 =item Repeating Format Lines
2607 =item Top of Form Processing
2609 =item Format Variables
2619 =item Accessing Formatting Internals
2627 =head2 perlobj - Perl objects
2635 =item An Object is Simply a Reference
2637 =item A Class is Simply a Package
2639 =item A Method is Simply a Subroutine
2641 =item Method Invocation
2643 =item Indirect Object Syntax
2645 =item Default UNIVERSAL methods
2647 isa(CLASS), can(METHOD), VERSION( [NEED] )
2653 =item Two-Phased Garbage Collection
2661 =head2 perltie - how to hide an object class in a simple variable
2673 TIESCALAR classname, LIST, FETCH this, STORE this, value, UNTIE this,
2678 TIEARRAY classname, LIST, FETCH this, index, STORE this, index, value,
2679 FETCHSIZE this, STORESIZE this, count, EXTEND this, count, EXISTS this,
2680 key, DELETE this, key, CLEAR this, PUSH this, LIST, POP this, SHIFT this,
2681 UNSHIFT this, LIST, SPLICE this, offset, length, LIST, UNTIE this, DESTROY
2686 USER, HOME, CLOBBER, LIST, TIEHASH classname, LIST, FETCH this, key, STORE
2687 this, key, value, DELETE this, key, CLEAR this, EXISTS this, key, FIRSTKEY
2688 this, NEXTKEY this, lastkey, SCALAR this, UNTIE this, DESTROY this
2690 =item Tying FileHandles
2692 TIEHANDLE classname, LIST, WRITE this, LIST, PRINT this, LIST, PRINTF this,
2693 LIST, READ this, LIST, READLINE this, GETC this, CLOSE this, UNTIE this,
2698 =item The C<untie> Gotcha
2710 =head2 perldbmfilter - Perl DBM Filters
2718 B<filter_store_key>, B<filter_store_value>, B<filter_fetch_key>,
2719 B<filter_fetch_value>
2725 =item An Example -- the NULL termination problem.
2727 =item Another Example -- Key is a C int.
2737 =head2 perlipc - Perl interprocess communication (signals, fifos, pipes,
2738 safe subprocesses, sockets, and semaphores)
2748 =item Handling the SIGHUP Signal in Daemons
2756 =item Deferred Signals (Safe Signals)
2758 Long running opcodes, Interrupting IO, Restartable system calls, Signals as
2759 "faults", Signals triggered by operating system state
2763 =item Using open() for IPC
2769 =item Background Processes
2771 =item Complete Dissociation of Child from Parent
2773 =item Safe Pipe Opens
2775 =item Bidirectional Communication with Another Process
2777 =item Bidirectional Communication with Yourself
2781 =item Sockets: Client/Server Communication
2785 =item Internet Line Terminators
2787 =item Internet TCP Clients and Servers
2789 =item Unix-Domain TCP Clients and Servers
2793 =item TCP Clients with IO::Socket
2797 =item A Simple Client
2799 C<Proto>, C<PeerAddr>, C<PeerPort>
2801 =item A Webget Client
2803 =item Interactive Client with IO::Socket
2807 =item TCP Servers with IO::Socket
2809 Proto, LocalPort, Listen, Reuse
2811 =item UDP: Message Passing
2825 =head2 perlfork - Perl's fork() emulation
2835 =item Behavior of other Perl features in forked pseudo-processes
2837 $$ or $PROCESS_ID, %ENV, chdir() and all other builtins that accept
2838 filenames, wait() and waitpid(), kill(), exec(), exit(), Open handles to
2839 files, directories and network sockets
2841 =item Resource limits
2843 =item Killing the parent process
2845 =item Lifetime of the parent process and pseudo-processes
2847 =item CAVEATS AND LIMITATIONS
2849 BEGIN blocks, Open filehandles, Forking pipe open() not yet implemented,
2850 Global state maintained by XSUBs, Interpreter embedded in larger
2851 application, Thread-safety of extensions
2863 =head2 perlnumber - semantics of numbers and numeric operations in Perl
2871 =item Storing numbers
2873 =item Numeric operators and numeric conversions
2875 =item Flavors of Perl numeric operations
2877 Arithmetic operators, ++, Arithmetic operators during C<use integer>, Other
2878 mathematical operators, Bitwise operators, Bitwise operators during C<use
2879 integer>, Operators which expect an integer, Operators which expect a
2888 =head2 perlthrtut - tutorial on threads in Perl
2896 =item What Is A Thread Anyway?
2898 =item Threaded Program Models
2910 =item What kind of threads are Perl threads?
2912 =item Thread-Safe Modules
2918 =item Basic Thread Support
2920 =item A Note about the Examples
2922 =item Creating Threads
2924 =item Waiting For A Thread To Exit
2926 =item Ignoring A Thread
2930 =item Threads And Data
2934 =item Shared And Unshared Data
2936 =item Thread Pitfalls: Races
2940 =item Synchronization and control
2944 =item Controlling access: lock()
2946 =item A Thread Pitfall: Deadlocks
2948 =item Queues: Passing Data Around
2950 =item Semaphores: Synchronizing Data Access
2952 =item Basic semaphores
2954 =item Advanced Semaphores
2956 =item cond_wait() and cond_signal()
2958 =item Giving up control
2962 =item General Thread Utility Routines
2966 =item What Thread Am I In?
2970 =item Are These Threads The Same?
2972 =item What Threads Are Running?
2976 =item A Complete Example
2978 =item Different implementations of threads
2980 =item Performance considerations
2982 =item Process-scope Changes
2984 =item Thread-Safety of System Libraries
2992 =item Introductory Texts
2994 =item OS-Related References
2996 =item Other References
3000 =item Acknowledgements
3008 =head2 perlothrtut - old tutorial on threads in Perl
3014 =item What Is A Thread Anyway?
3016 =item Threaded Program Models
3028 =item Native threads
3030 =item What kind of threads are perl threads?
3032 =item Threadsafe Modules
3038 =item Basic Thread Support
3040 =item Creating Threads
3042 =item Giving up control
3044 =item Waiting For A Thread To Exit
3046 =item Errors In Threads
3048 =item Ignoring A Thread
3052 =item Threads And Data
3056 =item Shared And Unshared Data
3058 =item Thread Pitfall: Races
3060 =item Controlling access: lock()
3062 =item Thread Pitfall: Deadlocks
3064 =item Queues: Passing Data Around
3068 =item Threads And Code
3072 =item Semaphores: Synchronizing Data Access
3074 Basic semaphores, Advanced Semaphores
3076 =item Attributes: Restricting Access To Subroutines
3078 =item Subroutine Locks
3082 =item Locking A Subroutine
3086 =item General Thread Utility Routines
3090 =item What Thread Am I In?
3094 =item Are These Threads The Same?
3096 =item What Threads Are Running?
3100 =item A Complete Example
3108 =item Introductory Texts
3110 =item OS-Related References
3112 =item Other References
3116 =item Acknowledgements
3124 =head2 perlport - Writing portable Perl
3130 Not all Perl programs have to be portable, Nearly all of Perl already I<is>
3139 =item Numbers endianness and Width
3141 =item Files and Filesystems
3143 =item System Interaction
3145 =item Command names versus file pathnames
3149 =item Interprocess Communication (IPC)
3151 =item External Subroutines (XS)
3153 =item Standard Modules
3157 =item Character sets and character encoding
3159 =item Internationalisation
3161 =item System Resources
3177 =item DOS and Derivatives
3185 =item EBCDIC Platforms
3193 =item FUNCTION IMPLEMENTATIONS
3197 =item Alphabetical Listing of Perl Functions
3199 -I<X>, atan2, binmode, chmod, chown, chroot, crypt, dbmclose, dbmopen,
3200 dump, exec, exit, fcntl, flock, fork, getlogin, getpgrp, getppid,
3201 getpriority, getpwnam, getgrnam, getnetbyname, getpwuid, getgrgid,
3202 getnetbyaddr, getprotobynumber, getservbyport, getpwent, getgrent,
3203 gethostbyname, gethostent, getnetent, getprotoent, getservent, sethostent,
3204 setnetent, setprotoent, setservent, endpwent, endgrent, endhostent,
3205 endnetent, endprotoent, endservent, getsockopt SOCKET,LEVEL,OPTNAME, glob,
3206 gmtime, ioctl FILEHANDLE,FUNCTION,SCALAR, kill, link, localtime, lstat,
3207 msgctl, msgget, msgsnd, msgrcv, open, pipe, readlink, rename, select,
3208 semctl, semget, semop, setgrent, setpgrp, setpriority, setpwent,
3209 setsockopt, shmctl, shmget, shmread, shmwrite, sockatmark, socketpair,
3210 stat, symlink, syscall, sysopen, system, times, truncate, umask, utime,
3215 =item Supported Platforms
3219 =item AUTHORS / CONTRIBUTORS
3223 =head2 perllocale - Perl locale handling (internationalization and
3230 =item PREPARING TO USE LOCALES
3236 =item The use locale pragma
3238 =item The setlocale function
3240 =item Finding locales
3242 =item LOCALE PROBLEMS
3244 =item Temporarily fixing locale problems
3246 =item Permanently fixing locale problems
3248 =item Permanently fixing your system's locale configuration
3250 =item Fixing system locale configuration
3252 =item The localeconv function
3254 =item I18N::Langinfo
3258 =item LOCALE CATEGORIES
3262 =item Category LC_COLLATE: Collation
3264 =item Category LC_CTYPE: Character Types
3266 =item Category LC_NUMERIC: Numeric Formatting
3268 =item Category LC_MONETARY: Formatting of monetary amounts
3272 =item Other categories
3280 PERL_BADLANG, LC_ALL, LANGUAGE, LC_CTYPE, LC_COLLATE, LC_MONETARY,
3281 LC_NUMERIC, LC_TIME, LANG
3287 =item Backward compatibility
3289 =item I18N:Collate obsolete
3291 =item Sort speed and memory use impacts
3293 =item write() and LC_NUMERIC
3295 =item Freely available locale definitions
3299 =item An imperfect standard
3303 =item Unicode and UTF-8
3309 =item Broken systems
3319 =head2 perluniintro - Perl Unicode introduction
3329 =item Perl's Unicode Support
3331 =item Perl's Unicode Model
3333 =item Unicode and EBCDIC
3335 =item Creating Unicode
3337 =item Handling Unicode
3339 =item Legacy Encodings
3343 =item Displaying Unicode As Text
3347 =item Advanced Topics
3351 =item Questions With Answers
3353 =item Hexadecimal Notation
3355 =item Further Resources
3359 =item UNICODE IN OLDER PERLS
3363 =item ACKNOWLEDGMENTS
3365 =item AUTHOR, COPYRIGHT, AND LICENSE
3369 =head2 perlunicode - Unicode support in Perl
3377 =item Important Caveats
3379 Input and Output Layers, Regular Expressions, C<use utf8> still needed to
3380 enable UTF-8/UTF-EBCDIC in scripts, BOM-marked scripts and UTF-16 scripts
3381 autodetected, C<use encoding> needed to upgrade non-Latin-1 byte strings
3383 =item Byte and Character Semantics
3385 =item Effects of Character Semantics
3391 =item User-Defined Character Properties
3393 =item Character Encodings for Input and Output
3395 =item Unicode Regular Expression Support Level
3397 =item Unicode Encodings
3399 =item Security Implications of Unicode
3401 =item Unicode in Perl on EBCDIC
3405 =item When Unicode Does Not Happen
3407 =item Forcing Unicode in Perl (Or Unforcing Unicode in Perl)
3409 =item Using Unicode in XS
3417 =item Interaction with Locales
3419 =item Interaction with Extensions
3423 =item Porting code from perl-5.6.X
3431 =head2 perlebcdic - Considerations for running Perl on EBCDIC platforms
3437 =item COMMON CHARACTER CODE SETS
3445 =item Latin 1 (ISO 8859-1)
3449 =item 13 variant characters
3457 =item Unicode code points versus EBCDIC code points
3459 =item Remaining Perl Unicode problems in EBCDIC
3461 =item Unicode and UTF
3467 =item SINGLE OCTET TABLES
3469 recipe 0, recipe 1, recipe 2, recipe 3, recipe 4, recipe 5, recipe 6
3471 =item IDENTIFYING CHARACTER CODE SETS
3485 =item OPERATOR DIFFERENCES
3487 =item FUNCTION DIFFERENCES
3489 chr(), ord(), pack(), print(), printf(), sort(), sprintf(), unpack()
3491 =item REGULAR EXPRESSION DIFFERENCES
3499 =item Ignore ASCII vs. EBCDIC sort differences.
3501 =item MONO CASE then sort data.
3503 =item Convert, sort data, then re convert.
3505 =item Perform sorting on one type of machine only.
3509 =item TRANSFORMATION FORMATS
3513 =item URL decoding and encoding
3515 =item uu encoding and decoding
3517 =item Quoted-Printable encoding and decoding
3519 =item Caesarian ciphers
3523 =item Hashing order and checksums
3527 =item MULTI OCTET CHARACTER SETS
3539 chcp, dataset access, OS/390, z/OS iconv, locales
3559 =head2 perlsec - Perl security
3567 =item Laundering and Detecting Tainted Data
3569 =item Switches On the "#!" Line
3571 =item Taint mode and @INC
3573 =item Cleaning Up Your Path
3577 =item Protecting Your Programs
3581 =item Algorithmic Complexity Attacks
3589 =head2 perlmod - Perl modules (packages and symbol tables)
3601 =item BEGIN, CHECK, INIT and END
3607 =item Making your module threadsafe
3615 =head2 perlmodlib - constructing new Perl modules and finding existing ones
3619 =item THE PERL MODULE LIBRARY
3623 =item Pragmatic Modules
3625 assertions, assertions::activate, assertions::compat, attributes, attrs,
3626 autouse, base, bigint, bignum, bigrat, blib, bytes, charnames, constant,
3627 diagnostics, encoding, encoding::warnings, fields, filetest, if, integer,
3628 less, lib, locale, open, ops, overload, re, sigtrap, sort, strict, subs,
3629 threads, threads::shared, utf8, vars, version, vmsish, warnings,
3632 =item Standard Modules
3634 AnyDBM_File, Archive::Tar, Archive::Tar::File, Attribute::Handlers,
3635 AutoLoader, AutoSplit, B, B::Asmdata, B::Assembler, B::Bblock, B::Bytecode,
3636 B::C, B::CC, B::Concise, B::Debug, B::Deparse, B::Disassembler, B::Lint,
3637 B::Showlex, B::Stackobj, B::Stash, B::Terse, B::Xref, Benchmark,
3638 ByteLoader, CGI, CGI::Apache, CGI::Carp, CGI::Cookie, CGI::Fast,
3639 CGI::Pretty, CGI::Push, CGI::Switch, CGI::Util, CPAN, CPAN::FirstTime,
3640 CPAN::Nox, Carp, Carp::Heavy, Class::ISA, Class::Struct, Compress::Zlib,
3641 Config, Cwd, DB, DBM_Filter, DB_File, Data::Dumper, Devel::DProf,
3642 Devel::PPPort, Devel::Peek, Devel::SelfStubber, Digest, Digest::MD5,
3643 Digest::base, Digest::file, DirHandle, Dumpvalue, DynaLoader, Encode,
3644 Encode::Alias, Encode::Byte, Encode::CJKConstants, Encode::CN,
3645 Encode::CN::HZ, Encode::Config, Encode::EBCDIC, Encode::Encoder,
3646 Encode::Encoding, Encode::Guess, Encode::JP, Encode::JP::H2Z,
3647 Encode::JP::JIS7, Encode::KR, Encode::KR::2022_KR, Encode::MIME::Header,
3648 Encode::PerlIO, Encode::Supported, Encode::Symbol, Encode::TW,
3649 Encode::Unicode, Encode::Unicode::UTF7, English, Env, Errno, Exporter,
3650 Exporter::Heavy, ExtUtils::CBuilder, ExtUtils::CBuilder::Platform::Windows,
3651 ExtUtils::Command, ExtUtils::Command::MM, ExtUtils::Constant,
3652 ExtUtils::Constant::Base, ExtUtils::Constant::Utils,
3653 ExtUtils::Constant::XS, ExtUtils::Embed, ExtUtils::Install,
3654 ExtUtils::Installed, ExtUtils::Liblist, ExtUtils::MM, ExtUtils::MM_AIX,
3655 ExtUtils::MM_Any, ExtUtils::MM_BeOS, ExtUtils::MM_Cygwin, ExtUtils::MM_DOS,
3656 ExtUtils::MM_MacOS, ExtUtils::MM_NW5, ExtUtils::MM_OS2, ExtUtils::MM_QNX,
3657 ExtUtils::MM_UWIN, ExtUtils::MM_Unix, ExtUtils::MM_VMS, ExtUtils::MM_VOS,
3658 ExtUtils::MM_Win32, ExtUtils::MM_Win95, ExtUtils::MY, ExtUtils::MakeMaker,
3659 ExtUtils::MakeMaker::Config, ExtUtils::MakeMaker::FAQ,
3660 ExtUtils::MakeMaker::Tutorial, ExtUtils::MakeMaker::bytes,
3661 ExtUtils::MakeMaker::vmsish, ExtUtils::Manifest, ExtUtils::Mkbootstrap,
3662 ExtUtils::Mksymlists, ExtUtils::Packlist, ExtUtils::ParseXS,
3663 ExtUtils::testlib, Fatal, Fcntl, File::Basename, File::CheckTree,
3664 File::Compare, File::Copy, File::DosGlob, File::Find, File::Glob,
3665 File::Path, File::Spec, File::Spec::Cygwin, File::Spec::Epoc,
3666 File::Spec::Functions, File::Spec::Mac, File::Spec::OS2, File::Spec::Unix,
3667 File::Spec::VMS, File::Spec::Win32, File::Temp, File::stat, FileCache,
3668 FileHandle, Filter::Simple, Filter::Util::Call, FindBin, GDBM_File,
3669 Getopt::Long, Getopt::Std, Hash::Util, I18N::Collate, I18N::LangTags,
3670 I18N::LangTags::Detect, I18N::LangTags::List, I18N::Langinfo, IO, IO::Dir,
3671 IO::File, IO::Handle, IO::Pipe, IO::Poll, IO::Seekable, IO::Select,
3672 IO::Socket, IO::Socket::INET, IO::Socket::UNIX, IO::Zlib, IPC::Open2,
3673 IPC::Open3, IPC::SysV, IPC::SysV::Msg, IPC::SysV::Semaphore, List::Util,
3674 Locale::Constants, Locale::Country, Locale::Currency, Locale::Language,
3675 Locale::Maketext, Locale::Maketext::TPJ13, Locale::Script, MIME::Base64,
3676 MIME::Base64::QuotedPrint, Math::BigFloat, Math::BigInt,
3677 Math::BigInt::Calc, Math::BigInt::CalcEmu, Math::BigInt::FastCalc,
3678 Math::BigRat, Math::Complex, Math::Trig, Memoize, Memoize::AnyDBM_File,
3679 Memoize::Expire, Memoize::ExpireFile, Memoize::ExpireTest,
3680 Memoize::NDBM_File, Memoize::SDBM_File, Memoize::Storable,
3681 Module::CoreList, NDBM_File, NEXT, Net::Cmd, Net::Config, Net::Domain,
3682 Net::FTP, Net::NNTP, Net::Netrc, Net::POP3, Net::Ping, Net::SMTP,
3683 Net::Time, Net::hostent, Net::libnetFAQ, Net::netent, Net::protoent,
3684 Net::servent, O, ODBM_File, Opcode, POSIX, PerlIO, PerlIO::encoding,
3685 PerlIO::scalar, PerlIO::via, PerlIO::via::QuotedPrint, Pod::Checker,
3686 Pod::Find, Pod::Functions, Pod::Html, Pod::InputObjects, Pod::LaTeX,
3687 Pod::Man, Pod::ParseLink, Pod::ParseUtils, Pod::Parser,
3688 Pod::Perldoc::ToChecker, Pod::Perldoc::ToMan, Pod::Perldoc::ToNroff,
3689 Pod::Perldoc::ToPod, Pod::Perldoc::ToRtf, Pod::Perldoc::ToText,
3690 Pod::Perldoc::ToTk, Pod::Perldoc::ToXml, Pod::PlainText, Pod::Plainer,
3691 Pod::Select, Pod::Text, Pod::Text::Color, Pod::Text::Overstrike,
3692 Pod::Text::Termcap, Pod::Usage, SDBM_File, Safe, Scalar::Util,
3693 Search::Dict, SelectSaver, SelfLoader, Shell, Socket, Storable, Switch,
3694 Symbol, Sys::Hostname, Sys::Syslog, Term::ANSIColor, Term::Cap,
3695 Term::Complete, Term::ReadLine, Test, Test::Builder, Test::Harness,
3696 Test::Harness::Assert, Test::Harness::Iterator, Test::Harness::Point,
3697 Test::Harness::Straps, Test::Harness::TAP, Test::More, Test::Simple,
3698 Test::Tutorial, Text::Abbrev, Text::Balanced, Text::ParseWords,
3699 Text::Soundex, Text::Tabs, Text::Wrap, Thread, Thread::Queue,
3700 Thread::Semaphore, Thread::Signal, Thread::Specific, Tie::Array, Tie::File,
3701 Tie::Handle, Tie::Hash, Tie::Memoize, Tie::RefHash, Tie::Scalar,
3702 Tie::SubstrHash, Time::HiRes, Time::Local, Time::gmtime, Time::localtime,
3703 Time::tm, UNIVERSAL, Unicode::Collate, Unicode::Normalize, Unicode::UCD,
3704 User::grent, User::pwent, XS::APItest, XS::Typemap, XSLoader
3706 =item Extension Modules
3720 China, Indonesia, Israel, Japan, Malaysia, Russian Federation, Saudi
3721 Arabia, Singapore, South Korea, Taiwan, Thailand
3723 =item Central America
3729 Austria, Belgium, Bosnia and Herzegovina, Bulgaria, Croatia, Czech
3730 Republic, Denmark, Estonia, Finland, France, Germany, Greece, Hungary,
3731 Iceland, Ireland, Italy, Latvia, Lithuania, Netherlands, Norway, Poland,
3732 Portugal, Romania, Russia, Slovakia, Slovenia, Spain, Sweden, Switzerland,
3733 Turkey, Ukraine, United Kingdom
3737 Canada, Alberta, Manitoba, Nova Scotia, Ontario, Mexico, United States,
3738 Alabama, California, Colorado, Delaware, District of Columbia, Florida,
3739 Indiana, Kentucky, Massachusetts, Michigan, Nevada, New Jersey, New York,
3740 North Carolina, Oklahoma, Oregon, Pennsylvania, Tennessee, Texas, Utah,
3741 Virginia, Washington, Wisconsin
3745 Australia, New Zealand, United States
3749 Argentina, Brazil, Chile
3755 =item Modules: Creation, Use, and Abuse
3759 =item Guidelines for Module Creation
3761 =item Guidelines for Converting Perl 4 Library Scripts into Modules
3763 =item Guidelines for Reusing Application Code
3771 =head2 perlmodstyle - Perl module style guide
3777 =item QUICK CHECKLIST
3781 =item Before you start
3789 =item Release considerations
3793 =item BEFORE YOU START WRITING A MODULE
3797 =item Has it been done before?
3799 =item Do one thing and do it well
3801 =item What's in a name?
3805 =item DESIGNING AND WRITING YOUR MODULE
3809 =item To OO or not to OO?
3811 =item Designing your API
3813 Write simple routines to do simple things, Separate functionality from
3814 output, Provide sensible shortcuts and defaults, Naming conventions,
3817 =item Strictness and warnings
3819 =item Backwards compatibility
3821 =item Error handling and messages
3825 =item DOCUMENTING YOUR MODULE
3831 =item README, INSTALL, release notes, changelogs
3833 perl Makefile.PL, make, make test, make install, perl Build.PL, perl Build,
3834 perl Build test, perl Build install
3838 =item RELEASE CONSIDERATIONS
3842 =item Version numbering
3844 =item Pre-requisites
3854 =item COMMON PITFALLS
3858 =item Reinventing the wheel
3860 =item Trying to do too much
3862 =item Inappropriate documentation
3868 L<perlstyle>, L<perlnewmod>, L<perlpod>, L<podchecker>, Packaging Tools,
3869 Testing tools, http://pause.perl.org/, Any good book on software
3876 =head2 perlmodinstall - Installing CPAN Modules
3886 B<DECOMPRESS> the file, B<UNPACK> the file into a directory, B<BUILD> the
3887 module (sometimes unnecessary), B<INSTALL> the module
3901 =head2 perlnewmod - preparing a new module for distribution
3911 =item What should I make into a module?
3913 =item Step-by-step: Preparing the ground
3915 Look around, Check it's new, Discuss the need, Choose a name, Check again
3917 =item Step-by-step: Making the module
3919 Start with F<module-starter> or F<h2xs>, Use L<strict|strict> and
3920 L<warnings|warnings>, Use L<Carp|Carp>, Use L<Exporter|Exporter> - wisely!,
3921 Use L<plain old documentation|perlpod>, Write tests, Write the README
3923 =item Step-by-step: Distributing your module
3925 Get a CPAN user ID, C<perl Makefile.PL; make test; make dist>, Upload the
3926 tarball, Announce to the modules list, Announce to clpa, Fix bugs!
3936 =head2 perlutil - utilities packaged with the Perl distribution
3946 L<perldoc|perldoc>, L<pod2man|pod2man> and L<pod2text|pod2text>,
3947 L<pod2html|pod2html> and L<pod2latex|pod2latex>, L<pod2usage|pod2usage>,
3948 L<podselect|podselect>, L<podchecker|podchecker>, L<splain|splain>,
3949 L<roffitall|roffitall>
3953 L<a2p|a2p>, L<s2p|s2p>, L<find2perl|find2perl>
3955 =item Administration
3957 L<libnetcfg|libnetcfg>
3961 L<perlbug|perlbug>, L<h2ph|h2ph>, L<c2ph|c2ph> and L<pstruct|pstruct>,
3962 L<h2xs|h2xs>, L<dprofpp|dprofpp>, L<perlcc|perlcc>
3970 =head2 perlcompile - Introduction to the Perl Compiler-Translator
3980 B::Bytecode, B::C, B::CC, B::Lint, B::Deparse, B::Xref
3984 =item Using The Back Ends
3988 =item The Cross Referencing Back End
3992 =item The Decompiling Back End
3994 =item The Lint Back End
3996 =item The Simple C Back End
3998 =item The Bytecode Back End
4000 =item The Optimized C Back End
4004 =item Module List for the Compiler Suite
4006 B, O, B::Asmdata, B::Assembler, B::Bblock, B::Bytecode, B::C, B::CC,
4007 B::Concise, B::Debug, B::Deparse, B::Disassembler, B::Lint, B::Showlex,
4008 B::Stackobj, B::Stash, B::Terse, B::Xref
4010 =item KNOWN PROBLEMS
4016 =head2 perlfilter - Source Filters
4026 =item WRITING A SOURCE FILTER
4028 =item WRITING A SOURCE FILTER IN C
4030 B<Decryption Filters>
4032 =item CREATING A SOURCE FILTER AS A SEPARATE EXECUTABLE
4034 =item WRITING A SOURCE FILTER IN PERL
4036 =item USING CONTEXT: THE DEBUG FILTER
4040 =item THINGS TO LOOK OUT FOR
4042 Some Filters Clobber the C<DATA> Handle
4052 =head2 perlglossary - Perl Glossary
4060 accessor methods, actual arguments, address operator, algorithm, alias,
4061 alternatives, anonymous, architecture, argument, ARGV, arithmetical
4062 operator, array, array context, ASCII, assertion, assignment, assignment
4063 operator, associative array, associativity, asynchronous, atom, atomic
4064 operation, attribute, autogeneration, autoincrement, autoload, autosplit,
4065 autovivification, AV, awk, backreference, backtracking, backward
4066 compatibility, bareword, base class, big-endian, binary, binary operator,
4067 bind, bit, bit shift, bit string, bless, block, BLOCK, block buffering,
4068 Boolean, Boolean context, breakpoint, broadcast, BSD, bucket, buffer,
4069 built-in, bundle, byte, bytecode, C, C preprocessor, call by reference,
4070 call by value, callback, canonical, capturing, character, character class,
4071 character property, circumfix operator, class, class method, client,
4072 cloister, closure, cluster, CODE, code generator, code subpattern,
4073 collating sequence, command, command buffering, command name, command-line
4074 arguments, comment, compilation unit, compile phase, compile time,
4075 compiler, composer, concatenation, conditional, connection, construct,
4076 constructor, context, continuation, core dump, CPAN, cracker, current
4077 package, current working directory, currently selected output channel, CV,
4078 dangling statement, data structure, data type, datagram, DBM, declaration,
4079 decrement, default, defined, delimiter, dereference, derived class,
4080 descriptor, destroy, destructor, device, directive, directory, directory
4081 handle, dispatch, distribution, dweomer, dwimmer, dynamic scoping,
4082 eclectic, element, embedding, empty subclass test, en passant,
4083 encapsulation, endian, environment, environment variable, EOF, errno,
4084 error, escape sequence, exception, exception handling, exec, executable
4085 file, execute, execute bit, exit status, export, expression, extension,
4086 false, FAQ, fatal error, field, FIFO, file, file descriptor, file test
4087 operator, fileglob, filehandle, filename, filesystem, filter, flag,
4088 floating point, flush, FMTEYEWTK, fork, formal arguments, format, freely
4089 available, freely redistributable, freeware, function, funny character,
4090 garbage collection, GID, glob, global, global destruction, glue language,
4091 granularity, greedy, grep, group, GV, hacker, handler, hard reference,
4092 hash, hash table, header file, here document, hexadecimal, home directory,
4093 host, hubris, HV, identifier, impatience, implementation, import,
4094 increment, indexing, indirect filehandle, indirect object, indirect object
4095 slot, indirection, infix, inheritance, instance, instance variable,
4096 integer, interface, interpolation, interpreter, invocant, invocation, I/O,
4097 IO, IP, IPC, is-a, iteration, iterator, IV, JAPH, key, keyword, label,
4098 laziness, left shift, leftmost longest, lexeme, lexer, lexical analysis,
4099 lexical scoping, lexical variable, library, LIFO, line, line buffering,
4100 line number, link, LIST, list, list context, list operator, list value,
4101 literal, little-endian, local, logical operator, lookahead, lookbehind,
4102 loop, loop control statement, loop label, lvaluable, lvalue, lvalue
4103 modifier, magic, magical increment, magical variables, Makefile, man,
4104 manpage, matching, member data, memory, metacharacter, metasymbol, method,
4105 minimalism, mode, modifier, module, modulus, monger, mortal,
4106 multidimensional array, multiple inheritance, named pipe, namespace,
4107 network address, newline, NFS, null character, null list, null string,
4108 numeric context, NV, nybble, object, octal, offset, one-liner, open source
4109 software, operand, operating system, operator, operator overloading,
4110 options, overloading, overriding, owner, package, pad, parameter, parent
4111 class, parse tree, parsing, patch, PATH, pathname, pattern, pattern
4112 matching, permission bits, Pern, pipe, pipeline, platform, pod, pointer,
4113 polymorphism, port, portable, porter, POSIX, postfix, pp, pragma,
4114 precedence, prefix, preprocessing, procedure, process, program generator,
4115 progressive matching, property, protocol, prototype, pseudofunction,
4116 pseudohash, pseudoliteral, public domain, pumpkin, pumpking, PV, qualified,
4117 quantifier, readable, reaping, record, recursion, reference, referent,
4118 regex, regular expression, regular expression modifier, regular file,
4119 relational operator, reserved words, return value, RFC, right shift, root,
4120 RTFM, run phase, run time, run-time pattern, RV, rvalue, scalar, scalar
4121 context, scalar literal, scalar value, scalar variable, scope, scratchpad,
4122 script, script kiddie, sed, semaphore, separator, serialization, server,
4123 service, setgid, setuid, shared memory, shebang, shell, side effects,
4124 signal, signal handler, single inheritance, slice, slurp, socket, soft
4125 reference, source filter, stack, standard, standard error, standard I/O,
4126 standard input, standard output, stat structure, statement, statement
4127 modifier, static, static method, static scoping, static variable, status,
4128 STDERR, STDIN, STDIO, STDOUT, stream, string, string context,
4129 stringification, struct, structure, subclass, subpattern, subroutine,
4130 subscript, substitution, substring, superclass, superuser, SV, switch,
4131 switch cluster, switch statement, symbol, symbol table, symbolic debugger,
4132 symbolic link, symbolic reference, synchronous, syntactic sugar, syntax,
4133 syntax tree, syscall, tainted, TCP, term, terminator, ternary, text,
4134 thread, tie, TMTOWTDI, token, tokener, tokenizing, toolbox approach,
4135 transliterate, trigger, trinary, troff, true, truncating, type, type
4136 casting, typed lexical, typedef, typeglob, typemap, UDP, UID, umask, unary
4137 operator, Unicode, Unix, value, variable, variable interpolation, variadic,
4138 vector, virtual, void context, v-string, warning, watch expression,
4139 whitespace, word, working directory, wrapper, WYSIWYG, XS, XSUB, yacc, zero
4142 =item AUTHOR AND COPYRIGHT
4146 =head2 perlembed - how to embed perl in your C program
4156 B<Use C from Perl?>, B<Use a Unix program from Perl?>, B<Use Perl from
4157 Perl?>, B<Use C from C?>, B<Use Perl from C?>
4161 =item Compiling your C program
4163 =item Adding a Perl interpreter to your C program
4165 =item Calling a Perl subroutine from your C program
4167 =item Evaluating a Perl statement from your C program
4169 =item Performing Perl pattern matches and substitutions from your C program
4171 =item Fiddling with the Perl stack from your C program
4173 =item Maintaining a persistent interpreter
4175 =item Execution of END blocks
4177 =item Maintaining multiple interpreter instances
4179 =item Using Perl modules, which themselves use C libraries, from your C
4184 =item Embedding Perl under Win32
4196 =head2 perldebguts - Guts of Perl debugging
4202 =item Debugger Internals
4206 =item Writing Your Own Debugger
4210 =item Frame Listing Output Examples
4212 =item Debugging regular expressions
4216 =item Compile-time output
4218 C<anchored> I<STRING> C<at> I<POS>, C<floating> I<STRING> C<at>
4219 I<POS1..POS2>, C<matching floating/anchored>, C<minlen>, C<stclass>
4220 I<TYPE>, C<noscan>, C<isall>, C<GPOS>, C<plus>, C<implicit>, C<with eval>,
4223 =item Types of nodes
4225 =item Run-time output
4229 =item Debugging Perl memory usage
4233 =item Using C<$ENV{PERL_DEBUG_MSTATS}>
4235 C<buckets SMALLEST(APPROX)..GREATEST(APPROX)>, Free/Used, C<Total sbrk():
4236 SBRKed/SBRKs:CONTINUOUS>, C<pad: 0>, C<heads: 2192>, C<chain: 0>, C<tail:
4239 =item Example of using B<-DL> switch
4241 C<717>, C<002>, C<054>, C<602>, C<702>, C<704>
4243 =item B<-DL> details
4247 =item Limitations of B<-DL> statistics
4255 =head2 perlxstut, perlXStut - Tutorial for writing XSUBs
4267 =item Version caveat
4269 =item Dynamic Loading versus Static Loading
4281 =item What has gone on?
4283 =item Writing good test scripts
4287 =item What's new here?
4289 =item Input and Output Parameters
4291 =item The XSUBPP Program
4293 =item The TYPEMAP file
4295 =item Warning about Output Arguments
4299 =item What has happened here?
4301 =item Anatomy of .xs file
4303 =item Getting the fat out of XSUBs
4305 =item More about XSUB arguments
4307 =item The Argument Stack
4309 =item Extending your Extension
4311 =item Documenting your Extension
4313 =item Installing your Extension
4317 =item New Things in this Example
4321 =item New Things in this Example
4323 =item EXAMPLE 7 (Coming Soon)
4325 =item EXAMPLE 8 (Coming Soon)
4327 =item EXAMPLE 9 Passing open files to XSes
4329 =item Troubleshooting these Examples
4345 =head2 perlxs - XS language reference manual
4357 =item The Anatomy of an XSUB
4359 =item The Argument Stack
4361 =item The RETVAL Variable
4363 =item Returning SVs, AVs and HVs through RETVAL
4365 =item The MODULE Keyword
4367 =item The PACKAGE Keyword
4369 =item The PREFIX Keyword
4371 =item The OUTPUT: Keyword
4373 =item The NO_OUTPUT Keyword
4375 =item The CODE: Keyword
4377 =item The INIT: Keyword
4379 =item The NO_INIT Keyword
4381 =item Initializing Function Parameters
4383 =item Default Parameter Values
4385 =item The PREINIT: Keyword
4387 =item The SCOPE: Keyword
4389 =item The INPUT: Keyword
4391 =item The IN/OUTLIST/IN_OUTLIST/OUT/IN_OUT Keywords
4393 =item The C<length(NAME)> Keyword
4395 =item Variable-length Parameter Lists
4397 =item The C_ARGS: Keyword
4399 =item The PPCODE: Keyword
4401 =item Returning Undef And Empty Lists
4403 =item The REQUIRE: Keyword
4405 =item The CLEANUP: Keyword
4407 =item The POSTCALL: Keyword
4409 =item The BOOT: Keyword
4411 =item The VERSIONCHECK: Keyword
4413 =item The PROTOTYPES: Keyword
4415 =item The PROTOTYPE: Keyword
4417 =item The ALIAS: Keyword
4419 =item The OVERLOAD: Keyword
4421 =item The FALLBACK: Keyword
4423 =item The INTERFACE: Keyword
4425 =item The INTERFACE_MACRO: Keyword
4427 =item The INCLUDE: Keyword
4429 =item The CASE: Keyword
4431 =item The & Unary Operator
4433 =item Inserting POD, Comments and C Preprocessor Directives
4435 =item Using XS With C++
4437 =item Interface Strategy
4439 =item Perl Objects And C Structures
4443 =item Safely Storing Static Data in XS
4445 MY_CXT_KEY, typedef my_cxt_t, START_MY_CXT, MY_CXT_INIT, dMY_CXT, MY_CXT
4457 =head2 perlclib - Internal replacements for standard C library functions
4467 C<t>, C<p>, C<n>, C<s>
4469 =item File Operations
4471 =item File Input and Output
4473 =item File Positioning
4475 =item Memory Management and String Handling
4477 =item Character Class Tests
4479 =item F<stdlib.h> functions
4481 =item Miscellaneous functions
4489 =head2 perlguts - Introduction to the Perl API
4501 =item What is an "IV"?
4503 =item Working with SVs
4507 =item What's Really Stored in an SV?
4509 =item Working with AVs
4511 =item Working with HVs
4513 =item Hash API Extensions
4515 =item AVs, HVs and undefined values
4519 =item Blessed References and Class Objects
4521 =item Creating New Variables
4523 GV_ADDMULTI, GV_ADDWARN
4525 =item Reference Counts and Mortality
4527 =item Stashes and Globs
4529 =item Double-Typed SVs
4531 =item Magic Variables
4533 =item Assigning Magic
4535 =item Magic Virtual Tables
4539 =item Understanding the Magic of Tied Hashes and Arrays
4541 =item Localizing changes
4543 C<SAVEINT(int i)>, C<SAVEIV(IV i)>, C<SAVEI32(I32 i)>, C<SAVELONG(long i)>,
4544 C<SAVESPTR(s)>, C<SAVEPPTR(p)>, C<SAVEFREESV(SV *sv)>, C<SAVEMORTALIZESV(SV
4545 *sv)>, C<SAVEFREEOP(OP *op)>, C<SAVEFREEPV(p)>, C<SAVECLEARSV(SV *sv)>,
4546 C<SAVEDELETE(HV *hv, char *key, I32 length)>,
4547 C<SAVEDESTRUCTOR(DESTRUCTORFUNC_NOCONTEXT_t f, void *p)>,
4548 C<SAVEDESTRUCTOR_X(DESTRUCTORFUNC_t f, void *p)>, C<SAVESTACK_POS()>, C<SV*
4549 save_scalar(GV *gv)>, C<AV* save_ary(GV *gv)>, C<HV* save_hash(GV *gv)>,
4550 C<void save_item(SV *item)>, C<void save_list(SV **sarg, I32 maxsarg)>,
4551 C<SV* save_svref(SV **sptr)>, C<void save_aptr(AV **aptr)>, C<void
4552 save_hptr(HV **hptr)>
4560 =item XSUBs and the Argument Stack
4562 =item Calling Perl Routines from within C Programs
4564 =item Memory Allocation
4568 =item Putting a C value on Perl stack
4572 =item Scratchpads and recursion
4582 =item Examining the tree
4584 =item Compile pass 1: check routines
4586 =item Compile pass 1a: constant folding
4588 =item Compile pass 2: context propagation
4590 =item Compile pass 3: peephole optimization
4592 =item Pluggable runops
4596 =item Examining internal data structures with the C<dump> functions
4598 =item How multiple interpreters and concurrency are supported
4602 =item Background and PERL_IMPLICIT_CONTEXT
4604 =item So what happened to dTHR?
4606 =item How do I use all this in extensions?
4608 =item Should I do anything special if I call perl from multiple threads?
4610 =item Future Plans and PERL_IMPLICIT_SYS
4614 =item Internal Functions
4616 A, p, d, s, n, r, f, M, o, x, m, X, E, b
4620 =item Formatted Printing of IVs, UVs, and NVs
4622 =item Pointer-To-Integer and Integer-To-Pointer
4624 =item Exception Handling
4626 =item Source Documentation
4628 =item Backwards compatibility
4632 =item Unicode Support
4636 =item What B<is> Unicode, anyway?
4638 =item How can I recognise a UTF-8 string?
4640 =item How does UTF-8 represent Unicode characters?
4642 =item How does Perl store UTF-8 strings?
4644 =item How do I convert a string to UTF-8?
4646 =item Is there anything else I need to know?
4650 =item Custom Operators
4658 =head2 perlcall - Perl calling conventions from C
4664 An Error Handler, An Event Driven Program
4666 =item THE CALL_ FUNCTIONS
4668 call_sv, call_pv, call_method, call_argv
4688 =item Determining the Context
4692 =item KNOWN PROBLEMS
4698 =item No Parameters, Nothing returned
4700 =item Passing Parameters
4702 =item Returning a Scalar
4704 =item Returning a list of values
4706 =item Returning a list in a scalar context
4708 =item Returning Data from Perl via the parameter list
4712 =item Using G_KEEPERR
4716 =item Using call_argv
4718 =item Using call_method
4722 =item Using Perl to dispose of temporaries
4724 =item Strategies for storing Callback Context Information
4726 1. Ignore the problem - Allow only 1 callback, 2. Create a sequence of
4727 callbacks - hard wired limit, 3. Use a parameter to map to the Perl
4730 =item Alternate Stack Manipulation
4732 =item Creating and calling an anonymous subroutine in C
4744 =head2 perlapi - autogenerated documentation for the perl public API
4750 =item "Gimme" Values
4752 GIMME, GIMME_V, G_ARRAY, G_DISCARD, G_EVAL, G_NOARGS, G_SCALAR, G_VOID
4754 =item Array Manipulation Functions
4756 AvFILL, av_clear, av_delete, av_exists, av_extend, av_fetch, av_fill,
4757 av_len, av_make, av_pop, av_push, av_shift, av_store, av_undef, av_unshift,
4758 get_av, newAV, sortsv
4760 =item Callback Functions
4762 call_argv, call_method, call_pv, call_sv, ENTER, eval_pv, eval_sv,
4763 FREETMPS, LEAVE, SAVETMPS
4765 =item Character classes
4767 isALNUM, isALPHA, isDIGIT, isLOWER, isSPACE, isUPPER, toLOWER, toUPPER
4769 =item Cloning an interpreter
4773 =item CV Manipulation Functions
4777 =item Embedding Functions
4779 cv_undef, load_module, nothreadhook, perl_alloc, perl_construct,
4780 perl_destruct, perl_free, perl_parse, perl_run, require_pv
4782 =item Functions in file pp_pack.c
4784 packlist, pack_cat, unpackstring, unpack_str
4786 =item Global Variables
4788 PL_modglobal, PL_na, PL_sv_no, PL_sv_undef, PL_sv_yes
4792 GvSV, gv_fetchmeth, gv_fetchmethod, gv_fetchmethod_autoload,
4793 gv_fetchmeth_autoload, gv_stashpv, gv_stashpvn, gv_stashsv
4797 Nullav, Nullch, Nullcv, Nullhv, Nullsv
4799 =item Hash Manipulation Functions
4801 get_hv, HEf_SVKEY, HeHASH, HeKEY, HeKLEN, HePV, HeSVKEY, HeSVKEY_force,
4802 HeSVKEY_set, HeVAL, HvNAME, hv_assert, hv_clear, hv_clear_placeholders,
4803 hv_delete, hv_delete_ent, hv_exists, hv_exists_ent, hv_fetch, hv_fetch_ent,
4804 hv_iterinit, hv_iterkey, hv_iterkeysv, hv_iternext, hv_iternextsv,
4805 hv_iternext_flags, hv_iterval, hv_magic, hv_scalar, hv_store, hv_store_ent,
4808 =item Magical Functions
4810 mg_clear, mg_copy, mg_find, mg_free, mg_get, mg_length, mg_magical, mg_set,
4811 SvGETMAGIC, SvLOCK, SvSETMAGIC, SvSetMagicSV, SvSetMagicSV_nosteal,
4812 SvSetSV, SvSetSV_nosteal, SvSHARE, SvUNLOCK
4814 =item Memory Management
4816 Copy, CopyD, Move, MoveD, New, Newc, Newz, Poison, Renew, Renewc, Safefree,
4817 savepv, savepvn, savesharedpv, savesvpv, StructCopy, Zero, ZeroD
4819 =item Miscellaneous Functions
4821 fbm_compile, fbm_instr, form, getcwd_sv, new_version, scan_version, strEQ,
4822 strGE, strGT, strLE, strLT, strNE, strnEQ, strnNE, sv_nolocking,
4823 sv_nosharing, sv_nounlocking, upg_version, vcmp, vnormal, vnumify,
4826 =item Numeric functions
4828 grok_bin, grok_hex, grok_number, grok_numeric_radix, grok_oct, scan_bin,
4831 =item Optree Manipulation Functions
4833 cv_const_sv, newCONSTSUB, newXS
4835 =item Pad Data Structures
4839 =item Simple Exception Handling Macros
4841 dXCPT, XCPT_CATCH, XCPT_RETHROW, XCPT_TRY_END, XCPT_TRY_START
4843 =item Stack Manipulation Macros
4845 dMARK, dORIGMARK, dSP, EXTEND, MARK, mPUSHi, mPUSHn, mPUSHp, mPUSHu,
4846 mXPUSHi, mXPUSHn, mXPUSHp, mXPUSHu, ORIGMARK, POPi, POPl, POPn, POPp,
4847 POPpbytex, POPpx, POPs, PUSHi, PUSHMARK, PUSHmortal, PUSHn, PUSHp, PUSHs,
4848 PUSHu, PUTBACK, SP, SPAGAIN, XPUSHi, XPUSHmortal, XPUSHn, XPUSHp, XPUSHs,
4849 XPUSHu, XSRETURN, XSRETURN_EMPTY, XSRETURN_IV, XSRETURN_NO, XSRETURN_NV,
4850 XSRETURN_PV, XSRETURN_UNDEF, XSRETURN_UV, XSRETURN_YES, XST_mIV, XST_mNO,
4851 XST_mNV, XST_mPV, XST_mUNDEF, XST_mYES
4855 svtype, SVt_IV, SVt_NV, SVt_PV, SVt_PVAV, SVt_PVCV, SVt_PVHV, SVt_PVMG
4857 =item SV Manipulation Functions
4859 get_sv, looks_like_number, newRV_inc, newRV_noinc, NEWSV, newSV, newSVhek,
4860 newSViv, newSVnv, newSVpv, newSVpvf, newSVpvn, newSVpvn_share, newSVrv,
4861 newSVsv, newSVuv, SvCUR, SvCUR_set, SvEND, SvGROW, SvIOK, SvIOKp,
4862 SvIOK_notUV, SvIOK_off, SvIOK_on, SvIOK_only, SvIOK_only_UV, SvIOK_UV,
4863 SvIsCOW, SvIsCOW_shared_hash, SvIV, SvIVX, SvIVx, SvIV_nomg, SvIV_set,
4864 SvLEN, SvLEN_set, SvMAGIC_set, SvNIOK, SvNIOKp, SvNIOK_off, SvNOK, SvNOKp,
4865 SvNOK_off, SvNOK_on, SvNOK_only, SvNV, SvNVX, SvNVx, SvNV_set, SvOK, SvOOK,
4866 SvPOK, SvPOKp, SvPOK_off, SvPOK_on, SvPOK_only, SvPOK_only_UTF8, SvPV,
4867 SvPVbyte, SvPVbytex, SvPVbytex_force, SvPVbyte_force, SvPVbyte_nolen,
4868 SvPVutf8, SvPVutf8x, SvPVutf8x_force, SvPVutf8_force, SvPVutf8_nolen,
4869 SvPVX, SvPVx, SvPV_force, SvPV_force_nomg, SvPV_nolen, SvPV_nomg, SvPV_set,
4870 SvREFCNT, SvREFCNT_dec, SvREFCNT_inc, SvROK, SvROK_off, SvROK_on, SvRV,
4871 SvRV_set, SvSTASH, SvSTASH_set, SvTAINT, SvTAINTED, SvTAINTED_off,
4872 SvTAINTED_on, SvTRUE, SvTYPE, SvUOK, SvUPGRADE, SvUTF8, SvUTF8_off,
4873 SvUTF8_on, SvUV, SvUVX, SvUVx, SvUV_nomg, SvUV_set, SvVOK, sv_2bool,
4874 sv_2cv, sv_2io, sv_2iv_flags, sv_2mortal, sv_2nv, sv_2pvbyte,
4875 sv_2pvbyte_nolen, sv_2pvutf8, sv_2pvutf8_nolen, sv_2pv_flags, sv_2pv_nolen,
4876 sv_2uv_flags, sv_backoff, sv_bless, sv_catpv, sv_catpvf, sv_catpvf_mg,
4877 sv_catpvn, sv_catpvn_flags, sv_catpvn_mg, sv_catpvn_nomg, sv_catpv_mg,
4878 sv_catsv, sv_catsv_flags, sv_catsv_mg, sv_catsv_nomg, sv_chop, sv_clear,
4879 sv_cmp, sv_cmp_locale, sv_collxfrm, sv_copypv, sv_dec, sv_derived_from,
4880 sv_eq, sv_force_normal, sv_force_normal_flags, sv_free, sv_gets, sv_grow,
4881 sv_inc, sv_insert, sv_isa, sv_isobject, sv_iv, sv_len, sv_len_utf8,
4882 sv_magic, sv_magicext, sv_mortalcopy, sv_newmortal, sv_newref, sv_nv,
4883 sv_pos_b2u, sv_pos_u2b, sv_pv, sv_pvbyte, sv_pvbyten, sv_pvbyten_force,
4884 sv_pvn, sv_pvn_force, sv_pvn_force_flags, sv_pvutf8, sv_pvutf8n,
4885 sv_pvutf8n_force, sv_reftype, sv_replace, sv_report_used, sv_reset,
4886 sv_rvweaken, sv_setiv, sv_setiv_mg, sv_setnv, sv_setnv_mg, sv_setpv,
4887 sv_setpvf, sv_setpvf_mg, sv_setpviv, sv_setpviv_mg, sv_setpvn,
4888 sv_setpvn_mg, sv_setpv_mg, sv_setref_iv, sv_setref_nv, sv_setref_pv,
4889 sv_setref_pvn, sv_setref_uv, sv_setsv, sv_setsv_flags, sv_setsv_mg,
4890 sv_setsv_nomg, sv_setuv, sv_setuv_mg, sv_taint, sv_tainted, sv_true,
4891 sv_unmagic, sv_unref, sv_unref_flags, sv_untaint, sv_upgrade, sv_usepvn,
4892 sv_usepvn_mg, sv_utf8_decode, sv_utf8_downgrade, sv_utf8_encode,
4893 sv_utf8_upgrade, sv_utf8_upgrade_flags, sv_uv, sv_vcatpvf, sv_vcatpvfn,
4894 sv_vcatpvf_mg, sv_vsetpvf, sv_vsetpvfn, sv_vsetpvf_mg
4896 =item Unicode Support
4898 bytes_from_utf8, bytes_to_utf8, ibcmp_utf8, is_utf8_char, is_utf8_string,
4899 is_utf8_string_loc, is_utf8_string_loclen, pv_uni_display, sv_cat_decode,
4900 sv_recode_to_utf8, sv_uni_display, to_utf8_case, to_utf8_fold,
4901 to_utf8_lower, to_utf8_title, to_utf8_upper, utf8n_to_uvchr,
4902 utf8n_to_uvuni, utf8_distance, utf8_hop, utf8_length, utf8_to_bytes,
4903 utf8_to_uvchr, utf8_to_uvuni, uvchr_to_utf8, uvuni_to_utf8_flags
4905 =item Variables created by C<xsubpp> and C<xsubpp> internal functions
4907 ax, CLASS, dAX, dAXMARK, dITEMS, dUNDERBAR, dXSARGS, dXSI32, items, ix,
4908 newXSproto, RETVAL, ST, THIS, UNDERBAR, XS, XS_VERSION,
4909 XS_VERSION_BOOTCHECK
4911 =item Warning and Dieing
4921 =head2 perlintern - autogenerated documentation of purely B<internal>
4928 =item CV reference counts and CvOUTSIDE
4932 =item Functions in file pad.h
4934 CX_CURPAD_SAVE, CX_CURPAD_SV, PAD_BASE_SV, PAD_CLONE_VARS,
4935 PAD_COMPNAME_FLAGS, PAD_COMPNAME_GEN, PAD_COMPNAME_GEN_set,
4936 PAD_COMPNAME_OURSTASH, PAD_COMPNAME_PV, PAD_COMPNAME_TYPE, PAD_DUP,
4937 PAD_RESTORE_LOCAL, PAD_SAVE_LOCAL, PAD_SAVE_SETNULLPAD, PAD_SETSV,
4938 PAD_SET_CUR, PAD_SET_CUR_NOSAVE, PAD_SV, PAD_SVl, SAVECLEARSV, SAVECOMPPAD,
4941 =item Functions in file pp_ctl.c
4945 =item Global Variables
4947 PL_DBsingle, PL_DBsub, PL_DBtrace, PL_dowarn, PL_last_in_gv, PL_ofs_sv,
4952 is_gv_magical, is_gv_magical_sv
4958 =item Magical Functions
4962 =item Pad Data Structures
4964 CvPADLIST, cv_clone, cv_dump, do_dump_pad, intro_my, pad_add_anon,
4965 pad_add_name, pad_alloc, pad_block_start, pad_check_dup, pad_findlex,
4966 pad_findmy, pad_fixup_inner_anons, pad_free, pad_leavemy, pad_new,
4967 pad_push, pad_reset, pad_setsv, pad_swipe, pad_tidy, pad_undef
4969 =item Stack Manipulation Macros
4973 =item SV Manipulation Functions
4975 find_uninit_var, report_uninit, sv_add_arena, sv_clean_all, sv_clean_objs,
4984 =head2 perliol - C API for Perl's implementation of IO in Layers.
4994 =item History and Background
4996 =item Basic Structure
4998 =item Layers vs Disciplines
5000 =item Data Structures
5002 =item Functions and Attributes
5004 =item Per-instance Data
5006 =item Layers in action.
5008 =item Per-instance flag bits
5010 PERLIO_F_EOF, PERLIO_F_CANWRITE, PERLIO_F_CANREAD, PERLIO_F_ERROR,
5011 PERLIO_F_TRUNCATE, PERLIO_F_APPEND, PERLIO_F_CRLF, PERLIO_F_UTF8,
5012 PERLIO_F_UNBUF, PERLIO_F_WRBUF, PERLIO_F_RDBUF, PERLIO_F_LINEBUF,
5013 PERLIO_F_TEMP, PERLIO_F_OPEN, PERLIO_F_FASTGETS
5015 =item Methods in Detail
5017 fsize, name, size, kind, PERLIO_K_BUFFERED, PERLIO_K_RAW, PERLIO_K_CANCRLF,
5018 PERLIO_K_FASTGETS, PERLIO_K_MULTIARG, Pushed, Popped, Open, Binmode,
5019 Getarg, Fileno, Dup, Read, Write, Seek, Tell, Close, Flush, Fill, Eof,
5020 Error, Clearerr, Setlinebuf, Get_base, Get_bufsiz, Get_ptr, Get_cnt,
5025 =item Implementing PerlIO Layers
5027 C implementations, Perl implementations
5031 "unix", "perlio", "stdio", "crlf", "mmap", "pending", "raw", "utf8"
5033 =item Extension Layers
5035 ":encoding", ":scalar", ":via"
5043 =head2 perlapio - perl's IO abstraction interface.
5051 1. USE_STDIO, 2. USE_SFIO, 3. USE_PERLIO, B<PerlIO_stdin()>,
5052 B<PerlIO_stdout()>, B<PerlIO_stderr()>, B<PerlIO_open(path, mode)>,
5053 B<PerlIO_fdopen(fd,mode)>, B<PerlIO_reopen(path,mode,f)>,
5054 B<PerlIO_printf(f,fmt,...)>, B<PerlIO_vprintf(f,fmt,a)>,
5055 B<PerlIO_stdoutf(fmt,...)>, B<PerlIO_read(f,buf,count)>,
5056 B<PerlIO_write(f,buf,count)>, B<PerlIO_close(f)>, B<PerlIO_puts(f,s)>,
5057 B<PerlIO_putc(f,c)>, B<PerlIO_ungetc(f,c)>, B<PerlIO_getc(f)>,
5058 B<PerlIO_eof(f)>, B<PerlIO_error(f)>, B<PerlIO_fileno(f)>,
5059 B<PerlIO_clearerr(f)>, B<PerlIO_flush(f)>, B<PerlIO_seek(f,offset,whence)>,
5060 B<PerlIO_tell(f)>, B<PerlIO_getpos(f,p)>, B<PerlIO_setpos(f,p)>,
5061 B<PerlIO_rewind(f)>, B<PerlIO_tmpfile()>, B<PerlIO_setlinebuf(f)>
5065 =item Co-existence with stdio
5067 B<PerlIO_importFILE(f,mode)>, B<PerlIO_exportFILE(f,mode)>,
5068 B<PerlIO_releaseFILE(p,f)>, B<PerlIO_findFILE(f)>
5070 =item "Fast gets" Functions
5072 B<PerlIO_fast_gets(f)>, B<PerlIO_has_cntptr(f)>, B<PerlIO_get_cnt(f)>,
5073 B<PerlIO_get_ptr(f)>, B<PerlIO_set_ptrcnt(f,p,c)>, B<PerlIO_canset_cnt(f)>,
5074 B<PerlIO_set_cnt(f,c)>, B<PerlIO_has_base(f)>, B<PerlIO_get_base(f)>,
5075 B<PerlIO_get_bufsiz(f)>
5077 =item Other Functions
5079 PerlIO_apply_layers(f,mode,layers), PerlIO_binmode(f,ptype,imode,layers),
5080 'E<lt>' read, 'E<gt>' write, '+' read/write, PerlIO_debug(fmt,...)
5086 =head2 perlhack - How to hack at the Perl internals
5092 Does concept match the general goals of Perl?, Where is the
5093 implementation?, Backwards compatibility, Could it be a module instead?, Is
5094 the feature generic enough?, Does it potentially introduce new bugs?, Does
5095 it preclude other desirable features?, Is the implementation robust?, Is
5096 the implementation generic enough to be portable?, Is the implementation
5097 tested?, Is there enough documentation?, Is there another way to do it?,
5098 Does it create too much work?, Patches speak louder than words
5102 =item Keeping in sync
5104 rsync'ing the source tree, Using rsync over the LAN, Using pushing over the
5105 NFS, rsync'ing the patches
5107 =item Why rsync the source tree
5109 It's easier to rsync the source tree, It's more reliable
5111 =item Why rsync the patches
5113 It's easier to rsync the patches, It's a good reference, Finding a start
5114 point, Finding how to fix a bug, Finding the source of misbehaviour
5116 =item Working with the source
5118 =item Perlbug administration
5120 =item Submitting patches
5122 L<perlguts>, L<perlxstut> and L<perlxs>, L<perlapi>,
5123 F<Porting/pumpkin.pod>, The perl5-porters FAQ
5125 =item Finding Your Way Around
5127 Core modules, Tests, Documentation, Configure, Interpreter
5129 =item Elements of the interpreter
5131 Startup, Parsing, Optimization, Running, Exception handing
5133 =item Internal Variable Types
5139 Argument stack, Mark stack, Save stack
5141 =item Millions of Macros
5143 =item The .i Targets
5145 =item Poking at Perl
5147 =item Using a source-level debugger
5149 run [args], break function_name, break source.c:xxx, step, next, continue,
5150 finish, 'enter', print
5152 =item gdb macro support
5154 =item Dumping Perl Data Structures
5158 =item Patching a core module
5160 =item Adding a new function to the core
5162 =item Writing a test
5164 F<t/base/>, F<t/cmd/>, F<t/comp/>, F<t/io/>, F<t/lib/>, F<t/op/>,
5165 F<t/pod/>, F<t/run/>, F<t/uni/>, F<t/win32/>, F<t/x2p>, t/base t/comp,
5166 t/cmd t/run t/io t/op, t/lib ext lib
5168 =item Special Make Test Targets
5170 coretest, test.deparse, test.taintwarn, minitest, test.valgrind
5171 check.valgrind utest.valgrind ucheck.valgrind, test.third check.third
5172 utest.third ucheck.third, test.torture torturetest, utest ucheck test.utf8
5173 check.utf8, minitest.utf16 test.utf16, test_harness, test-notty test_notty
5175 =item Running tests by hand
5177 -v, -torture, -re=PATTERN, -re LIST OF PATTERNS, PERL_CORE=1,
5178 PERL_DESTRUCT_LEVEL=2, PERL, PERL_SKIP_TTY_TEST
5182 =item EXTERNAL TOOLS FOR DEBUGGING PERL
5186 =item Rational Software's Purify
5188 =item Purify on Unix
5190 -Accflags=-DPURIFY, -Doptimize='-g', -Uusemymalloc, -Dusemultiplicity
5194 DEFINES, USE_MULTI = define, #PERL_MALLOC = define, CFG = Debug
5198 =item Compaq's/Digital's/HP's Third Degree
5200 =item PERL_DESTRUCT_LEVEL
5204 =item Gprof Profiling
5206 -a, -b, -e routine, -f routine, -s, -z
5208 =item GCC gcov Profiling
5210 =item Pixie Profiling
5212 -h, -l, -p[rocedures], -h[eavy], -i[nvocations], -l[ines], -testcoverage,
5215 =item Miscellaneous tricks
5219 I<The Road goes ever on and on, down from the door where it began.>
5227 =head2 perlbook - Perl book information
5235 =head2 perltodo - Perl TO-DO List
5245 =item (?{...}) closures in regexps
5247 =item A re-entrant regexp engine
5253 =item lexical pragmas
5255 =item use less 'memory'
5259 =item prototypes and functions
5263 =item _ prototype character
5265 =item inlining autoloaded constants
5267 =item Finish off lvalue functions
5271 =item Unicode and UTF8
5275 =item Implicit Latin 1 => Unicode translation
5277 =item UTF8 caching code
5279 =item Unicode in Filenames
5281 =item Unicode in %ENV
5289 =item regexp optimiser optional
5297 =item POD -> HTML conversion still sucks
5301 =item Misc medium sized projects
5307 =item optional optimizer
5309 =item You WANT *how* many
5311 =item lexical aliases
5317 =item entersub XS vs Perl
5319 =item @INC source filter to Filter::Simple
5321 =item bincompat functions
5323 =item Use fchown/fchmod internally
5325 =item Constant folding
5333 =item Make Schwern poorer
5337 =item common test code for timed bailout
5345 =item compressed man pages
5347 =item Make Config.pm cope with differences between build and installed perl
5349 =item Relocatable perl
5351 =item make HTML install work
5353 =item put patchlevel in -v
5357 =item Incremental things
5361 =item autovivification
5363 =item fix tainting bugs
5365 =item Make tainting consistent
5367 =item Dual life everything
5377 =item POSIX memory footprint
5379 =item Optimize away @_
5383 =item Attach/detach debugger from running program
5385 =item A decent benchmark
5387 =item readpipe(LIST)
5395 =head2 perldoc - Look up Perl documentation in Pod format.
5405 B<-h>, B<-v>, B<-t>, B<-u>, B<-m> I<module>, B<-l>, B<-F>, B<-f>
5406 I<perlfunc>, B<-q> I<perlfaq-search-regexp>, B<-T>, B<-d>
5407 I<destination-filename>, B<-o> I<output-formatname>, B<-M> I<module-name>,
5408 B<-w> I<option:value> or B<-w> I<option>, B<-X>,
5409 B<PageName|ModuleName|ProgramName>, B<-n> I<some-formatter>, B<-r>, B<-i>,
5420 =head2 perlhist - the Perl history records
5428 =item THE KEEPERS OF THE PUMPKIN
5440 =item SELECTED RELEASE SIZES
5442 =item SELECTED PATCH SIZES
5446 =item THE KEEPERS OF THE RECORDS
5450 =head2 perldelta - what is new for perl v5.9.3
5456 =item Incompatible Changes
5458 =item Core Enhancements
5460 =item Modules and Pragmata
5462 =item Utility Changes
5466 =item Performance Enhancements
5468 =item Installation and Configuration Improvements
5470 =item Selected Bug Fixes
5472 =item New or Changed Diagnostics
5474 =item Changed Internals
5476 =item Known Problems
5480 =item Platform Specific Problems
5484 =item Reporting Bugs
5490 =head2 perl593delta, perldelta - what is new for perl v5.9.3
5496 =item Incompatible Changes
5498 =item Core Enhancements
5500 =item Modules and Pragmata
5502 =item Utility Changes
5506 =item Performance Enhancements
5508 =item Installation and Configuration Improvements
5510 =item Selected Bug Fixes
5512 =item New or Changed Diagnostics
5514 =item Changed Internals
5516 =item Known Problems
5520 =item Platform Specific Problems
5524 =item Reporting Bugs
5530 =head2 perl592delta, perldelta - what is new for perl v5.9.2
5536 =item Incompatible Changes
5540 =item Packing and UTF-8 strings
5546 =item Core Enhancements
5550 =item Malloc wrapping
5552 =item Unicode Character Database 4.0.1
5554 =item suidperl less insecure
5560 =item Unicode Character Classes
5562 =item Byte-order modifiers for pack() and unpack()
5564 =item Byte count feature in pack()
5570 =item Modules and Pragmata
5576 =item Updated And Improved Modules and Pragmata
5578 B::Concise, Socket, Sys::Syslog, threads
5582 =item Utility Changes
5584 =item Performance Enhancements
5586 =item Installation and Configuration Improvements
5588 =item Selected Bug Fixes
5590 =item New or Changed Diagnostics
5592 =item Changed Internals
5594 =item Known Problems
5596 =item Plans for the next release
5598 =item Reporting Bugs
5604 =head2 perl591delta, perldelta - what is new for perl v5.9.1
5610 =item Incompatible Changes
5614 =item substr() lvalues are no longer fixed-length
5616 =item The C<:unique> attribute is only meaningful for globals
5620 =item Core Enhancements
5626 =item Tied hashes in scalar context
5630 =item Stacked filetest operators
5634 =item Modules and Pragmata
5636 Benchmark, Carp, Exporter, FindBin, List::Util, threads::shared
5638 =item Utility Changes
5642 =item Performance Enhancements
5644 =item Selected Bug Fixes
5650 =item Threading bugs
5656 =item New or Changed Diagnostics
5658 =item Changed Internals
5662 =item Reordering of SVt_* constants
5664 =item Removal of CPP symbols
5666 =item Less space is used by ops
5672 =item Configuration and Building
5674 =item Known Problems
5678 =item Platform Specific Problems
5682 =item To-do for perl 5.10.0
5684 =item Reporting Bugs
5690 =head2 perl590delta, perldelta - what is new for perl v5.9.0
5696 =item Incompatible Changes
5700 =item Hash Randomisation
5702 =item UTF-8 On Filehandles No Longer Activated By Locale
5704 =item Single-number v-strings are no longer v-strings before "=>"
5706 =item (Win32) The -C Switch Has Been Repurposed
5708 =item (Win32) The /d Switch Of cmd.exe
5710 =item The C<$*> variable has been removed
5714 =item Core Enhancements
5720 =item Defined-or operators
5722 =item UTF-8 no longer default under UTF-8 locales
5724 =item Unsafe signals again available
5726 =item Tied Arrays with Negative Array Indices
5730 =item Unicode Character Database 4.0.0
5732 =item Miscellaneous Enhancements
5736 =item Modules and Pragmata
5740 =item Updated Modules And Pragmata
5742 base, B::Bytecode, B::Concise, B::Deparse, Benchmark, ByteLoader, bytes,
5743 CGI, charnames, CPAN, Data::Dumper, DB_File, Devel::PPPort, Digest::MD5,
5744 Encode, fields, libnet, Math::BigInt, MIME::Base64, NEXT, Net::Ping,
5745 PerlIO::scalar, podlators, Pod::LaTeX, PodParsers, Pod::Perldoc,
5746 Scalar::Util, Storable, strict, Term::ANSIcolor, Test::Harness, Test::More,
5747 Test::Simple, Text::Balanced, Time::HiRes, threads, threads::shared,
5748 Unicode::Collate, Unicode::Normalize, Win32::GetFolderPath,
5753 =item Utility Changes
5755 =item New Documentation
5757 =item Performance Enhancements
5759 =item Installation and Configuration Improvements
5763 =item Platform-specific enhancements
5767 =item Selected Bug Fixes
5771 =item Closures, eval and lexicals
5775 =item Platform-specific fixes
5779 =item New or Changed Diagnostics
5783 =item Changed "A thread exited while %d threads were running"
5785 =item Removed "Attempt to clear a restricted hash"
5787 =item New "Illegal declaration of anonymous subroutine"
5789 =item Changed "Invalid range "%s" in transliteration operator"
5791 =item New "Missing control char name in \c"
5793 =item New "Newline in left-justified string for %s"
5795 =item New "Possible precedence problem on bitwise %c operator"
5797 =item New "read() on %s filehandle %s"
5799 =item New "Tied variable freed while still in use"
5801 =item New "To%s: illegal mapping '%s'"
5803 =item New "Use of freed value in iteration"
5807 =item Changed Internals
5811 =item Known Problems
5815 =item Tied hashes in scalar context
5817 =item Net::Ping 450_service and 510_ping_udp failures
5823 =item Platform Specific Problems
5827 =item EBCDIC Platforms