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
160 X<reference> X<dereference> X<dereferencing> X<pointer>
162 =item COMMON MISTAKES
164 =item CAVEAT ON PRECEDENCE
165 X<dereference, precedence> X<dereferencing, precedence>
167 =item WHY YOU SHOULD ALWAYS C<use strict>
170 X<data structure, debugging> X<complex data structure, debugging>
171 X<AoA, debugging> X<HoA, debugging> X<AoH, debugging> X<HoH, debugging>
172 X<array of arrays, debugging> X<hash of arrays, debugging>
173 X<array of hashes, debugging> X<hash of hashes, debugging>
177 =item ARRAYS OF ARRAYS
178 X<array of arrays> X<AoA>
182 =item Declaration of an ARRAY OF ARRAYS
184 =item Generation of an ARRAY OF ARRAYS
186 =item Access and Printing of an ARRAY OF ARRAYS
190 =item HASHES OF ARRAYS
191 X<hash of arrays> X<HoA>
195 =item Declaration of a HASH OF ARRAYS
197 =item Generation of a HASH OF ARRAYS
199 =item Access and Printing of a HASH OF ARRAYS
203 =item ARRAYS OF HASHES
204 X<array of hashes> X<AoH>
208 =item Declaration of an ARRAY OF HASHES
210 =item Generation of an ARRAY OF HASHES
212 =item Access and Printing of an ARRAY OF HASHES
216 =item HASHES OF HASHES
217 X<hass of hashes> X<HoH>
221 =item Declaration of a HASH OF HASHES
223 =item Generation of a HASH OF HASHES
225 =item Access and Printing of a HASH OF HASHES
229 =item MORE ELABORATE RECORDS
230 X<record> X<structure> X<struct>
234 =item Declaration of MORE ELABORATE RECORDS
236 =item Declaration of a HASH OF COMPLEX RECORDS
238 =item Generation of a HASH OF COMPLEX RECORDS
250 =head2 perllol - Manipulating Arrays of Arrays in Perl
258 =item Declaration and Access of Arrays of Arrays
260 =item Growing Your Own
262 =item Access and Printing
274 =head2 perlrequick - Perl regular expressions quick start
284 =item Simple word matching
286 =item Using character classes
288 =item Matching this or that
290 =item Grouping things and hierarchical matching
292 =item Extracting matches
294 =item Matching repetitions
298 =item Search and replace
300 =item The split operator
308 =item AUTHOR AND COPYRIGHT
312 =item Acknowledgments
318 =head2 perlretut - Perl regular expressions tutorial
324 =item Part 1: The basics
328 =item Simple word matching
330 =item Using character classes
332 =item Matching this or that
334 =item Grouping things and hierarchical matching
336 =item Extracting matches
338 =item Matching repetitions
340 =item Building a regexp
342 =item Using regular expressions in Perl
346 =item Part 2: Power tools
350 =item More on characters, strings, and character classes
352 =item Compiling and saving regular expressions
354 =item Embedding comments and modifiers in a regular expression
356 =item Non-capturing groupings
358 =item Looking ahead and looking behind
360 =item Using independent subexpressions to prevent backtracking
362 =item Conditional expressions
364 =item A bit of magic: executing Perl code in a regular expression
366 =item Pragmas and debugging
374 =item AUTHOR AND COPYRIGHT
378 =item Acknowledgments
384 =head2 perlboot - Beginner's Object-Oriented Tutorial
392 =item If we could talk to the animals...
394 =item Introducing the method invocation arrow
396 =item Invoking a barnyard
398 =item The extra parameter of method invocation
400 =item Calling a second method to simplify things
402 =item Inheriting the windpipes
404 =item A few notes about @ISA
406 =item Overriding the methods
408 =item Starting the search from a different place
410 =item The SUPER way of doing things
412 =item Where we're at so far...
414 =item A horse is a horse, of course of course -- or is it?
416 =item Invoking an instance method
418 =item Accessing the instance data
420 =item How to build a horse
422 =item Inheriting the constructor
424 =item Making a method work with either classes or instances
426 =item Adding parameters to a method
428 =item More interesting instances
430 =item A horse of a different color
442 =head2 perltoot - Tom's object-oriented tutorial for perl
448 =item Creating a Class
452 =item Object Representation
454 =item Class Interface
456 =item Constructors and Instance Methods
458 =item Planning for the Future: Better Constructors
462 =item Other Object Methods
470 =item Accessing Class Data
472 =item Debugging Methods
474 =item Class Destructors
476 =item Documenting the Interface
486 =item Overridden Methods
488 =item Multiple Inheritance
490 =item UNIVERSAL: The Root of All Objects
494 =item Alternate Object Representations
498 =item Arrays as Objects
500 =item Closures as Objects
504 =item AUTOLOAD: Proxy Methods
508 =item Autoloaded Data Methods
510 =item Inherited Autoloaded Data Methods
514 =item Metaclassical Tools
520 =item Data Members as Variables
528 =item Object Terminology
534 =item AUTHOR AND COPYRIGHT
540 =item Acknowledgments
546 =head2 perltooc - Tom's OO Tutorial for Class Data in Perl
552 =item Class Data in a Can
554 =item Class Data as Package Variables
558 =item Putting All Your Eggs in One Basket
560 =item Inheritance Concerns
562 =item The Eponymous Meta-Object
564 =item Indirect References to Class Data
566 =item Monadic Classes
568 =item Translucent Attributes
572 =item Class Data as Lexical Variables
576 =item Privacy and Responsibility
578 =item File-Scoped Lexicals
580 =item More Inheritance Concerns
582 =item Locking the Door and Throwing Away the Key
584 =item Translucency Revisited
592 =item AUTHOR AND COPYRIGHT
594 =item ACKNOWLEDGEMENTS
600 =head2 perlbot - Bag'o Object Tricks (the BOT)
606 =item OO SCALING TIPS
608 =item INSTANCE VARIABLES
610 =item SCALAR INSTANCE VARIABLES
612 =item INSTANCE VARIABLE INHERITANCE
614 =item OBJECT RELATIONSHIPS
616 =item OVERRIDING SUPERCLASS METHODS
618 =item USING RELATIONSHIP WITH SDBM
620 =item THINKING OF CODE REUSE
622 =item CLASS CONTEXT AND THE OBJECT
624 =item INHERITING A CONSTRUCTOR
632 =head2 perlstyle - Perl style guide
640 =head2 perlcheat - Perl 5 Cheat Sheet
652 =item ACKNOWLEDGEMENTS
660 =head2 perltrap - Perl traps for the unwary
678 =item Perl4 to Perl5 Traps
680 Discontinuance, Deprecation, and BugFix traps, Parsing Traps, Numerical
681 Traps, General data type traps, Context Traps - scalar, list contexts,
682 Precedence Traps, General Regular Expression Traps using s///, etc,
683 Subroutine, Signal, Sorting Traps, OS Traps, DBM Traps, Unclassified Traps
685 =item Discontinuance, Deprecation, and BugFix traps
687 Symbols starting with "_" no longer forced into main, Double-colon valid
688 package separator in variable name, 2nd and 3rd args to C<splice()> are now
689 in scalar context, Can't do C<goto> into a block that is optimized away,
690 Can't use whitespace as variable name or quote delimiter, C<while/if BLOCK
691 BLOCK> gone, C<**> binds tighter than unary minus, C<foreach> changed when
692 iterating over a list, C<split> with no args behavior changed, B<-e>
693 behavior fixed, C<push> returns number of elements in resulting list, Some
694 error messages differ, C<split()> honors subroutine args, Bugs removed
698 Space between . and = triggers syntax error, Better parsing in perl 5,
699 Function parsing, String interpolation of C<$#array> differs, Perl guesses
700 on C<map>, C<grep> followed by C<{> if it starts BLOCK or hash ref
702 =item Numerical Traps
704 Formatted output and significant digits, Auto-increment operator over
705 signed int limit deleted, Assignment of return values from numeric equality
706 tests doesn't work, Bitwise string ops
708 =item General data type traps
710 Negative array subscripts now count from the end of array, Setting
711 C<$#array> lower now discards array elements, Hashes get defined before
712 use, Glob assignment from localized variable to variable, Assigning
713 C<undef> to glob, Changes in unary negation (of strings), Modifying of
714 constants prohibited, C<defined $var> behavior changed, Variable Suicide
716 =item Context Traps - scalar, list contexts
718 Elements of argument lists for formats evaluated in list context,
719 C<caller()> returns false value in scalar context if no caller present,
720 Comma operator in scalar context gives scalar context to args, C<sprintf()>
721 prototyped as C<($;@)>
723 =item Precedence Traps
725 LHS vs. RHS of any assignment operator, Semantic errors introduced due to
726 precedence, Precedence of assignment operators same as the precedence of
727 assignment, C<open> requires parentheses around filehandle, C<$:>
728 precedence over C<$::> gone, Precedence of file test operators documented,
729 C<keys>, C<each>, C<values> are regular named unary operators
731 =item General Regular Expression Traps using s///, etc.
733 C<s'$lhs'$rhs'> interpolates on either side, C<m//g> attaches its state to
734 the searched string, C<m//o> used within an anonymous sub, C<$+> isn't set
735 to whole match, Substitution now returns null string if it fails,
736 C<s`lhs`rhs`> is now a normal substitution, Stricter parsing of variables
737 in regular expressions, C<m?x?> matches only once, Failed matches don't
738 reset the match variables
740 =item Subroutine, Signal, Sorting Traps
742 Barewords that used to look like strings look like subroutine calls,
743 Reverse is no longer allowed as the name of a sort subroutine, C<warn()>
744 won't let you specify a filehandle
748 SysV resets signal handler correctly, SysV C<seek()> appends correctly
750 =item Interpolation Traps
752 C<@> always interpolates an array in double-quotish strings, Double-quoted
753 strings may no longer end with an unescaped $, Arbitrary expressions are
754 evaluated inside braces within double quotes, C<$$x> now tries to
755 dereference $x, Creation of hashes on the fly with C<eval "EXPR"> requires
756 protection, Bugs in earlier perl versions, Array and hash brackets during
757 interpolation, Interpolation of C<\$$foo{bar}>, C<qq()> string passed to
758 C<eval> will not find string terminator
762 Perl5 must have been linked with same dbm/ndbm as the default for
763 C<dbmopen()>, DBM exceeding limit on the key/value size will cause perl5 to
766 =item Unclassified Traps
768 C<require>/C<do> trap using returned value, C<split> on empty string with
775 =head2 perldebtut - Perl debugging tutorial
783 =item Looking at data and -w and v
787 =item Stepping through code
789 =item Placeholder for a, w, t, T
791 =item REGULAR EXPRESSIONS
809 =head2 perlfaq - frequently asked questions about Perl ($Revision: 3606 $)
817 =item Where to get the perlfaq
819 =item How to contribute to the perlfaq
821 =item What will happen if you mail your Perl programming problems to the
828 =item AUTHOR AND COPYRIGHT
830 =item Table of Contents
832 perlfaq - this document, perlfaq1 - General Questions About Perl, perlfaq2
833 - Obtaining and Learning about Perl, perlfaq3 - Programming Tools, perlfaq4
834 - Data Manipulation, perlfaq5 - Files and Formats, perlfaq6 - Regular
835 Expressions, perlfaq7 - General Perl Language Issues, perlfaq8 - System
836 Interaction, perlfaq9 - Networking
842 =item L<perlfaq1>: General Questions About Perl
844 =item L<perlfaq2>: Obtaining and Learning about Perl
846 =item L<perlfaq3>: Programming Tools
848 =item L<perlfaq4>: Data Manipulation
850 =item L<perlfaq5>: Files and Formats
852 =item L<perlfaq6>: Regular Expressions
854 =item L<perlfaq7>: General Perl Language Issues
856 =item L<perlfaq8>: System Interaction
858 =item L<perlfaq9>: Networking
864 =head2 perlfaq1 - General Questions About Perl ($Revision: 3606 $)
874 =item Who supports Perl? Who develops it? Why is it free?
876 =item Which version of Perl should I use?
878 =item What are perl4, perl5, or perl6?
884 =item How stable is Perl?
886 =item Is Perl difficult to learn?
888 =item How does Perl compare with other languages like Java, Python, REXX,
891 =item Can I do [task] in Perl?
893 =item When shouldn't I program in Perl?
895 =item What's the difference between "perl" and "Perl"?
897 =item Is it a Perl program or a Perl script?
899 =item What is a JAPH?
901 =item Where can I get a list of Larry Wall witticisms?
903 =item How can I convince others to use Perl?
905 http://perltraining.com.au/whyperl.html,
906 http://www.perl.org/advocacy/whyperl.html
912 =item AUTHOR AND COPYRIGHT
916 =head2 perlfaq2 - Obtaining and Learning about Perl ($Revision: 3606 $)
924 =item What machines support perl? Where do I get it?
926 =item How can I get a binary version of perl?
928 =item I don't have a C compiler. How can I build my own Perl interpreter?
930 =item I copied the perl binary from one machine to another, but scripts
933 =item I grabbed the sources and tried to compile but gdbm/dynamic
934 loading/malloc/linking/... failed. How do I make it work?
936 =item What modules and extensions are available for Perl? What is CPAN?
937 What does CPAN/src/... mean?
939 =item Is there an ISO or ANSI certified version of Perl?
941 =item Where can I get information on Perl?
943 =item What are the Perl newsgroups on Usenet? Where do I post questions?
945 =item Where should I post source code?
949 References, Tutorials, Task-Oriented, Special Topics
951 =item Which magazines have Perl content?
953 =item What mailing lists are there for Perl?
955 =item Where are the archives for comp.lang.perl.misc?
957 =item Where can I buy a commercial version of perl?
959 =item Where do I send bug reports?
961 =item What is perl.com? Perl Mongers? pm.org? perl.org? cpan.org?
967 =item AUTHOR AND COPYRIGHT
971 =head2 perlfaq3 - Programming Tools ($Revision: 3606 $)
979 =item How do I do (anything)?
981 =item How can I use Perl interactively?
983 =item Is there a Perl shell?
985 =item How do I find which modules are installed on my system?
987 =item How do I debug my Perl programs?
989 =item How do I profile my Perl programs?
991 =item How do I cross-reference my Perl programs?
993 =item Is there a pretty-printer (formatter) for Perl?
995 =item Is there a ctags for Perl?
997 =item Is there an IDE or Windows Perl Editor?
999 Eclipse, Enginsite, Komodo, Open Perl IDE, OptiPerl, PerlBuilder,
1000 visiPerl+, Visual Perl, Zeus, GNU Emacs, MicroEMACS, XEmacs, Jed, Elvis,
1001 Vile, Vim, Codewright, MultiEdit, SlickEdit, Bash, Ksh, Tcsh, Zsh, Affrus,
1002 Alpha, BBEdit and BBEdit Lite
1004 =item Where can I get Perl macros for vi?
1006 =item Where can I get perl-mode for emacs?
1008 =item How can I use curses with Perl?
1010 =item How can I use X or Tk with Perl?
1012 =item How can I make my Perl program run faster?
1014 =item How can I make my Perl program take less memory?
1016 Don't slurp!, Use map and grep selectively, Avoid unnecessary quotes and
1017 stringification, Pass by reference, Tie large variables to disk
1019 =item Is it safe to return a reference to local or lexical data?
1021 =item How can I free an array or hash so my program shrinks?
1023 =item How can I make my CGI script more efficient?
1025 =item How can I hide the source for my Perl program?
1027 =item How can I compile my Perl program into byte code or C?
1029 =item How can I compile Perl into Java?
1031 =item How can I get C<#!perl> to work on [MS-DOS,NT,...]?
1033 =item Can I write useful Perl programs on the command line?
1035 =item Why don't Perl one-liners work on my DOS/Mac/VMS system?
1037 =item Where can I learn about CGI or Web programming in Perl?
1039 =item Where can I learn about object-oriented Perl programming?
1041 =item Where can I learn about linking C with Perl?
1043 =item I've read perlembed, perlguts, etc., but I can't embed perl in my C
1044 program; what am I doing wrong?
1046 =item When I tried to run my script, I got this message. What does it mean?
1048 =item What's MakeMaker?
1054 =item AUTHOR AND COPYRIGHT
1058 =head2 perlfaq4 - Data Manipulation ($Revision: 3606 $)
1068 =item Why am I getting long decimals (eg, 19.9499999999999) instead of the
1069 numbers I should be getting (eg, 19.95)?
1071 =item Why is int() broken?
1073 =item Why isn't my octal data interpreted correctly?
1075 =item Does Perl have a round() function? What about ceil() and floor()?
1078 =item How do I convert between numeric representations/bases/radixes?
1080 How do I convert hexadecimal into decimal, How do I convert from decimal to
1081 hexadecimal, How do I convert from octal to decimal, How do I convert from
1082 decimal to octal, How do I convert from binary to decimal, How do I convert
1083 from decimal to binary
1085 =item Why doesn't & work the way I want it to?
1087 =item How do I multiply matrices?
1089 =item How do I perform an operation on a series of integers?
1091 =item How can I output Roman numerals?
1093 =item Why aren't my random numbers random?
1095 =item How do I get a random number between X and Y?
1103 =item How do I find the day or week of the year?
1105 =item How do I find the current century or millennium?
1107 =item How can I compare two dates and find the difference?
1109 =item How can I take a string and turn it into epoch seconds?
1111 =item How can I find the Julian Day?
1113 =item How do I find yesterday's date?
1115 =item Does Perl have a Year 2000 problem? Is Perl Y2K compliant?
1123 =item How do I validate input?
1125 =item How do I unescape a string?
1127 =item How do I remove consecutive pairs of characters?
1129 =item How do I expand function calls in a string?
1131 =item How do I find matching/nesting anything?
1133 =item How do I reverse a string?
1135 =item How do I expand tabs in a string?
1137 =item How do I reformat a paragraph?
1139 =item How can I access or change N characters of a string?
1141 =item How do I change the Nth occurrence of something?
1143 =item How can I count the number of occurrences of a substring within a
1146 =item How do I capitalize all the words on one line?
1148 =item How can I split a [character] delimited string except when inside
1151 =item How do I strip blank space from the beginning/end of a string?
1153 =item How do I pad a string with blanks or pad a number with zeroes?
1155 =item How do I extract selected columns from a string?
1157 =item How do I find the soundex value of a string?
1159 =item How can I expand variables in text strings?
1161 =item What's wrong with always quoting "$vars"?
1163 =item Why don't my E<lt>E<lt>HERE documents work?
1165 There must be no space after the E<lt>E<lt> part, There (probably) should
1166 be a semicolon at the end, You can't (easily) have any space in front of
1175 =item What is the difference between a list and an array?
1177 =item What is the difference between $array[1] and @array[1]?
1179 =item How can I remove duplicate elements from a list or array?
1181 =item How can I tell whether a certain element is contained in a list or
1184 =item How do I compute the difference of two arrays? How do I compute the
1185 intersection of two arrays?
1187 =item How do I test whether two arrays or hashes are equal?
1189 =item How do I find the first array element for which a condition is true?
1191 =item How do I handle linked lists?
1193 =item How do I handle circular lists?
1195 =item How do I shuffle an array randomly?
1197 =item How do I process/modify each element of an array?
1199 =item How do I select a random element from an array?
1201 =item How do I permute N elements of a list?
1203 =item How do I sort an array by (anything)?
1205 =item How do I manipulate arrays of bits?
1207 =item Why does defined() return true on empty arrays and hashes?
1211 =item Data: Hashes (Associative Arrays)
1215 =item How do I process an entire hash?
1217 =item What happens if I add or remove keys from a hash while iterating over
1220 =item How do I look up a hash element by value?
1222 =item How can I know how many entries are in a hash?
1224 =item How do I sort a hash (optionally by value instead of key)?
1226 =item How can I always keep my hash sorted?
1228 =item What's the difference between "delete" and "undef" with hashes?
1230 =item Why don't my tied hashes make the defined/exists distinction?
1232 =item How do I reset an each() operation part-way through?
1234 =item How can I get the unique keys from two hashes?
1236 =item How can I store a multidimensional array in a DBM file?
1238 =item How can I make my hash remember the order I put elements into it?
1240 =item Why does passing a subroutine an undefined element in a hash create
1243 =item How can I make the Perl equivalent of a C structure/C++ class/hash or
1244 array of hashes or arrays?
1246 =item How can I use a reference as a hash key?
1254 =item How do I handle binary data correctly?
1256 =item How do I determine whether a scalar is a number/whole/integer/float?
1258 =item How do I keep persistent data across program calls?
1260 =item How do I print out or copy a recursive data structure?
1262 =item How do I define methods for every class/object?
1264 =item How do I verify a credit card checksum?
1266 =item How do I pack arrays of doubles or floats for XS code?
1272 =item AUTHOR AND COPYRIGHT
1276 =head2 perlfaq5 - Files and Formats ($Revision: 3606 $)
1284 =item How do I flush/unbuffer an output filehandle? Why must I do this?
1285 X<flush> X<buffer> X<unbuffer> X<autoflush>
1287 =item How do I change one line in a file/delete a line in a file/insert a
1288 line in the middle of a file/append to the beginning of a file?
1291 =item How do I count the number of lines in a file?
1292 X<file, counting lines> X<lines> X<line>
1294 =item How can I use Perl's C<-i> option from within a program?
1297 =item How can I copy a file?
1298 X<copy> X<file, copy>
1300 =item How do I make a temporary file name?
1303 =item How can I manipulate fixed-record-length files?
1304 X<fixed-length> X<file, fixed-length records>
1306 =item How can I make a filehandle local to a subroutine? How do I pass
1307 filehandles between subroutines? How do I make an array of filehandles?
1308 X<filehandle, local> X<filehandle, passing> X<filehandle, reference>
1310 =item How can I use a filehandle indirectly?
1311 X<filehandle, indirect>
1313 =item How can I set up a footer format to be used with write()?
1316 =item How can I write() into a string?
1317 X<write, into a string>
1319 =item How can I output my numbers with commas added?
1322 =item How can I translate tildes (~) in a filename?
1323 X<tilde> X<tilde expansion>
1325 =item How come when I open a file read-write it wipes it out?
1326 X<clobber> X<read-write> X<clobbering> X<truncate> X<truncating>
1328 =item Why do I sometimes get an "Argument list too long" when I use
1330 X<argument list too long>
1332 =item Is there a leak/bug in glob()?
1335 =item How can I open a file with a leading ">" or trailing blanks?
1336 X<filename, special characters>
1338 =item How can I reliably rename a file?
1339 X<rename> X<mv> X<move> X<file, rename> X<ren>
1341 =item How can I lock a file?
1342 X<lock> X<file, lock> X<flock>
1344 =item Why can't I just open(FH, "E<gt>file.lock")?
1345 X<lock, lockfile race condition>
1347 =item I still don't get locking. I just want to increment the number in
1348 the file. How can I do this?
1349 X<counter> X<file, counter>
1351 =item All I want to do is append a small amount of text to the end of a
1352 file. Do I still have to use locking?
1353 X<append> X<file, append>
1355 =item How do I randomly update a binary file?
1356 X<file, binary patch>
1358 =item How do I get a file's timestamp in perl?
1359 X<timestamp> X<file, timestamp>
1361 =item How do I set a file's timestamp in perl?
1362 X<timestamp> X<file, timestamp>
1364 =item How do I print to more than one file at once?
1365 X<print, to multiple files>
1367 =item How can I read in an entire file all at once?
1368 X<slurp> X<file, slurping>
1370 =item How can I read in a file by paragraphs?
1371 X<file, reading by paragraphs>
1373 =item How can I read a single character from a file? From the keyboard?
1374 X<getc> X<file, reading one character at a time>
1376 =item How can I tell whether there's a character waiting on a filehandle?
1378 =item How do I do a C<tail -f> in perl?
1381 =item How do I dup() a filehandle in Perl?
1384 =item How do I close a file descriptor by number?
1385 X<file, closing file descriptors>
1387 =item Why can't I use "C:\temp\foo" in DOS paths? Why doesn't
1388 `C:\temp\foo.exe` work?
1389 X<filename, DOS issues>
1391 =item Why doesn't glob("*.*") get all the files?
1394 =item Why does Perl let me delete read-only files? Why does C<-i> clobber
1395 protected files? Isn't this a bug in Perl?
1397 =item How do I select a random line from a file?
1398 X<file, selecting a random line>
1400 =item Why do I get weird spaces when I print an array of lines?
1406 =item AUTHOR AND COPYRIGHT
1410 =head2 perlfaq6 - Regular Expressions ($Revision: 3606 $)
1418 =item How can I hope to use regular expressions without creating illegible
1419 and unmaintainable code?
1420 X<regex, legibility> X<regexp, legibility>
1421 X<regular expression, legibility> X</x>
1423 Comments Outside the Regex, Comments Inside the Regex, Different Delimiters
1425 =item I'm having trouble matching over more than one line. What's wrong?
1426 X<regex, multiline> X<regexp, multiline> X<regular expression, multiline>
1428 =item How can I pull out lines between two patterns that are themselves on
1432 =item I put a regular expression into $/ but it didn't work. What's wrong?
1433 X<$/, regexes in> X<$INPUT_RECORD_SEPARATOR, regexes in>
1436 =item How do I substitute case insensitively on the LHS while preserving
1438 X<replace, case preserving> X<substitute, case preserving>
1439 X<substitution, case preserving> X<s, case preserving>
1441 =item How can I make C<\w> match national character sets?
1444 =item How can I match a locale-smart version of C</[a-zA-Z]/>?
1447 =item How can I quote a variable to use in a regex?
1448 X<regex, escaping> X<regexp, escaping> X<regular expression, escaping>
1450 =item What is C</o> really for?
1453 =item How do I use a regular expression to strip C style comments from a
1456 =item Can I use Perl regular expressions to match balanced text?
1457 X<regex, matching balanced test> X<regexp, matching balanced test>
1458 X<regular expression, matching balanced test>
1460 =item What does it mean that regexes are greedy? How can I get around it?
1461 X<greedy> X<greediness>
1463 =item How do I process each word on each line?
1466 =item How can I print out a word-frequency or line-frequency summary?
1468 =item How can I do approximate matching?
1469 X<match, approximate> X<matching, approximate>
1471 =item How do I efficiently match many regular expressions at once?
1472 X<regex, efficiency> X<regexp, efficiency>
1473 X<regular expression, efficiency>
1475 =item Why don't word-boundary searches with C<\b> work for me?
1478 =item Why does using $&, $`, or $' slow my program down?
1479 X<$MATCH> X<$&> X<$POSTMATCH> X<$'> X<$PREMATCH> X<$`>
1481 =item What good is C<\G> in a regular expression?
1484 =item Are Perl regexes DFAs or NFAs? Are they POSIX compliant?
1485 X<DFA> X<NFA> X<POSIX>
1487 =item What's wrong with using grep in a void context?
1490 =item How can I match strings with multibyte characters?
1491 X<regex, and multibyte characters> X<regexp, and multibyte characters>
1492 X<regular expression, and multibyte characters>
1494 =item How do I match a pattern that is supplied by the user?
1500 =item AUTHOR AND COPYRIGHT
1504 =head2 perlfaq7 - General Perl Language Issues ($Revision: 3606 $)
1512 =item Can I get a BNF/yacc/RE for the Perl language?
1514 =item What are all these $@%&* punctuation signs, and how do I know when to
1517 =item Do I always/never have to quote my strings or use semicolons and
1520 =item How do I skip some return values?
1522 =item How do I temporarily block warnings?
1524 =item What's an extension?
1526 =item Why do Perl operators have different precedence than C operators?
1528 =item How do I declare/create a structure?
1530 =item How do I create a module?
1532 =item How do I create a class?
1534 =item How can I tell if a variable is tainted?
1536 =item What's a closure?
1538 =item What is variable suicide and how can I prevent it?
1540 =item How can I pass/return a {Function, FileHandle, Array, Hash, Method,
1543 Passing Variables and Functions, Passing Filehandles, Passing Regexes,
1546 =item How do I create a static variable?
1548 =item What's the difference between dynamic and lexical (static) scoping?
1549 Between local() and my()?
1551 =item How can I access a dynamic variable while a similarly named lexical
1554 =item What's the difference between deep and shallow binding?
1556 =item Why doesn't "my($foo) = E<lt>FILEE<gt>;" work right?
1558 =item How do I redefine a builtin function, operator, or method?
1560 =item What's the difference between calling a function as &foo and foo()?
1562 =item How do I create a switch or case statement?
1564 =item How can I catch accesses to undefined variables, functions, or
1567 =item Why can't a method included in this same file be found?
1569 =item How can I find out my current package?
1571 =item How can I comment out a large block of perl code?
1573 =item How do I clear a package?
1575 =item How can I use a variable as a variable name?
1577 =item What does "bad interpreter" mean?
1583 =item AUTHOR AND COPYRIGHT
1587 =head2 perlfaq8 - System Interaction ($Revision: 3606 $)
1595 =item How do I find out which operating system I'm running under?
1597 =item How come exec() doesn't return?
1599 =item How do I do fancy stuff with the keyboard/screen/mouse?
1601 Keyboard, Screen, Mouse
1603 =item How do I print something out in color?
1605 =item How do I read just one key without waiting for a return key?
1607 =item How do I check whether input is ready on the keyboard?
1609 =item How do I clear the screen?
1611 =item How do I get the screen size?
1613 =item How do I ask the user for a password?
1615 =item How do I read and write the serial port?
1617 lockfiles, open mode, end of line, flushing output, non-blocking input
1619 =item How do I decode encrypted password files?
1621 =item How do I start a process in the background?
1623 STDIN, STDOUT, and STDERR are shared, Signals, Zombies
1625 =item How do I trap control characters/signals?
1627 =item How do I modify the shadow password file on a Unix system?
1629 =item How do I set the time and date?
1631 =item How can I sleep() or alarm() for under a second?
1633 =item How can I measure time under a second?
1635 =item How can I do an atexit() or setjmp()/longjmp()? (Exception handling)
1637 =item Why doesn't my sockets program work under System V (Solaris)? What
1638 does the error message "Protocol not supported" mean?
1640 =item How can I call my system's unique C functions from Perl?
1642 =item Where do I get the include files to do ioctl() or syscall()?
1644 =item Why do setuid perl scripts complain about kernel problems?
1646 =item How can I open a pipe both to and from a command?
1648 =item Why can't I get the output of a command with system()?
1650 =item How can I capture STDERR from an external command?
1652 =item Why doesn't open() return an error when a pipe open fails?
1654 =item What's wrong with using backticks in a void context?
1656 =item How can I call backticks without shell processing?
1658 =item Why can't my script read from STDIN after I gave it EOF (^D on Unix,
1661 =item How can I convert my shell script to perl?
1663 =item Can I use perl to run a telnet or ftp session?
1665 =item How can I write expect in Perl?
1667 =item Is there a way to hide perl's command line from programs such as
1670 =item I {changed directory, modified my environment} in a perl script. How
1671 come the change disappeared when I exited the script? How do I get my
1672 changes to be visible?
1676 =item How do I close a process's filehandle without waiting for it to
1679 =item How do I fork a daemon process?
1681 =item How do I find out if I'm running interactively or not?
1683 =item How do I timeout a slow event?
1685 =item How do I set CPU limits?
1687 =item How do I avoid zombies on a Unix system?
1689 =item How do I use an SQL database?
1691 =item How do I make a system() exit on control-C?
1693 =item How do I open a file without blocking?
1695 =item How do I tell the difference between errors from the shell and perl?
1697 =item How do I install a module from CPAN?
1699 =item What's the difference between require and use?
1701 =item How do I keep my own module/library directory?
1703 =item How do I add the directory my program lives in to the module/library
1706 =item How do I add a directory to my include path (@INC) at runtime?
1708 =item What is socket.ph and where do I get it?
1714 =item AUTHOR AND COPYRIGHT
1718 =head2 perlfaq9 - Networking ($Revision: 3606 $)
1726 =item What is the correct form of response from a CGI script?
1728 =item My CGI script runs from the command line but not the browser. (500
1731 =item How can I get better error messages from a CGI program?
1733 =item How do I remove HTML from a string?
1735 =item How do I extract URLs?
1737 =item How do I download a file from the user's machine? How do I open a
1738 file on another machine?
1740 =item How do I make a pop-up menu in HTML?
1742 =item How do I fetch an HTML file?
1744 =item How do I automate an HTML form submission?
1746 =item How do I decode or create those %-encodings on the web?
1748 =item How do I redirect to another page?
1750 =item How do I put a password on my web pages?
1752 =item How do I edit my .htpasswd and .htgroup files with Perl?
1754 =item How do I make sure users can't enter values into a form that cause my
1755 CGI script to do bad things?
1757 =item How do I parse a mail header?
1759 =item How do I decode a CGI form?
1761 =item How do I check a valid mail address?
1763 =item How do I decode a MIME/BASE64 string?
1765 =item How do I return the user's mail address?
1767 =item How do I send mail?
1769 =item How do I use MIME to make an attachment to a mail message?
1771 =item How do I read mail?
1773 =item How do I find out my hostname, domainname, or IP address?
1774 X<hostname, domainname, IP address, host, domain, hostfqdn, inet_ntoa,
1775 gethostbyname, Socket, Net::Domain, Sys::Hostname>
1777 =item How do I fetch a news article or the active newsgroups?
1779 =item How do I fetch/put an FTP file?
1781 =item How can I do RPC in Perl?
1787 =item AUTHOR AND COPYRIGHT
1791 =head2 perlsyn - Perl syntax
1800 X<declaration> X<undef> X<undefined> X<uninitialized>
1805 =item Simple Statements
1806 X<statement> X<semicolon> X<expression> X<;>
1808 =item Truth and Falsehood
1809 X<truth> X<falsehood> X<true> X<false> X<!> X<not> X<negation> X<0>
1811 =item Statement Modifiers
1812 X<statement modifier> X<modifier> X<if> X<unless> X<while>
1813 X<until> X<foreach> X<for>
1815 =item Compound Statements
1816 X<statement, compound> X<block> X<bracket, curly> X<curly bracket> X<brace>
1817 X<{> X<}> X<if> X<unless> X<while> X<until> X<foreach> X<for> X<continue>
1820 X<loop control> X<loop, control> X<next> X<last> X<redo> X<continue>
1831 =item Switch statements
1832 X<switch> X<case> X<given> X<when> X<default>
1839 =item PODs: Embedded Documentation
1840 X<POD> X<documentation>
1842 =item Plain Old Comments (Not!)
1843 X<comment> X<line> X<#> X<preprocessor> X<eval>
1849 =head2 perldata - Perl data types
1857 =item Variable names
1858 X<variable, name> X<variable name> X<data type> X<type>
1861 X<context> X<scalar context> X<list context>
1864 X<scalar> X<number> X<string> X<reference>
1866 =item Scalar value constructors
1867 X<scalar, literal> X<scalar, constant>
1869 =item List value constructors
1875 X<slice> X<array, slice> X<hash, slice>
1877 =item Typeglobs and Filehandles
1878 X<typeglob> X<filehandle> X<*>
1886 =head2 perlop - Perl operators and precedence
1894 =item Operator Precedence and Associativity
1895 X<operator, precedence> X<precedence> X<associativity>
1897 =item Terms and List Operators (Leftward)
1898 X<list operator> X<operator, list> X<term>
1900 =item The Arrow Operator
1901 X<arrow> X<dereference> X<< -> >>
1903 =item Auto-increment and Auto-decrement
1904 X<increment> X<auto-increment> X<++> X<decrement> X<auto-decrement> X<-->
1906 =item Exponentiation
1907 X<**> X<exponentiation> X<power>
1909 =item Symbolic Unary Operators
1910 X<unary operator> X<operator, unary>
1912 =item Binding Operators
1913 X<binding> X<operator, binding> X<=~> X<!~>
1915 =item Multiplicative Operators
1916 X<operator, multiplicative>
1918 =item Additive Operators
1919 X<operator, additive>
1921 =item Shift Operators
1922 X<shift operator> X<operator, shift> X<<< << >>>
1923 X<<< >> >>> X<right shift> X<left shift> X<bitwise shift>
1924 X<shl> X<shr> X<shift, right> X<shift, left>
1926 =item Named Unary Operators
1927 X<operator, named unary>
1929 =item Relational Operators
1930 X<relational operator> X<operator, relational>
1932 =item Equality Operators
1933 X<equality> X<equal> X<equals> X<operator, equality>
1936 X<operator, bitwise, and> X<bitwise and> X<&>
1938 =item Bitwise Or and Exclusive Or
1939 X<operator, bitwise, or> X<bitwise or> X<|> X<operator, bitwise, xor>
1942 =item C-style Logical And
1943 X<&&> X<logical and> X<operator, logical, and>
1945 =item C-style Logical Or
1946 X<||> X<operator, logical, or>
1948 =item C-style Logical Defined-Or
1949 X<//> X<operator, logical, defined-or>
1951 =item Range Operators
1952 X<operator, range> X<range> X<..> X<...>
1954 =item Conditional Operator
1955 X<operator, conditional> X<operator, ternary> X<ternary> X<?:>
1957 =item Assignment Operators
1958 X<assignment> X<operator, assignment> X<=> X<**=> X<+=> X<*=> X<&=>
1959 X<<< <<= >>> X<&&=> X<-=> X</=> X<|=> X<<< >>= >>> X<||=> X<//=> X<.=>
1962 =item Comma Operator
1963 X<comma> X<operator, comma> X<,>
1965 =item List Operators (Rightward)
1966 X<operator, list, rightward> X<list operator>
1969 X<operator, logical, not> X<not>
1972 X<operator, logical, and> X<and>
1974 =item Logical or, Defined or, and Exclusive Or
1975 X<operator, logical, or> X<operator, logical, xor> X<operator, logical,
1977 X<operator, logical, defined or> X<operator, logical, exclusive or>
1980 =item C Operators Missing From Perl
1981 X<operator, missing from perl> X<&> X<*>
1982 X<typecasting> X<(TYPE)>
1984 unary &, unary *, (TYPE)
1986 =item Quote and Quote-like Operators
1987 X<operator, quote> X<operator, quote-like> X<q> X<qq> X<qx> X<qw> X<m>
1988 X<qr> X<s> X<tr> X<'> X<''> X<"> X<""> X<//> X<`> X<``> X<<< << >>>
1989 X<escape sequence> X<escape>
1991 =item Regexp Quote-Like Operators
1994 ?PATTERN? X<?>, m/PATTERN/cgimosx X<m> X<operator, match> X<regexp,
1995 options> X<regexp> X<regex, options> X<regex> X</c> X</i> X</m> X</o>
1996 X</s> X</x>, /PATTERN/cgimosx, q/STRING/ X<q> X<quote, double> X<'> X<''>,
1997 C<'STRING'>, qq/STRING/ X<qq> X<quote, double> X<"> X<"">, "STRING",
1998 qr/STRING/imosx X<qr> X</i> X</m> X</o> X</s> X</x>, qx/STRING/ X<qx> X<`>
1999 X<``> X<backtick>, `STRING`, qw/STRING/ X<qw> X<quote, list> X<quote,
2000 words>, s/PATTERN/REPLACEMENT/egimosx X<substitute> X<substitution>
2001 X<replace> X<regexp, replace> X<regexp, substitute> X</e> X</g> X</i> X</m>
2002 X</o> X</s> X</x>, tr/SEARCHLIST/REPLACEMENTLIST/cds X<tr> X<y>
2003 X<transliterate> X</c> X</d> X</s>, y/SEARCHLIST/REPLACEMENTLIST/cds, <<EOF
2004 X<here-doc> X<heredoc> X<here-document> X<<< << >>>
2006 =item Gory details of parsing quoted constructs
2007 X<quote, gory details>
2009 Finding the end, Removal of backslashes before delimiters, Interpolation
2010 X<interpolation>, C<<<'EOF'>, C<m''>, C<s'''>, C<tr///>, C<y///>, C<''>,
2011 C<q//>, C<"">, C<``>, C<qq//>, C<qx//>, C<< <file*glob> >>, C<?RE?>,
2012 C</RE/>, C<m/RE/>, C<s/RE/foo/>,, Interpolation of regular expressions
2013 X<regexp, interpolation>, Optimization of regular expressions X<regexp,
2017 X<operator, i/o> X<operator, io> X<io> X<while> X<filehandle>
2020 =item Constant Folding
2021 X<constant folding> X<folding>
2026 =item Bitwise String Operators
2027 X<operator, bitwise, string>
2029 =item Integer Arithmetic
2032 =item Floating-point Arithmetic
2033 X<floating-point> X<floating point> X<float> X<real>
2035 =item Bigger Numbers
2036 X<number, arbitrary precision>
2042 =head2 perlsub - Perl subroutines
2052 =item Private Variables via my()
2053 X<my> X<variable, lexical> X<lexical> X<lexical variable> X<scope, lexical>
2054 X<lexical scope> X<attributes, my>
2056 =item Persistent Private Variables
2057 X<static> X<variable, persistent> X<variable, static> X<closure>
2059 =item Temporary Values via local()
2060 X<local> X<scope, dynamic> X<dynamic scope> X<variable, local>
2061 X<variable, temporary>
2063 =item Lvalue subroutines
2064 X<lvalue> X<subroutine, lvalue>
2066 Lvalue subroutines are EXPERIMENTAL
2068 =item Passing Symbol Table Entries (typeglobs)
2071 =item When to Still Use local()
2072 X<local> X<variable, local>
2074 =item Pass by Reference
2075 X<pass by reference> X<pass-by-reference> X<reference>
2078 X<prototype> X<subroutine, prototype>
2080 =item Constant Functions
2083 =item Overriding Built-in Functions
2084 X<built-in> X<override> X<CORE> X<CORE::GLOBAL>
2087 X<autoloading> X<AUTOLOAD>
2089 =item Subroutine Attributes
2090 X<attribute> X<subroutine, attribute> X<attrs>
2098 =head2 perlfunc - Perl builtin functions
2106 =item Perl Functions by Category
2109 Functions for SCALARs or strings X<scalar> X<string> X<character>, Regular
2110 expressions and pattern matching X<regular expression> X<regex> X<regexp>,
2111 Numeric functions X<numeric> X<number> X<trigonometric> X<trigonometry>,
2112 Functions for real @ARRAYs X<array>, Functions for list data X<list>,
2113 Functions for real %HASHes X<hash>, Input and output functions X<I/O>
2114 X<input> X<output> X<dbm>, Functions for fixed length data or records,
2115 Functions for filehandles, files, or directories X<file> X<filehandle>
2116 X<directory> X<pipe> X<link> X<symlink>, Keywords related to the control
2117 flow of your Perl program X<control flow>, Keywords related to switch,
2118 Keywords related to scoping, Miscellaneous functions, Functions for
2119 processes and process groups X<process> X<pid> X<process id>, Keywords
2120 related to perl modules X<module>, Keywords related to classes and
2121 object-orientedness X<object> X<class> X<package>, Low-level socket
2122 functions X<socket> X<sock>, System V interprocess communication functions
2123 X<IPC> X<System V> X<semaphore> X<shared memory> X<memory> X<message>,
2124 Fetching user and group info X<user> X<group> X<password> X<uid> X<gid>
2125 X<passwd> X</etc/passwd>, Fetching network info X<network> X<protocol>
2126 X<host> X<hostname> X<IP> X<address> X<service>, Time-related functions
2127 X<time> X<date>, Functions new in perl5 X<perl5>, Functions obsoleted in
2131 X<portability> X<Unix> X<portable>
2133 =item Alphabetical Listing of Perl Functions
2136 X<-r>X<-w>X<-x>X<-o>X<-R>X<-W>X<-X>X<-O>X<-e>X<-z>X<-s>X<-f>X<-d>X<-l>X<-p>
2137 X<-S>X<-b>X<-c>X<-t>X<-u>X<-g>X<-k>X<-T>X<-B>X<-M>X<-A>X<-C>, -I<X> EXPR,
2138 -I<X>, abs VALUE X<abs> X<absolute>, abs, accept NEWSOCKET,GENERICSOCKET
2139 X<accept>, alarm SECONDS X<alarm> X<SIGALRM> X<timer>, alarm, atan2 Y,X
2140 X<atan2> X<arctangent> X<tan> X<tangent>, bind SOCKET,NAME X<bind>, binmode
2141 FILEHANDLE, LAYER X<binmode> X<binary> X<text> X<DOS> X<Windows>, binmode
2142 FILEHANDLE, bless REF,CLASSNAME X<bless>, bless REF, break, caller EXPR
2143 X<caller> X<call stack> X<stack> X<stack trace>, caller, chdir EXPR
2144 X<chdir> X<cd>, chdir FILEHANDLE, chdir DIRHANDLE, chdir, chmod LIST
2145 X<chmod> X<permission> X<mode>, chomp VARIABLE X<chomp>
2146 X<INPUT_RECORD_SEPARATOR> X<$/> X<newline> X<eol>, chomp( LIST ), chomp,
2147 chop VARIABLE X<chop>, chop( LIST ), chop, chown LIST X<chown> X<owner>
2148 X<user> X<group>, chr NUMBER X<chr> X<character> X<ASCII> X<Unicode>, chr,
2149 chroot FILENAME X<chroot> X<root>, chroot, close FILEHANDLE X<close>,
2150 close, closedir DIRHANDLE X<closedir>, connect SOCKET,NAME X<connect>,
2151 continue BLOCK X<continue>, continue, cos EXPR X<cos> X<cosine> X<acos>
2152 X<arccosine>, cos, crypt PLAINTEXT,SALT X<crypt> X<digest> X<hash> X<salt>
2153 X<plaintext> X<password> X<decrypt> X<cryptography> X<passwd>, dbmclose
2154 HASH X<dbmclose>, dbmopen HASH,DBNAME,MASK X<dbmopen> X<dbm> X<ndbm>
2155 X<sdbm> X<gdbm>, defined EXPR X<defined> X<undef> X<undefined>, defined,
2156 delete EXPR X<delete>, die LIST X<die> X<throw> X<exception> X<raise> X<$@>
2157 X<abort>, do BLOCK X<do> X<block>, do SUBROUTINE(LIST) X<do>, do EXPR
2158 X<do>, dump LABEL X<dump> X<core> X<undump>, dump, each HASH X<each>
2159 X<hash, iterator>, eof FILEHANDLE X<eof> X<end of file> X<end-of-file>, eof
2160 (), eof, eval EXPR X<eval> X<try> X<catch> X<evaluate> X<parse> X<execute>,
2161 eval BLOCK, eval, exec LIST X<exec> X<execute>, exec PROGRAM LIST, exists
2162 EXPR X<exists> X<autovivification>, exit EXPR X<exit> X<terminate>
2163 X<abort>, exit, exp EXPR X<exp> X<exponential> X<antilog> X<antilogarithm>
2164 X<e>, exp, fcntl FILEHANDLE,FUNCTION,SCALAR X<fcntl>, fileno FILEHANDLE
2165 X<fileno>, flock FILEHANDLE,OPERATION X<flock> X<lock> X<locking>, fork
2166 X<fork> X<child> X<parent>, format X<format>, formline PICTURE,LIST
2167 X<formline>, getc FILEHANDLE X<getc> X<getchar>, getc, getlogin X<getlogin>
2168 X<login>, getpeername SOCKET X<getpeername> X<peer>, getpgrp PID X<getpgrp>
2169 X<group>, getppid X<getppid> X<parent> X<pid>, getpriority WHICH,WHO
2170 X<getpriority> X<priority> X<nice>, getpwnam NAME X<getpwnam> X<getgrnam>
2171 X<gethostbyname> X<getnetbyname> X<getprotobyname> X<getpwuid> X<getgrgid>
2172 X<getservbyname> X<gethostbyaddr> X<getnetbyaddr> X<getprotobynumber>
2173 X<getservbyport> X<getpwent> X<getgrent> X<gethostent> X<getnetent>
2174 X<getprotoent> X<getservent> X<setpwent> X<setgrent> X<sethostent>
2175 X<setnetent> X<setprotoent> X<setservent> X<endpwent> X<endgrent>
2176 X<endhostent> X<endnetent> X<endprotoent> X<endservent>, getgrnam NAME,
2177 gethostbyname NAME, getnetbyname NAME, getprotobyname NAME, getpwuid UID,
2178 getgrgid GID, getservbyname NAME,PROTO, gethostbyaddr ADDR,ADDRTYPE,
2179 getnetbyaddr ADDR,ADDRTYPE, getprotobynumber NUMBER, getservbyport
2180 PORT,PROTO, getpwent, getgrent, gethostent, getnetent, getprotoent,
2181 getservent, setpwent, setgrent, sethostent STAYOPEN, setnetent STAYOPEN,
2182 setprotoent STAYOPEN, setservent STAYOPEN, endpwent, endgrent, endhostent,
2183 endnetent, endprotoent, endservent, getsockname SOCKET X<getsockname>,
2184 getsockopt SOCKET,LEVEL,OPTNAME X<getsockopt>, glob EXPR X<glob>
2185 X<wildcard> X<filename, expansion> X<expand>, glob, gmtime EXPR X<gmtime>
2186 X<UTC> X<Greenwich>, gmtime, goto LABEL X<goto> X<jump> X<jmp>, goto EXPR,
2187 goto &NAME, grep BLOCK LIST X<grep>, grep EXPR,LIST, hex EXPR X<hex>
2188 X<hexadecimal>, hex, import LIST X<import>, index STR,SUBSTR,POSITION
2189 X<index> X<indexOf> X<InStr>, index STR,SUBSTR, int EXPR X<int> X<integer>
2190 X<truncate> X<trunc>, int, ioctl FILEHANDLE,FUNCTION,SCALAR X<ioctl>, join
2191 EXPR,LIST X<join>, keys HASH X<keys> X<key>, kill SIGNAL, LIST X<kill>
2192 X<signal>, last LABEL X<last> X<break>, last, lc EXPR X<lc> X<lowercase>,
2193 lc, lcfirst EXPR X<lcfirst> X<lowercase>, lcfirst, length EXPR X<length>
2194 X<size>, length, link OLDFILE,NEWFILE X<link>, listen SOCKET,QUEUESIZE
2195 X<listen>, local EXPR X<local>, localtime EXPR X<localtime>, localtime,
2196 lock THING X<lock>, log EXPR X<log> X<logarithm> X<e> X<ln> X<base>, log,
2197 lstat EXPR X<lstat>, lstat, m//, map BLOCK LIST X<map>, map EXPR,LIST,
2198 mkdir FILENAME,MASK X<mkdir> X<md> X<directory, create>, mkdir FILENAME,
2199 mkdir, msgctl ID,CMD,ARG X<msgctl>, msgget KEY,FLAGS X<msgget>, msgrcv
2200 ID,VAR,SIZE,TYPE,FLAGS X<msgrcv>, msgsnd ID,MSG,FLAGS X<msgsnd>, my EXPR
2201 X<my>, my TYPE EXPR, my EXPR : ATTRS, my TYPE EXPR : ATTRS, next LABEL
2202 X<next> X<continue>, next, no Module VERSION LIST X<no>, no Module VERSION,
2203 no Module LIST, no Module, oct EXPR X<oct> X<octal> X<hex> X<hexadecimal>
2204 X<binary> X<bin>, oct, open FILEHANDLE,EXPR X<open> X<pipe> X<file, open>
2205 X<fopen>, open FILEHANDLE,MODE,EXPR, open FILEHANDLE,MODE,EXPR,LIST, open
2206 FILEHANDLE,MODE,REFERENCE, open FILEHANDLE, opendir DIRHANDLE,EXPR
2207 X<opendir>, ord EXPR X<ord> X<encoding>, ord, our EXPR X<our> X<global>,
2208 our EXPR TYPE, our EXPR : ATTRS, our TYPE EXPR : ATTRS, pack TEMPLATE,LIST
2209 X<pack>, package NAMESPACE X<package> X<module> X<namespace>, package, pipe
2210 READHANDLE,WRITEHANDLE X<pipe>, pop ARRAY X<pop> X<stack>, pop, pos SCALAR
2211 X<pos> X<match, position>, pos, print FILEHANDLE LIST X<print>, print LIST,
2212 print, printf FILEHANDLE FORMAT, LIST X<printf>, printf FORMAT, LIST,
2213 prototype FUNCTION X<prototype>, push ARRAY,LIST X<push>, X<stack>,
2214 q/STRING/, qq/STRING/, qr/STRING/, qx/STRING/, qw/STRING/, quotemeta EXPR
2215 X<quotemeta> X<metacharacter>, quotemeta, rand EXPR X<rand> X<random>,
2216 rand, read FILEHANDLE,SCALAR,LENGTH,OFFSET X<read>, read
2217 FILEHANDLE,SCALAR,LENGTH, readdir DIRHANDLE X<readdir>, readline EXPR
2218 X<readline> X<gets> X<fgets>, readlink EXPR X<readlink>, readlink, readpipe
2219 EXPR X<readpipe>, recv SOCKET,SCALAR,LENGTH,FLAGS X<recv>, redo LABEL
2220 X<redo>, redo, ref EXPR X<ref> X<reference>, ref, rename OLDNAME,NEWNAME
2221 X<rename> X<move> X<mv> X<ren>, require VERSION X<require>, require EXPR,
2222 require, reset EXPR X<reset>, reset, return EXPR X<return>, return, reverse
2223 LIST X<reverse> X<rev> X<invert>, rewinddir DIRHANDLE X<rewinddir>, rindex
2224 STR,SUBSTR,POSITION X<rindex>, rindex STR,SUBSTR, rmdir FILENAME X<rmdir>
2225 X<rd> X<directory, remove>, rmdir, s///, say FILEHANDLE LIST X<say>, say
2226 LIST, say, scalar EXPR X<scalar> X<context>, seek
2227 FILEHANDLE,POSITION,WHENCE X<seek> X<fseek> X<filehandle, position>,
2228 seekdir DIRHANDLE,POS X<seekdir>, select FILEHANDLE X<select> X<filehandle,
2229 default>, select, select RBITS,WBITS,EBITS,TIMEOUT X<select>, semctl
2230 ID,SEMNUM,CMD,ARG X<semctl>, semget KEY,NSEMS,FLAGS X<semget>, semop
2231 KEY,OPSTRING X<semop>, send SOCKET,MSG,FLAGS,TO X<send>, send
2232 SOCKET,MSG,FLAGS, setpgrp PID,PGRP X<setpgrp> X<group>, setpriority
2233 WHICH,WHO,PRIORITY X<setpriority> X<priority> X<nice> X<renice>, setsockopt
2234 SOCKET,LEVEL,OPTNAME,OPTVAL X<setsockopt>, shift ARRAY X<shift>, shift,
2235 shmctl ID,CMD,ARG X<shmctl>, shmget KEY,SIZE,FLAGS X<shmget>, shmread
2236 ID,VAR,POS,SIZE X<shmread> X<shmwrite>, shmwrite ID,STRING,POS,SIZE,
2237 shutdown SOCKET,HOW X<shutdown>, sin EXPR X<sin> X<sine> X<asin>
2238 X<arcsine>, sin, sleep EXPR X<sleep> X<pause>, sleep, socket
2239 SOCKET,DOMAIN,TYPE,PROTOCOL X<socket>, socketpair
2240 SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL X<socketpair>, sort SUBNAME LIST
2241 X<sort> X<qsort> X<quicksort> X<mergesort>, sort BLOCK LIST, sort LIST,
2242 splice ARRAY,OFFSET,LENGTH,LIST X<splice>, splice ARRAY,OFFSET,LENGTH,
2243 splice ARRAY,OFFSET, splice ARRAY, split /PATTERN/,EXPR,LIMIT X<split>,
2244 split /PATTERN/,EXPR, split /PATTERN/, split, sprintf FORMAT, LIST
2245 X<sprintf>, format parameter index, flags, vector flag, (minimum) width,
2246 precision, or maximum width X<precision>, size, order of arguments, sqrt
2247 EXPR X<sqrt> X<root> X<square root>, sqrt, srand EXPR X<srand> X<seed>
2248 X<randseed>, srand, stat FILEHANDLE X<stat> X<file, status>, stat EXPR,
2249 stat, study SCALAR X<study>, study, sub NAME BLOCK X<sub>, sub NAME (PROTO)
2250 BLOCK, sub NAME : ATTRS BLOCK, sub NAME (PROTO) : ATTRS BLOCK, substr
2251 EXPR,OFFSET,LENGTH,REPLACEMENT X<substr> X<substring> X<mid> X<left>
2252 X<right>, substr EXPR,OFFSET,LENGTH, substr EXPR,OFFSET, symlink
2253 OLDFILE,NEWFILE X<symlink> X<link> X<symbolic link> X<link, symbolic>,
2254 syscall NUMBER, LIST X<syscall> X<system call>, sysopen
2255 FILEHANDLE,FILENAME,MODE X<sysopen>, sysopen
2256 FILEHANDLE,FILENAME,MODE,PERMS, sysread FILEHANDLE,SCALAR,LENGTH,OFFSET
2257 X<sysread>, sysread FILEHANDLE,SCALAR,LENGTH, sysseek
2258 FILEHANDLE,POSITION,WHENCE X<sysseek> X<lseek>, system LIST X<system>
2259 X<shell>, system PROGRAM LIST, syswrite FILEHANDLE,SCALAR,LENGTH,OFFSET
2260 X<syswrite>, syswrite FILEHANDLE,SCALAR,LENGTH, syswrite FILEHANDLE,SCALAR,
2261 tell FILEHANDLE X<tell>, tell, telldir DIRHANDLE X<telldir>, tie
2262 VARIABLE,CLASSNAME,LIST X<tie>, tied VARIABLE X<tied>, time X<time>
2263 X<epoch>, times X<times>, tr///, truncate FILEHANDLE,LENGTH X<truncate>,
2264 truncate EXPR,LENGTH, uc EXPR X<uc> X<uppercase> X<toupper>, uc, ucfirst
2265 EXPR X<ucfirst> X<uppercase>, ucfirst, umask EXPR X<umask>, umask, undef
2266 EXPR X<undef> X<undefine>, undef, unlink LIST X<unlink> X<delete> X<remove>
2267 X<rm>, unlink, unpack TEMPLATE,EXPR X<unpack>, unpack TEMPLATE, untie
2268 VARIABLE X<untie>, unshift ARRAY,LIST X<unshift>, use Module VERSION LIST
2269 X<use> X<module> X<import>, use Module VERSION, use Module LIST, use
2270 Module, use VERSION, utime LIST X<utime>, values HASH X<values>, vec
2271 EXPR,OFFSET,BITS X<vec> X<bit> X<bit vector>, wait X<wait>, waitpid
2272 PID,FLAGS X<waitpid>, wantarray X<wantarray> X<context>, warn LIST X<warn>
2273 X<warning> X<STDERR>, write FILEHANDLE X<write>, write EXPR, write, y///
2279 =head2 perlopentut - tutorial on opening things in Perl
2285 =item Open E<agrave> la shell
2291 =item Indirect Filehandles
2295 =item The Minus File
2297 =item Mixing Reads and Writes
2303 =item Open E<agrave> la C
2307 =item Permissions E<agrave> la mode
2311 =item Obscure Open Tricks
2315 =item Re-Opening Files (dups)
2317 =item Dispelling the Dweomer
2319 =item Paths as Opens
2321 =item Single Argument Open
2323 =item Playing with STDIN and STDOUT
2327 =item Other I/O Issues
2331 =item Opening Non-File Files
2333 =item Opening Named Pipes
2335 =item Opening Sockets
2347 =item AUTHOR and COPYRIGHT
2353 =head2 perlpacktut - tutorial on C<pack> and C<unpack>
2359 =item The Basic Principle
2363 =item Packing Numbers
2369 =item Unpacking a Stack Frame
2371 =item How to Eat an Egg on a Net
2373 =item Byte-order modifiers
2375 =item Floating point Numbers
2379 =item Exotic Templates
2391 =item Another Portable Binary Encoding
2395 =item Template Grouping
2397 =item Lengths and Widths
2401 =item String Lengths
2403 =item Dynamic Templates
2405 =item Counting Repetitions
2409 =item Packing and Unpacking C Structures
2413 =item The Alignment Pit
2415 =item Dealing with Endian-ness
2417 =item Alignment, Take 2
2419 =item Alignment, Take 3
2421 =item Pointers for How to Use Them
2427 =item Funnies Section
2433 =head2 perlpod - the Plain Old Documentation format
2441 =item Ordinary Paragraph
2442 X<POD, ordinary paragraph>
2444 =item Verbatim Paragraph
2445 X<POD, verbatim paragraph> X<verbatim>
2447 =item Command Paragraph
2450 C<=head1 I<Heading Text>> X<=head1> X<=head2> X<=head3> X<=head4> X<head1>
2451 X<head2> X<head3> X<head4>, C<=head2 I<Heading Text>>, C<=head3 I<Heading
2452 Text>>, C<=head4 I<Heading Text>>, C<=over I<indentlevel>> X<=over>
2453 X<=item> X<=back> X<over> X<item> X<back>, C<=item I<stuff...>>, C<=back>,
2454 C<=cut> X<=cut> X<cut>, C<=pod> X<=pod> X<pod>, C<=begin I<formatname>>
2455 X<=begin> X<=end> X<=for> X<begin> X<end> X<for>, C<=end I<formatname>>,
2456 C<=for I<formatname> I<text...>>, C<=encoding I<encodingname>> X<=encoding>
2459 =item Formatting Codes
2460 X<POD, formatting code> X<formatting code>
2461 X<POD, interior sequence> X<interior sequence>
2463 C<IE<lt>textE<gt>> -- italic text X<I> X<< IZ<><> >> X<POD, formatting
2464 code, italic> X<italic>, C<BE<lt>textE<gt>> -- bold text X<B> X<< BZ<><> >>
2465 X<POD, formatting code, bold> X<bold>, C<CE<lt>codeE<gt>> -- code text X<C>
2466 X<< CZ<><> >> X<POD, formatting code, code> X<code>, C<LE<lt>nameE<gt>> --
2467 a hyperlink X<L> X<< LZ<><> >> X<POD, formatting code, hyperlink>
2468 X<hyperlink>, C<EE<lt>escapeE<gt>> -- a character escape X<E> X<< EZ<><> >>
2469 X<POD, formatting code, escape> X<escape>, C<FE<lt>filenameE<gt>> -- used
2470 for filenames X<F> X<< FZ<><> >> X<POD, formatting code, filename>
2471 X<filename>, C<SE<lt>textE<gt>> -- text contains non-breaking spaces X<S>
2472 X<< SZ<><> >> X<POD, formatting code, non-breaking space> X<non-breaking
2473 space>, C<XE<lt>topic nameE<gt>> -- an index entry X<X> X<< XZ<><> >>
2474 X<POD, formatting code, index entry> X<index entry>, C<ZE<lt>E<gt>> -- a
2475 null (zero-effect) formatting code X<Z> X<< ZZ<><> >> X<POD, formatting
2481 =item Embedding Pods in Perl Modules
2484 =item Hints for Writing Pod
2486 X<podchecker> X<POD, validating>
2496 =head2 perlpodspec - Plain Old Documentation: format specification and
2503 =item Pod Definitions
2507 "=head1", "=head2", "=head3", "=head4", "=pod", "=cut", "=over", "=item",
2508 "=back", "=begin formatname", "=end formatname", "=for formatname text...",
2509 "=encoding encodingname"
2511 =item Pod Formatting Codes
2513 C<IE<lt>textE<gt>> -- italic text, C<BE<lt>textE<gt>> -- bold text,
2514 C<CE<lt>codeE<gt>> -- code text, C<FE<lt>filenameE<gt>> -- style for
2515 filenames, C<XE<lt>topic nameE<gt>> -- an index entry, C<ZE<lt>E<gt>> -- a
2516 null (zero-effect) formatting code, C<LE<lt>nameE<gt>> -- a hyperlink,
2517 C<EE<lt>escapeE<gt>> -- a character escape, C<SE<lt>textE<gt>> -- text
2518 contains non-breaking spaces
2520 =item Notes on Implementing Pod Processors
2522 =item About LE<lt>...E<gt> Codes
2524 First:, Second:, Third:, Fourth:, Fifth:, Sixth:
2526 =item About =over...=back Regions
2528 =item About Data Paragraphs and "=begin/=end" Regions
2536 =head2 perlrun - how to execute the Perl interpreter
2546 =item #! and quoting on non-Unix systems
2549 OS/2, MS-DOS, Win95/NT, Macintosh, VMS
2551 =item Location of Perl
2552 X<perl, location of interpreter>
2554 =item Command Switches
2555 X<perl, command switches> X<command switches>
2557 B<-0>[I<octal/hexadecimal>] X<-0> X<$/>, B<-A[I<module>][=I<assertions>]>
2558 X<-A>, B<-a> X<-a> X<autosplit>, B<-C [I<number/list>]> X<-C>, B<-c> X<-c>,
2559 B<-d> X<-d> X<-dt>, B<-dt>, B<-d:>I<foo[=bar,baz]> X<-d> X<-dt>,
2560 B<-dt:>I<foo[=bar,baz]>, B<-D>I<letters> X<-D> X<DEBUGGING> X<-DDEBUGGING>,
2561 B<-D>I<number>, B<-e> I<commandline> X<-e>, B<-E> I<commandline> X<-E>,
2562 B<-f> X<-f>, B<-F>I<pattern> X<-F>, B<-h> X<-h>, B<-i>[I<extension>] X<-i>
2563 X<in-place>, B<-I>I<directory> X<-I> X<@INC>, B<-l>[I<octnum>] X<-l> X<$/>
2564 X<$\>, B<-m>[B<->]I<module> X<-m> X<-M>, B<-M>[B<->]I<module>,
2565 B<-M>[B<->]I<'module ...'>, B<-[mM]>[B<->]I<module=arg[,arg]...>, B<-n>
2566 X<-n>, B<-p> X<-p>, B<-P> X<-P>, B<-s> X<-s>, B<-S> X<-S>, B<-t> X<-t>,
2567 B<-T> X<-T>, B<-u> X<-u>, B<-U> X<-U>, B<-v> X<-v>, B<-V> X<-V>,
2568 B<-V:>I<configvar>, B<-w> X<-w>, B<-W> X<-W>, B<-X> X<-X>, B<-x> X<-x>,
2574 X<perl, environment variables>
2576 HOME X<HOME>, LOGDIR X<LOGDIR>, PATH X<PATH>, PERL5LIB X<PERL5LIB>,
2577 PERL5OPT X<PERL5OPT>, PERLIO X<PERLIO>, :bytes X<:bytes>, :crlf X<:crlf>,
2578 :mmap X<:mmap>, :perlio X<:perlio>, :pop X<:pop>, :raw X<:raw>, :stdio
2579 X<:stdio>, :unix X<:unix>, :utf8 X<:utf8>, :win32 X<:win32>, PERLIO_DEBUG
2580 X<PERLIO_DEBUG>, PERLLIB X<PERLLIB>, PERL5DB X<PERL5DB>, PERL5DB_THREADED
2581 X<PERL5DB_THREADED>, PERL5SHELL (specific to the Win32 port) X<PERL5SHELL>,
2582 PERL_ALLOW_NON_IFS_LSP (specific to the Win32 port)
2583 X<PERL_ALLOW_NON_IFS_LSP>, PERL_DEBUG_MSTATS X<PERL_DEBUG_MSTATS>,
2584 PERL_DESTRUCT_LEVEL X<PERL_DESTRUCT_LEVEL>, PERL_DL_NONLAZY
2585 X<PERL_DL_NONLAZY>, PERL_ENCODING X<PERL_ENCODING>, PERL_HASH_SEED
2586 X<PERL_HASH_SEED>, PERL_HASH_SEED_DEBUG X<PERL_HASH_SEED_DEBUG>, PERL_ROOT
2587 (specific to the VMS port) X<PERL_ROOT>, PERL_SIGNALS X<PERL_SIGNALS>,
2588 PERL_UNICODE X<PERL_UNICODE>, SYS$LOGIN (specific to the VMS port)
2593 =head2 perldiag - various Perl diagnostics
2601 =head2 perllexwarn - Perl Lexical Warnings
2609 =item Default Warnings and Optional Warnings
2611 =item What's wrong with B<-w> and C<$^W>
2613 =item Controlling Warnings from the Command Line
2615 B<-w> X<-w>, B<-W> X<-W>, B<-X> X<-X>
2617 =item Backward Compatibility
2619 =item Category Hierarchy
2620 X<warning, categories>
2622 =item Fatal Warnings
2625 =item Reporting Warnings from a Module
2626 X<warning, reporting> X<warning, registering>
2638 =head2 perldebug - Perl debugging
2644 =item The Perl Debugger
2648 =item Debugger Commands
2650 h X<debugger command, h>, h [command], h h, p expr X<debugger command, p>,
2651 x [maxdepth] expr X<debugger command, x>, V [pkg [vars]] X<debugger
2652 command, V>, X [vars] X<debugger command, X>, y [level [vars]] X<debugger
2653 command, y>, T X<debugger command, T> X<backtrace> X<stack, backtrace>, s
2654 [expr] X<debugger command, s> X<step>, n [expr] X<debugger command, n>, r
2655 X<debugger command, r>, <CR>, c [line|sub] X<debugger command, c>, l
2656 X<debugger command, l>, l min+incr, l min-max, l line, l subname, -
2657 X<debugger command, ->, v [line] X<debugger command, v>, . X<debugger
2658 command, .>, f filename X<debugger command, f>, /pattern/, ?pattern?, L
2659 [abw] X<debugger command, L>, S [[!]regex] X<debugger command, S>, t
2660 X<debugger command, t>, t expr X<debugger command, t>, b X<breakpoint>
2661 X<debugger command, b>, b [line] [condition] X<breakpoint> X<debugger
2662 command, b>, b subname [condition] X<breakpoint> X<debugger command, b>, b
2663 postpone subname [condition] X<breakpoint> X<debugger command, b>, b load
2664 filename X<breakpoint> X<debugger command, b>, b compile subname
2665 X<breakpoint> X<debugger command, b>, B line X<breakpoint> X<debugger
2666 command, B>, B * X<breakpoint> X<debugger command, B>, a [line] command
2667 X<debugger command, a>, A line X<debugger command, A>, A * X<debugger
2668 command, A>, w expr X<debugger command, w>, W expr X<debugger command, W>,
2669 W * X<debugger command, W>, o X<debugger command, o>, o booloption ...
2670 X<debugger command, o>, o anyoption? ... X<debugger command, o>, o
2671 option=value ... X<debugger command, o>, < ? X<< debugger command, < >>, <
2672 [ command ] X<< debugger command, < >>, < * X<< debugger command, < >>, <<
2673 command X<< debugger command, << >>, > ? X<< debugger command, > >>, >
2674 command X<< debugger command, > >>, > * X<< debugger command, > >>, >>
2675 command X<<< debugger command, >> >>>, { ? X<debugger command, {>, { [
2676 command ], { * X<debugger command, {>, {{ command X<debugger command, {{>,
2677 ! number X<debugger command, !>, ! -number X<debugger command, !>, !
2678 pattern X<debugger command, !>, !! cmd X<debugger command, !!>, source file
2679 X<debugger command, source>, H -number X<debugger command, H>, q or ^D
2680 X<debugger command, q> X<debugger command, ^D>, R X<debugger command, R>,
2681 |dbcmd X<debugger command, |>, ||dbcmd X<debugger command, ||>, command, m
2682 expr X<debugger command, m>, M X<debugger command, M>, man [manpage]
2683 X<debugger command, man>
2685 =item Configurable Options
2687 C<recallCommand>, C<ShellBang> X<debugger option, recallCommand> X<debugger
2688 option, ShellBang>, C<pager> X<debugger option, pager>, C<tkRunning>
2689 X<debugger option, tkRunning>, C<signalLevel>, C<warnLevel>, C<dieLevel>
2690 X<debugger option, signalLevel> X<debugger option, warnLevel> X<debugger
2691 option, dieLevel>, C<AutoTrace> X<debugger option, AutoTrace>, C<LineInfo>
2692 X<debugger option, LineInfo>, C<inhibit_exit> X<debugger option,
2693 inhibit_exit>, C<PrintRet> X<debugger option, PrintRet>, C<ornaments>
2694 X<debugger option, ornaments>, C<frame> X<debugger option, frame>,
2695 C<maxTraceLen> X<debugger option, maxTraceLen>, C<windowSize> X<debugger
2696 option, windowSize>, C<arrayDepth>, C<hashDepth> X<debugger option,
2697 arrayDepth> X<debugger option, hashDepth>, C<dumpDepth> X<debugger option,
2698 dumpDepth>, C<compactDump>, C<veryCompact> X<debugger option, compactDump>
2699 X<debugger option, veryCompact>, C<globPrint> X<debugger option,
2700 globPrint>, C<DumpDBFiles> X<debugger option, DumpDBFiles>, C<DumpPackages>
2701 X<debugger option, DumpPackages>, C<DumpReused> X<debugger option,
2702 DumpReused>, C<quote>, C<HighBit>, C<undefPrint> X<debugger option, quote>
2703 X<debugger option, HighBit> X<debugger option, undefPrint>, C<UsageOnly>
2704 X<debugger option, UsageOnly>, C<TTY> X<debugger option, TTY>, C<noTTY>
2705 X<debugger option, noTTY>, C<ReadLine> X<debugger option, ReadLine>,
2706 C<NonStop> X<debugger option, NonStop>
2708 =item Debugger input/output
2710 Prompt, Multiline commands, Stack backtrace X<backtrace> X<stack,
2711 backtrace>, Line Listing Format, Frame listing
2713 =item Debugging compile-time statements
2715 =item Debugger Customization
2717 =item Readline Support
2719 =item Editor Support for Debugging
2721 =item The Perl Profiler
2722 X<profile> X<profiling> X<profiler>
2726 =item Debugging regular expressions
2727 X<regular expression, debugging>
2728 X<regex, debugging> X<regexp, debugging>
2730 =item Debugging memory usage
2739 =head2 perlvar - Perl predefined variables
2747 =item Predefined Names
2749 $ARG, $_, $a, $b, $<I<digits>>, $MATCH, $&, $PREMATCH, $`, $POSTMATCH, $',
2750 $LAST_PAREN_MATCH, $+, $^N, @LAST_MATCH_END, @+,
2751 HANDLE->input_line_number(EXPR), $INPUT_LINE_NUMBER, $NR, $,
2752 IO::Handle->input_record_separator(EXPR), $INPUT_RECORD_SEPARATOR, $RS, $/,
2753 HANDLE->autoflush(EXPR), $OUTPUT_AUTOFLUSH, $|,
2754 IO::Handle->output_field_separator EXPR, $OUTPUT_FIELD_SEPARATOR, $OFS, $,,
2755 IO::Handle->output_record_separator EXPR, $OUTPUT_RECORD_SEPARATOR, $ORS,
2756 $\, $LIST_SEPARATOR, $", $SUBSCRIPT_SEPARATOR, $SUBSEP, $;,
2757 HANDLE->format_page_number(EXPR), $FORMAT_PAGE_NUMBER, $%,
2758 HANDLE->format_lines_per_page(EXPR), $FORMAT_LINES_PER_PAGE, $=,
2759 HANDLE->format_lines_left(EXPR), $FORMAT_LINES_LEFT, $-, @LAST_MATCH_START,
2760 @-, C<$`> is the same as C<substr($var, 0, $-[0])>, C<$&> is the same as
2761 C<substr($var, $-[0], $+[0] - $-[0])>, C<$'> is the same as C<substr($var,
2762 $+[0])>, C<$1> is the same as C<substr($var, $-[1], $+[1] - $-[1])>, C<$2>
2763 is the same as C<substr($var, $-[2], $+[2] - $-[2])>, C<$3> is the same as
2764 C<substr($var, $-[3], $+[3] - $-[3])>, HANDLE->format_name(EXPR),
2765 $FORMAT_NAME, $~, HANDLE->format_top_name(EXPR), $FORMAT_TOP_NAME, $^,
2766 IO::Handle->format_line_break_characters EXPR,
2767 $FORMAT_LINE_BREAK_CHARACTERS, $:, IO::Handle->format_formfeed EXPR,
2768 $FORMAT_FORMFEED, $^L, $ACCUMULATOR, $^A, $CHILD_ERROR, $?,
2769 ${^CHILD_ERROR_NATIVE}, ${^ENCODING}, $OS_ERROR, $ERRNO, $!, %!,
2770 $EXTENDED_OS_ERROR, $^E, $EVAL_ERROR, $@, $PROCESS_ID, $PID, $$,
2771 $REAL_USER_ID, $UID, $<, $EFFECTIVE_USER_ID, $EUID, $>, $REAL_GROUP_ID,
2772 $GID, $(, $EFFECTIVE_GROUP_ID, $EGID, $), $PROGRAM_NAME, $0, $[, $],
2773 $COMPILING, $^C, $DEBUGGING, $^D, ${^RE_DEBUG_FLAGS}, ${^RE_TRIE_MAXBUF},
2774 $SYSTEM_FD_MAX, $^F, $^H, %^H, $INPLACE_EDIT, $^I, $^M, $OSNAME, $^O,
2775 ${^OPEN}, $PERLDB, $^P, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80,
2776 0x100, 0x200, 0x400, $LAST_REGEXP_CODE_RESULT, $^R,
2777 $EXCEPTIONS_BEING_CAUGHT, $^S, $BASETIME, $^T, ${^TAINT}, ${^UNICODE},
2778 ${^UTF8CACHE}, ${^UTF8LOCALE}, $PERL_VERSION, $^V, $WARNING, $^W,
2779 ${^WARNING_BITS}, ${^WIN32_SLOPPY_STAT}, $EXECUTABLE_NAME, $^X, ARGV,
2780 $ARGV, @ARGV, ARGVOUT, @F, @INC, @_, %INC, %ENV, $ENV{expr}, %SIG,
2783 =item Error Indicators
2785 =item Technical Note on the Syntax of Variable Names
2793 =head2 perlre - Perl regular expressions
2799 i X</i> X<regex, case-insensitive> X<regexp, case-insensitive> X<regular
2800 expression, case-insensitive>, m X</m> X<regex, multiline> X<regexp,
2801 multiline> X<regular expression, multiline>, s X</s> X<regex, single-line>
2802 X<regexp, single-line> X<regular expression, single-line>, x X</x>
2806 =item Regular Expressions
2808 [1], [2], [3], cntrl X<cntrl>, graph X<graph>, print X<print>, punct
2809 X<punct>, xdigit X<xdigit>
2811 =item Extended Patterns
2813 C<(?#text)> X<(?#)>, C<(?imsx-imsx)> X<(?)>, C<(?:pattern)> X<(?:)>,
2814 C<(?imsx-imsx:pattern)>, C<(?=pattern)> X<(?=)> X<look-ahead, positive>
2815 X<lookahead, positive>, C<(?!pattern)> X<(?!)> X<look-ahead, negative>
2816 X<lookahead, negative>, C<(?<=pattern)> X<(?<=)> X<look-behind, positive>
2817 X<lookbehind, positive>, C<(?<!pattern)> X<(?<!)> X<look-behind, negative>
2818 X<lookbehind, negative>, C<(?{ code })> X<(?{})> X<regex, code in>
2819 X<regexp, code in> X<regular expression, code in>, C<(??{ code })>
2820 X<(??{})> X<regex, postponed> X<regexp, postponed> X<regular expression,
2821 postponed> X<regex, recursive> X<regexp, recursive> X<regular expression,
2822 recursive>, C<< (?>pattern) >> X<backtrack> X<backtracking>,
2823 C<(?(condition)yes-pattern|no-pattern)> X<(?()>,
2824 C<(?(condition)yes-pattern)>
2827 X<backtrack> X<backtracking>
2829 =item Version 8 Regular Expressions
2830 X<regular expression, version 8> X<regex, version 8> X<regexp, version 8>
2832 =item Warning on \1 vs $1
2834 =item Repeated patterns matching zero-length substring
2836 =item Combining pieces together
2838 C<ST>, C<S|T>, C<S{REPEAT_COUNT}>, C<S{min,max}>, C<S{min,max}?>, C<S?>,
2839 C<S*>, C<S+>, C<S??>, C<S*?>, C<S+?>, C<< (?>S) >>, C<(?=S)>, C<(?<=S)>,
2840 C<(?!S)>, C<(?<!S)>, C<(??{ EXPR })>,
2841 C<(?(condition)yes-pattern|no-pattern)>
2843 =item Creating custom RE engines
2853 =head2 perlreref - Perl Regular Expressions Reference
2865 =item ESCAPE SEQUENCES
2867 =item CHARACTER CLASSES
2873 =item EXTENDED CONSTRUCTS
2891 =head2 perlref - Perl references and nested data structures
2901 =item Making References
2902 X<reference, creation> X<referencing>
2904 1. X<\> X<backslash>, 2. X<array, anonymous> X<[> X<[]> X<square bracket>
2905 X<bracket, square> X<arrayref> X<array reference> X<reference, array>, 3.
2906 X<hash, anonymous> X<{> X<{}> X<curly bracket> X<bracket, curly> X<brace>
2907 X<hashref> X<hash reference> X<reference, hash>, 4. X<subroutine,
2908 anonymous> X<subroutine, reference> X<reference, subroutine> X<scope,
2909 lexical> X<closure> X<lexical> X<lexical scope>, 5. X<constructor> X<new>,
2910 6. X<autovivification>, 7. X<*foo{THING}> X<*>
2912 =item Using References
2913 X<reference, use> X<dereferencing> X<dereference>
2915 2. X<${}> X<@{}> X<%{}>, 3. X<autovivification> X<< -> >> X<arrow>, 4.
2918 =item Symbolic references
2919 X<reference, symbolic> X<reference, soft>
2920 X<symbolic reference> X<soft reference>
2922 =item Not-so-symbolic references
2924 =item Pseudo-hashes: Using an array as a hash
2925 X<pseudo-hash> X<pseudo hash> X<pseudohash>
2927 =item Function Templates
2928 X<scope, lexical> X<closure> X<lexical> X<lexical scope>
2929 X<subroutine, nested> X<sub, nested> X<subroutine, local> X<sub, local>
2934 X<reference, string context> X<reference, use as hash key>
2940 =head2 perlform - Perl formats
2949 X<format, text field>
2951 =item Numeric Fields
2952 X<#> X<format, numeric field>
2954 =item The Field @* for Variable Width Multi-Line Text
2957 =item The Field ^* for Variable Width One-line-at-a-time Text
2960 =item Specifying Values
2961 X<format, specifying values>
2963 =item Using Fill Mode
2964 X<format, fill mode>
2966 =item Suppressing Lines Where All Fields Are Void
2967 X<format, suppressing lines>
2969 =item Repeating Format Lines
2970 X<format, repeating lines>
2972 =item Top of Form Processing
2973 X<format, top of form> X<top> X<header>
2975 =item Format Variables
2977 X<format, variables>
2986 X<format, footer> X<footer>
2988 =item Accessing Formatting Internals
2989 X<format, internals>
2997 =head2 perlobj - Perl objects
3005 =item An Object is Simply a Reference
3006 X<object> X<bless> X<constructor> X<new>
3008 =item A Class is Simply a Package
3009 X<class> X<package> X<@ISA> X<inheritance>
3011 =item A Method is Simply a Subroutine
3014 =item Method Invocation
3015 X<invocation> X<method> X<arrow> X<< -> >>
3017 =item Indirect Object Syntax
3018 X<indirect object syntax> X<invocation, indirect> X<indirect>
3020 =item Default UNIVERSAL methods
3023 isa(CLASS) X<isa>, can(METHOD) X<can>, VERSION( [NEED] ) X<VERSION>
3026 X<destructor> X<DESTROY>
3030 =item Two-Phased Garbage Collection
3031 X<garbage collection> X<GC> X<circular reference>
3032 X<reference, circular> X<DESTROY> X<destructor>
3040 =head2 perltie - how to hide an object class in a simple variable
3053 TIESCALAR classname, LIST X<TIESCALAR>, FETCH this X<FETCH>, STORE this,
3054 value X<STORE>, UNTIE this X<UNTIE>, DESTROY this X<DESTROY>
3059 TIEARRAY classname, LIST X<TIEARRAY>, FETCH this, index X<FETCH>, STORE
3060 this, index, value X<STORE>, FETCHSIZE this X<FETCHSIZE>, STORESIZE this,
3061 count X<STORESIZE>, EXTEND this, count X<EXTEND>, EXISTS this, key
3062 X<EXISTS>, DELETE this, key X<DELETE>, CLEAR this X<CLEAR>, PUSH this, LIST
3063 X<PUSH>, POP this X<POP>, SHIFT this X<SHIFT>, UNSHIFT this, LIST
3064 X<UNSHIFT>, SPLICE this, offset, length, LIST X<SPLICE>, UNTIE this
3065 X<UNTIE>, DESTROY this X<DESTROY>
3070 USER, HOME, CLOBBER, LIST, TIEHASH classname, LIST X<TIEHASH>, FETCH this,
3071 key X<FETCH>, STORE this, key, value X<STORE>, DELETE this, key X<DELETE>,
3072 CLEAR this X<CLEAR>, EXISTS this, key X<EXISTS>, FIRSTKEY this X<FIRSTKEY>,
3073 NEXTKEY this, lastkey X<NEXTKEY>, SCALAR this X<SCALAR>, UNTIE this
3074 X<UNTIE>, DESTROY this X<DESTROY>
3076 =item Tying FileHandles
3077 X<filehandle, tying>
3079 TIEHANDLE classname, LIST X<TIEHANDLE>, WRITE this, LIST X<WRITE>, PRINT
3080 this, LIST X<PRINT>, PRINTF this, LIST X<PRINTF>, READ this, LIST X<READ>,
3081 READLINE this X<READLINE>, GETC this X<GETC>, CLOSE this X<CLOSE>, UNTIE
3082 this X<UNTIE>, DESTROY this X<DESTROY>
3087 =item The C<untie> Gotcha
3100 =head2 perldbmfilter - Perl DBM Filters
3108 B<filter_store_key>, B<filter_store_value>, B<filter_fetch_key>,
3109 B<filter_fetch_value>
3115 =item An Example -- the NULL termination problem.
3117 =item Another Example -- Key is a C int.
3127 =head2 perlipc - Perl interprocess communication (signals, fifos, pipes,
3128 safe subprocesses, sockets, and semaphores)
3138 =item Handling the SIGHUP Signal in Daemons
3146 =item Deferred Signals (Safe Signals)
3148 Long running opcodes, Interrupting IO, Restartable system calls, Signals as
3149 "faults", Signals triggered by operating system state
3153 =item Using open() for IPC
3159 =item Background Processes
3161 =item Complete Dissociation of Child from Parent
3163 =item Safe Pipe Opens
3165 =item Bidirectional Communication with Another Process
3167 =item Bidirectional Communication with Yourself
3171 =item Sockets: Client/Server Communication
3175 =item Internet Line Terminators
3177 =item Internet TCP Clients and Servers
3179 =item Unix-Domain TCP Clients and Servers
3183 =item TCP Clients with IO::Socket
3187 =item A Simple Client
3189 C<Proto>, C<PeerAddr>, C<PeerPort>
3191 =item A Webget Client
3193 =item Interactive Client with IO::Socket
3197 =item TCP Servers with IO::Socket
3199 Proto, LocalPort, Listen, Reuse
3201 =item UDP: Message Passing
3215 =head2 perlfork - Perl's fork() emulation
3225 =item Behavior of other Perl features in forked pseudo-processes
3227 $$ or $PROCESS_ID, %ENV, chdir() and all other builtins that accept
3228 filenames, wait() and waitpid(), kill(), exec(), exit(), Open handles to
3229 files, directories and network sockets
3231 =item Resource limits
3233 =item Killing the parent process
3235 =item Lifetime of the parent process and pseudo-processes
3237 =item CAVEATS AND LIMITATIONS
3239 BEGIN blocks, Open filehandles, Forking pipe open() not yet implemented,
3240 Global state maintained by XSUBs, Interpreter embedded in larger
3241 application, Thread-safety of extensions
3253 =head2 perlnumber - semantics of numbers and numeric operations in Perl
3261 =item Storing numbers
3263 =item Numeric operators and numeric conversions
3265 =item Flavors of Perl numeric operations
3267 Arithmetic operators, ++, Arithmetic operators during C<use integer>, Other
3268 mathematical operators, Bitwise operators, Bitwise operators during C<use
3269 integer>, Operators which expect an integer, Operators which expect a
3278 =head2 perlthrtut - tutorial on threads in Perl
3286 =item What Is A Thread Anyway?
3288 =item Threaded Program Models
3300 =item What kind of threads are Perl threads?
3302 =item Thread-Safe Modules
3308 =item Basic Thread Support
3310 =item A Note about the Examples
3312 =item Creating Threads
3314 =item Waiting For A Thread To Exit
3316 =item Ignoring A Thread
3320 =item Threads And Data
3324 =item Shared And Unshared Data
3326 =item Thread Pitfalls: Races
3330 =item Synchronization and control
3334 =item Controlling access: lock()
3336 =item A Thread Pitfall: Deadlocks
3338 =item Queues: Passing Data Around
3340 =item Semaphores: Synchronizing Data Access
3342 =item Basic semaphores
3344 =item Advanced Semaphores
3346 =item cond_wait() and cond_signal()
3348 =item Giving up control
3352 =item General Thread Utility Routines
3356 =item What Thread Am I In?
3360 =item Are These Threads The Same?
3362 =item What Threads Are Running?
3366 =item A Complete Example
3368 =item Different implementations of threads
3370 =item Performance considerations
3372 =item Process-scope Changes
3374 =item Thread-Safety of System Libraries
3382 =item Introductory Texts
3384 =item OS-Related References
3386 =item Other References
3390 =item Acknowledgements
3398 =head2 perlothrtut - old tutorial on threads in Perl
3404 =item What Is A Thread Anyway?
3406 =item Threaded Program Models
3418 =item Native threads
3420 =item What kind of threads are perl threads?
3422 =item Threadsafe Modules
3428 =item Basic Thread Support
3430 =item Creating Threads
3432 =item Giving up control
3434 =item Waiting For A Thread To Exit
3436 =item Errors In Threads
3438 =item Ignoring A Thread
3442 =item Threads And Data
3446 =item Shared And Unshared Data
3448 =item Thread Pitfall: Races
3450 =item Controlling access: lock()
3452 =item Thread Pitfall: Deadlocks
3454 =item Queues: Passing Data Around
3458 =item Threads And Code
3462 =item Semaphores: Synchronizing Data Access
3464 Basic semaphores, Advanced Semaphores
3466 =item Attributes: Restricting Access To Subroutines
3468 =item Subroutine Locks
3472 =item Locking A Subroutine
3476 =item General Thread Utility Routines
3480 =item What Thread Am I In?
3484 =item Are These Threads The Same?
3486 =item What Threads Are Running?
3490 =item A Complete Example
3498 =item Introductory Texts
3500 =item OS-Related References
3502 =item Other References
3506 =item Acknowledgements
3514 =head2 perlport - Writing portable Perl
3520 Not all Perl programs have to be portable, Nearly all of Perl already I<is>
3529 =item Numbers endianness and Width
3531 =item Files and Filesystems
3533 =item System Interaction
3535 =item Command names versus file pathnames
3539 =item Interprocess Communication (IPC)
3541 =item External Subroutines (XS)
3543 =item Standard Modules
3547 =item Character sets and character encoding
3549 =item Internationalisation
3551 =item System Resources
3567 =item DOS and Derivatives
3575 =item EBCDIC Platforms
3583 =item FUNCTION IMPLEMENTATIONS
3587 =item Alphabetical Listing of Perl Functions
3589 -I<X>, atan2, binmode, chmod, chown, chroot, crypt, dbmclose, dbmopen,
3590 dump, exec, exit, fcntl, flock, fork, getlogin, getpgrp, getppid,
3591 getpriority, getpwnam, getgrnam, getnetbyname, getpwuid, getgrgid,
3592 getnetbyaddr, getprotobynumber, getservbyport, getpwent, getgrent,
3593 gethostbyname, gethostent, getnetent, getprotoent, getservent, sethostent,
3594 setnetent, setprotoent, setservent, endpwent, endgrent, endhostent,
3595 endnetent, endprotoent, endservent, getsockopt SOCKET,LEVEL,OPTNAME, glob,
3596 gmtime, ioctl FILEHANDLE,FUNCTION,SCALAR, kill, link, localtime, lstat,
3597 msgctl, msgget, msgsnd, msgrcv, open, pipe, readlink, rename, select,
3598 semctl, semget, semop, setgrent, setpgrp, setpriority, setpwent,
3599 setsockopt, shmctl, shmget, shmread, shmwrite, sockatmark, socketpair,
3600 stat, symlink, syscall, sysopen, system, times, truncate, umask, utime,
3605 =item Supported Platforms
3609 =item AUTHORS / CONTRIBUTORS
3613 =head2 perllocale - Perl locale handling (internationalization and
3620 =item PREPARING TO USE LOCALES
3626 =item The use locale pragma
3628 =item The setlocale function
3630 =item Finding locales
3632 =item LOCALE PROBLEMS
3634 =item Temporarily fixing locale problems
3636 =item Permanently fixing locale problems
3638 =item Permanently fixing your system's locale configuration
3640 =item Fixing system locale configuration
3642 =item The localeconv function
3644 =item I18N::Langinfo
3648 =item LOCALE CATEGORIES
3652 =item Category LC_COLLATE: Collation
3654 =item Category LC_CTYPE: Character Types
3656 =item Category LC_NUMERIC: Numeric Formatting
3658 =item Category LC_MONETARY: Formatting of monetary amounts
3662 =item Other categories
3670 PERL_BADLANG, LC_ALL, LANGUAGE, LC_CTYPE, LC_COLLATE, LC_MONETARY,
3671 LC_NUMERIC, LC_TIME, LANG
3677 =item Backward compatibility
3679 =item I18N:Collate obsolete
3681 =item Sort speed and memory use impacts
3683 =item write() and LC_NUMERIC
3685 =item Freely available locale definitions
3689 =item An imperfect standard
3693 =item Unicode and UTF-8
3699 =item Broken systems
3709 =head2 perluniintro - Perl Unicode introduction
3719 =item Perl's Unicode Support
3721 =item Perl's Unicode Model
3723 =item Unicode and EBCDIC
3725 =item Creating Unicode
3727 =item Handling Unicode
3729 =item Legacy Encodings
3733 =item Displaying Unicode As Text
3737 =item Advanced Topics
3741 =item Questions With Answers
3743 =item Hexadecimal Notation
3745 =item Further Resources
3749 =item UNICODE IN OLDER PERLS
3753 =item ACKNOWLEDGMENTS
3755 =item AUTHOR, COPYRIGHT, AND LICENSE
3759 =head2 perlunicode - Unicode support in Perl
3767 =item Important Caveats
3769 Input and Output Layers, Regular Expressions, C<use utf8> still needed to
3770 enable UTF-8/UTF-EBCDIC in scripts, BOM-marked scripts and UTF-16 scripts
3771 autodetected, C<use encoding> needed to upgrade non-Latin-1 byte strings
3773 =item Byte and Character Semantics
3775 =item Effects of Character Semantics
3777 =item Unicode Character Properties
3779 General Category, Bidirectional Character Types, Scripts, Extended property
3780 classes, Use of "Is" Prefix, Blocks
3782 =item User-Defined Character Properties
3784 =item User-Defined Case Mappings
3786 =item Character Encodings for Input and Output
3788 =item Unicode Regular Expression Support Level
3790 =item Unicode Encodings
3792 =item Security Implications of Unicode
3794 =item Unicode in Perl on EBCDIC
3798 =item When Unicode Does Not Happen
3800 =item Forcing Unicode in Perl (Or Unforcing Unicode in Perl)
3802 =item Using Unicode in XS
3810 =item Interaction with Locales
3812 =item Interaction with Extensions
3816 =item Porting code from perl-5.6.X
3824 =head2 perlunitut - Perl Unicode Tutorial
3834 =item Your new toolkit
3836 =item I/O flow (the actual 5 minute tutorial)
3844 =item ACKNOWLEDGEMENTS
3852 =head2 perlebcdic - Considerations for running Perl on EBCDIC platforms
3858 =item COMMON CHARACTER CODE SETS
3866 =item Latin 1 (ISO 8859-1)
3870 =item 13 variant characters
3878 =item Unicode code points versus EBCDIC code points
3880 =item Remaining Perl Unicode problems in EBCDIC
3882 =item Unicode and UTF
3888 =item SINGLE OCTET TABLES
3890 recipe 0, recipe 1, recipe 2, recipe 3, recipe 4, recipe 5, recipe 6
3892 =item IDENTIFYING CHARACTER CODE SETS
3906 =item OPERATOR DIFFERENCES
3908 =item FUNCTION DIFFERENCES
3910 chr(), ord(), pack(), print(), printf(), sort(), sprintf(), unpack()
3912 =item REGULAR EXPRESSION DIFFERENCES
3920 =item Ignore ASCII vs. EBCDIC sort differences.
3922 =item MONO CASE then sort data.
3924 =item Convert, sort data, then re convert.
3926 =item Perform sorting on one type of machine only.
3930 =item TRANSFORMATION FORMATS
3934 =item URL decoding and encoding
3936 =item uu encoding and decoding
3938 =item Quoted-Printable encoding and decoding
3940 =item Caesarian ciphers
3944 =item Hashing order and checksums
3948 =item MULTI OCTET CHARACTER SETS
3960 chcp, dataset access, OS/390, z/OS iconv, locales
3980 =head2 perlsec - Perl security
3988 =item Laundering and Detecting Tainted Data
3990 =item Switches On the "#!" Line
3992 =item Taint mode and @INC
3994 =item Cleaning Up Your Path
3998 =item Protecting Your Programs
4002 =item Algorithmic Complexity Attacks
4010 =head2 perlmod - Perl modules (packages and symbol tables)
4019 X<package> X<namespace> X<variable, global> X<global variable> X<global>
4022 X<symbol table> X<stash> X<%::> X<%main::> X<typeglob> X<glob> X<alias>
4024 =item BEGIN, CHECK, INIT and END
4025 X<BEGIN> X<CHECK> X<INIT> X<END>
4033 =item Making your module threadsafe
4034 X<threadsafe> X<thread safe>
4035 X<module, threadsafe> X<module, thread safe>
4036 X<CLONE> X<CLONE_SKIP> X<thread> X<threads> X<ithread>
4044 =head2 perlmodlib - constructing new Perl modules and finding existing ones
4048 =item THE PERL MODULE LIBRARY
4052 =item Pragmatic Modules
4054 assertions, assertions::activate, assertions::compat, attributes, attrs,
4055 autouse, base, bigint, bignum, bigrat, blib, bytes, charnames, constant,
4056 diagnostics, encoding, encoding::warnings, feature, fields, filetest, if,
4057 integer, less, lib, locale, open, ops, overload, re, sigtrap, sort, strict,
4058 subs, threads, threads::shared, utf8, vars, version, vmsish, warnings,
4061 =item Standard Modules
4063 AnyDBM_File, Archive::Tar, Archive::Tar::File, Attribute::Handlers,
4064 AutoLoader, AutoSplit, B, B::Asmdata, B::Assembler, B::Bblock, B::Bytecode,
4065 B::C, B::CC, B::Concise, B::Debug, B::Deparse, B::Disassembler, B::Lint,
4066 B::Showlex, B::Stackobj, B::Stash, B::Terse, B::Xref, Benchmark,
4067 ByteLoader, CGI, CGI::Apache, CGI::Carp, CGI::Cookie, CGI::Fast,
4068 CGI::Pretty, CGI::Push, CGI::Switch, CGI::Util, CPAN, CPAN::FirstTime,
4069 CPAN::Nox, CPAN::Version, Carp, Carp::Heavy, Class::ISA, Class::Struct,
4070 Compress::Zlib, Compress::Zlib::pod::FAQ, Config, Cwd, DB, DBM_Filter,
4071 DB_File, Data::Dumper, Devel::DProf, Devel::PPPort, Devel::Peek,
4072 Devel::SelfStubber, Digest, Digest::MD5, Digest::SHA, Digest::base,
4073 Digest::file, DirHandle, Dumpvalue, DynaLoader, Encode, Encode::Alias,
4074 Encode::Byte, Encode::CJKConstants, Encode::CN, Encode::CN::HZ,
4075 Encode::Config, Encode::EBCDIC, Encode::Encoder, Encode::Encoding,
4076 Encode::Guess, Encode::JP, Encode::JP::H2Z, Encode::JP::JIS7, Encode::KR,
4077 Encode::KR::2022_KR, Encode::MIME::Header, Encode::PerlIO,
4078 Encode::Supported, Encode::Symbol, Encode::TW, Encode::Unicode,
4079 Encode::Unicode::UTF7, English, Env, Errno, Exporter, Exporter::Heavy,
4080 ExtUtils::CBuilder, ExtUtils::CBuilder::Platform::Windows,
4081 ExtUtils::Command, ExtUtils::Command::MM, ExtUtils::Constant,
4082 ExtUtils::Constant::Base, ExtUtils::Constant::Utils,
4083 ExtUtils::Constant::XS, ExtUtils::Embed, ExtUtils::Install,
4084 ExtUtils::Installed, ExtUtils::Liblist, ExtUtils::MM, ExtUtils::MM_AIX,
4085 ExtUtils::MM_Any, ExtUtils::MM_BeOS, ExtUtils::MM_Cygwin, ExtUtils::MM_DOS,
4086 ExtUtils::MM_MacOS, ExtUtils::MM_NW5, ExtUtils::MM_OS2, ExtUtils::MM_QNX,
4087 ExtUtils::MM_UWIN, ExtUtils::MM_Unix, ExtUtils::MM_VMS, ExtUtils::MM_VOS,
4088 ExtUtils::MM_Win32, ExtUtils::MM_Win95, ExtUtils::MY, ExtUtils::MakeMaker,
4089 ExtUtils::MakeMaker::Config, ExtUtils::MakeMaker::FAQ,
4090 ExtUtils::MakeMaker::Tutorial, ExtUtils::MakeMaker::bytes,
4091 ExtUtils::MakeMaker::vmsish, ExtUtils::Manifest, ExtUtils::Mkbootstrap,
4092 ExtUtils::Mksymlists, ExtUtils::Packlist, ExtUtils::ParseXS,
4093 ExtUtils::testlib, Fatal, Fcntl, File::Basename, File::CheckTree,
4094 File::Compare, File::Copy, File::DosGlob, File::Find, File::Glob,
4095 File::GlobMapper, File::Path, File::Spec, File::Spec::Cygwin,
4096 File::Spec::Epoc, File::Spec::Functions, File::Spec::Mac, File::Spec::OS2,
4097 File::Spec::Unix, File::Spec::VMS, File::Spec::Win32, File::Temp,
4098 File::stat, FileCache, FileHandle, Filter::Simple, Filter::Util::Call,
4099 FindBin, GDBM_File, Getopt::Long, Getopt::Std, Hash::Util, I18N::Collate,
4100 I18N::LangTags, I18N::LangTags::Detect, I18N::LangTags::List,
4101 I18N::Langinfo, IO, IO::Compress::Deflate, IO::Compress::Gzip,
4102 IO::Compress::RawDeflate, IO::Dir, IO::File, IO::Handle, IO::Pipe,
4103 IO::Poll, IO::Seekable, IO::Select, IO::Socket, IO::Socket::INET,
4104 IO::Socket::UNIX, IO::Uncompress::AnyInflate, IO::Uncompress::Gunzip,
4105 IO::Uncompress::Inflate, IO::Uncompress::RawInflate, IO::Zlib, IPC::Open2,
4106 IPC::Open3, IPC::SysV, IPC::SysV::Msg, IPC::SysV::Semaphore, List::Util,
4107 Locale::Constants, Locale::Country, Locale::Currency, Locale::Language,
4108 Locale::Maketext, Locale::Maketext::TPJ13, Locale::Script, MIME::Base64,
4109 MIME::Base64::QuotedPrint, Math::BigFloat, Math::BigInt,
4110 Math::BigInt::Calc, Math::BigInt::CalcEmu, Math::BigInt::FastCalc,
4111 Math::BigRat, Math::Complex, Math::Trig, Memoize, Memoize::AnyDBM_File,
4112 Memoize::Expire, Memoize::ExpireFile, Memoize::ExpireTest,
4113 Memoize::NDBM_File, Memoize::SDBM_File, Memoize::Storable,
4114 Module::CoreList, NDBM_File, NEXT, Net::Cmd, Net::Config, Net::Domain,
4115 Net::FTP, Net::NNTP, Net::Netrc, Net::POP3, Net::Ping, Net::SMTP,
4116 Net::Time, Net::hostent, Net::libnetFAQ, Net::netent, Net::protoent,
4117 Net::servent, O, ODBM_File, Opcode, POSIX, PerlIO, PerlIO::encoding,
4118 PerlIO::scalar, PerlIO::via, PerlIO::via::QuotedPrint, Pod::Checker,
4119 Pod::Escapes, Pod::Find, Pod::Functions, Pod::Html, Pod::InputObjects,
4120 Pod::LaTeX, Pod::Man, Pod::ParseLink, Pod::ParseUtils, Pod::Parser,
4121 Pod::Perldoc::ToChecker, Pod::Perldoc::ToMan, Pod::Perldoc::ToNroff,
4122 Pod::Perldoc::ToPod, Pod::Perldoc::ToRtf, Pod::Perldoc::ToText,
4123 Pod::Perldoc::ToTk, Pod::Perldoc::ToXml, Pod::PlainText, Pod::Plainer,
4124 Pod::Select, Pod::Simple, Pod::Simple::Checker, Pod::Simple::Debug,
4125 Pod::Simple::DumpAsText, Pod::Simple::DumpAsXML, Pod::Simple::HTML,
4126 Pod::Simple::HTMLBatch, Pod::Simple::LinkSection, Pod::Simple::Methody,
4127 Pod::Simple::PullParser, Pod::Simple::PullParserEndToken,
4128 Pod::Simple::PullParserStartToken, Pod::Simple::PullParserTextToken,
4129 Pod::Simple::PullParserToken, Pod::Simple::RTF, Pod::Simple::Search,
4130 Pod::Simple::SimpleTree, Pod::Simple::Subclassing, Pod::Simple::Text,
4131 Pod::Simple::TextContent, Pod::Simple::XMLOutStream, Pod::Text,
4132 Pod::Text::Color, Pod::Text::Overstrike, Pod::Text::Termcap, Pod::Usage,
4133 SDBM_File, Safe, Scalar::Util, Search::Dict, SelectSaver, SelfLoader,
4134 Shell, Socket, Storable, Switch, Symbol, Sys::Hostname, Sys::Syslog,
4135 Term::ANSIColor, Term::Cap, Term::Complete, Term::ReadLine, Test,
4136 Test::Builder, Test::Builder::Module, Test::Builder::Tester,
4137 Test::Builder::Tester::Color, Test::Harness, Test::Harness::Assert,
4138 Test::Harness::Iterator, Test::Harness::Point, Test::Harness::Straps,
4139 Test::Harness::TAP, Test::More, Test::Simple, Test::Tutorial, Text::Abbrev,
4140 Text::Balanced, Text::ParseWords, Text::Soundex, Text::Tabs, Text::Wrap,
4141 Thread, Thread::Queue, Thread::Semaphore, Thread::Signal, Thread::Specific,
4142 Tie::Array, Tie::File, Tie::Handle, Tie::Hash, Tie::Memoize, Tie::RefHash,
4143 Tie::Scalar, Tie::SubstrHash, Time::HiRes, Time::Local, Time::gmtime,
4144 Time::localtime, Time::tm, UNIVERSAL, Unicode::Collate, Unicode::Normalize,
4145 Unicode::UCD, User::grent, User::pwent, XS::APItest, XS::Typemap, XSLoader
4147 =item Extension Modules
4161 China, Indonesia, Israel, Japan, Malaysia, Russian Federation, Saudi
4162 Arabia, Singapore, South Korea, Taiwan, Thailand
4164 =item Central America
4170 Austria, Belgium, Bosnia and Herzegovina, Bulgaria, Croatia, Czech
4171 Republic, Denmark, Estonia, Finland, France, Germany, Greece, Hungary,
4172 Iceland, Ireland, Italy, Latvia, Lithuania, Netherlands, Norway, Poland,
4173 Portugal, Romania, Russia, Slovakia, Slovenia, Spain, Sweden, Switzerland,
4174 Turkey, Ukraine, United Kingdom
4178 Canada, Alberta, Manitoba, Nova Scotia, Ontario, Mexico, United States,
4179 Alabama, California, Colorado, Delaware, District of Columbia, Florida,
4180 Indiana, Kentucky, Massachusetts, Michigan, Nevada, New Jersey, New York,
4181 North Carolina, Oklahoma, Oregon, Pennsylvania, Tennessee, Texas, Utah,
4182 Virginia, Washington, Wisconsin
4186 Australia, New Zealand, United States
4190 Argentina, Brazil, Chile
4196 =item Modules: Creation, Use, and Abuse
4200 =item Guidelines for Module Creation
4202 =item Guidelines for Converting Perl 4 Library Scripts into Modules
4204 =item Guidelines for Reusing Application Code
4212 =head2 perlmodstyle - Perl module style guide
4218 =item QUICK CHECKLIST
4222 =item Before you start
4230 =item Release considerations
4234 =item BEFORE YOU START WRITING A MODULE
4238 =item Has it been done before?
4240 =item Do one thing and do it well
4242 =item What's in a name?
4246 =item DESIGNING AND WRITING YOUR MODULE
4250 =item To OO or not to OO?
4252 =item Designing your API
4254 Write simple routines to do simple things, Separate functionality from
4255 output, Provide sensible shortcuts and defaults, Naming conventions,
4258 =item Strictness and warnings
4260 =item Backwards compatibility
4262 =item Error handling and messages
4266 =item DOCUMENTING YOUR MODULE
4272 =item README, INSTALL, release notes, changelogs
4274 perl Makefile.PL, make, make test, make install, perl Build.PL, perl Build,
4275 perl Build test, perl Build install
4279 =item RELEASE CONSIDERATIONS
4283 =item Version numbering
4285 =item Pre-requisites
4295 =item COMMON PITFALLS
4299 =item Reinventing the wheel
4301 =item Trying to do too much
4303 =item Inappropriate documentation
4309 L<perlstyle>, L<perlnewmod>, L<perlpod>, L<podchecker>, Packaging Tools,
4310 Testing tools, http://pause.perl.org/, Any good book on software
4317 =head2 perlmodinstall - Installing CPAN Modules
4327 B<DECOMPRESS> the file, B<UNPACK> the file into a directory, B<BUILD> the
4328 module (sometimes unnecessary), B<INSTALL> the module
4342 =head2 perlnewmod - preparing a new module for distribution
4352 =item What should I make into a module?
4354 =item Step-by-step: Preparing the ground
4356 Look around, Check it's new, Discuss the need, Choose a name, Check again
4358 =item Step-by-step: Making the module
4360 Start with F<module-starter> or F<h2xs>, Use L<strict|strict> and
4361 L<warnings|warnings>, Use L<Carp|Carp>, Use L<Exporter|Exporter> - wisely!,
4362 Use L<plain old documentation|perlpod>, Write tests, Write the README
4364 =item Step-by-step: Distributing your module
4366 Get a CPAN user ID, C<perl Makefile.PL; make test; make dist>, Upload the
4367 tarball, Announce to the modules list, Announce to clpa, Fix bugs!
4377 =head2 perlpragma - how to write a user pragma
4383 =item A basic example
4385 =item Implementation details
4389 =head2 perlutil - utilities packaged with the Perl distribution
4395 =item LIST OF UTILITIES
4401 L<perldoc|perldoc>, L<pod2man|pod2man> and L<pod2text|pod2text>,
4402 L<pod2html|pod2html> and L<pod2latex|pod2latex>, L<pod2usage|pod2usage>,
4403 L<podselect|podselect>, L<podchecker|podchecker>, L<splain|splain>,
4404 L<roffitall|roffitall>
4408 L<a2p|a2p>, L<s2p|s2p> and L<psed>, L<find2perl|find2perl>
4410 =item Administration
4412 L<config_data|config_data>, L<libnetcfg|libnetcfg>, L<perlivp>
4416 L<perlbug|perlbug>, L<h2ph|h2ph>, L<c2ph|c2ph> and L<pstruct|pstruct>,
4417 L<h2xs|h2xs>, L<enc2xs>, L<xsubpp>, L<dprofpp|dprofpp>, L<perlcc|perlcc>,
4418 L<prove>, L<corelist>
4422 L<piconv>, L<ptar>, L<ptardiff>, L<shasum>
4426 L<cpan>, L<instmodsh>
4434 =head2 perlcompile - Introduction to the Perl Compiler-Translator
4444 B::Bytecode, B::C, B::CC, B::Lint, B::Deparse, B::Xref
4448 =item Using The Back Ends
4452 =item The Cross Referencing Back End
4456 =item The Decompiling Back End
4458 =item The Lint Back End
4460 =item The Simple C Back End
4462 =item The Bytecode Back End
4464 =item The Optimized C Back End
4468 =item Module List for the Compiler Suite
4470 B, O, B::Asmdata, B::Assembler, B::Bblock, B::Bytecode, B::C, B::CC,
4471 B::Concise, B::Debug, B::Deparse, B::Disassembler, B::Lint, B::Showlex,
4472 B::Stackobj, B::Stash, B::Terse, B::Xref
4474 =item KNOWN PROBLEMS
4480 =head2 perlfilter - Source Filters
4490 =item WRITING A SOURCE FILTER
4492 =item WRITING A SOURCE FILTER IN C
4494 B<Decryption Filters>
4496 =item CREATING A SOURCE FILTER AS A SEPARATE EXECUTABLE
4498 =item WRITING A SOURCE FILTER IN PERL
4500 =item USING CONTEXT: THE DEBUG FILTER
4504 =item THINGS TO LOOK OUT FOR
4506 Some Filters Clobber the C<DATA> Handle
4516 =head2 perlglossary - Perl Glossary
4526 accessor methods, actual arguments, address operator, algorithm, alias,
4527 alternatives, anonymous, architecture, argument, ARGV, arithmetical
4528 operator, array, array context, ASCII, assertion, assignment, assignment
4529 operator, associative array, associativity, asynchronous, atom, atomic
4530 operation, attribute, autogeneration, autoincrement, autoload, autosplit,
4531 autovivification, AV, awk
4535 backreference, backtracking, backward compatibility, bareword, base class,
4536 big-endian, binary, binary operator, bind, bit, bit shift, bit string,
4537 bless, block, BLOCK, block buffering, Boolean, Boolean context, breakpoint,
4538 broadcast, BSD, bucket, buffer, built-in, bundle, byte, bytecode
4542 C, C preprocessor, call by reference, call by value, callback, canonical,
4543 capturing, character, character class, character property, circumfix
4544 operator, class, class method, client, cloister, closure, cluster, CODE,
4545 code generator, code subpattern, collating sequence, command, command
4546 buffering, command name, command-line arguments, comment, compilation unit,
4547 compile phase, compile time, compiler, composer, concatenation,
4548 conditional, connection, construct, constructor, context, continuation,
4549 core dump, CPAN, cracker, current package, current working directory,
4550 currently selected output channel, CV
4554 dangling statement, data structure, data type, datagram, DBM, declaration,
4555 decrement, default, defined, delimiter, dereference, derived class,
4556 descriptor, destroy, destructor, device, directive, directory, directory
4557 handle, dispatch, distribution, dweomer, dwimmer, dynamic scoping
4561 eclectic, element, embedding, empty subclass test, en passant,
4562 encapsulation, endian, environment, environment variable, EOF, errno,
4563 error, escape sequence, exception, exception handling, exec, executable
4564 file, execute, execute bit, exit status, export, expression, extension
4568 false, FAQ, fatal error, field, FIFO, file, file descriptor, file test
4569 operator, fileglob, filehandle, filename, filesystem, filter, flag,
4570 floating point, flush, FMTEYEWTK, fork, formal arguments, format, freely
4571 available, freely redistributable, freeware, function, funny character,
4576 GID, glob, global, global destruction, glue language, granularity, greedy,
4581 hacker, handler, hard reference, hash, hash table, header file, here
4582 document, hexadecimal, home directory, host, hubris, HV
4586 identifier, impatience, implementation, import, increment, indexing,
4587 indirect filehandle, indirect object, indirect object slot, indirection,
4588 infix, inheritance, instance, instance variable, integer, interface,
4589 interpolation, interpreter, invocant, invocation, I/O, IO, IP, IPC, is-a,
4590 iteration, iterator, IV
4602 label, laziness, left shift, leftmost longest, lexeme, lexer, lexical
4603 analysis, lexical scoping, lexical variable, library, LIFO, line, line
4604 buffering, line number, link, LIST, list, list context, list operator, list
4605 value, literal, little-endian, local, logical operator, lookahead,
4606 lookbehind, loop, loop control statement, loop label, lvaluable, lvalue,
4611 magic, magical increment, magical variables, Makefile, man, manpage,
4612 matching, member data, memory, metacharacter, metasymbol, method,
4613 minimalism, mode, modifier, module, modulus, monger, mortal,
4614 multidimensional array, multiple inheritance
4618 named pipe, namespace, network address, newline, NFS, null character, null
4619 list, null string, numeric context, NV, nybble
4623 object, octal, offset, one-liner, open source software, operand, operating
4624 system, operator, operator overloading, options, overloading, overriding,
4629 package, pad, parameter, parent class, parse tree, parsing, patch, PATH,
4630 pathname, pattern, pattern matching, permission bits, Pern, pipe, pipeline,
4631 platform, pod, pointer, polymorphism, port, portable, porter, POSIX,
4632 postfix, pp, pragma, precedence, prefix, preprocessing, procedure, process,
4633 program generator, progressive matching, property, protocol, prototype,
4634 pseudofunction, pseudohash, pseudoliteral, public domain, pumpkin,
4639 qualified, quantifier
4643 readable, reaping, record, recursion, reference, referent, regex, regular
4644 expression, regular expression modifier, regular file, relational operator,
4645 reserved words, return value, RFC, right shift, root, RTFM, run phase, run
4646 time, run-time pattern, RV, rvalue
4650 scalar, scalar context, scalar literal, scalar value, scalar variable,
4651 scope, scratchpad, script, script kiddie, sed, semaphore, separator,
4652 serialization, server, service, setgid, setuid, shared memory, shebang,
4653 shell, side effects, signal, signal handler, single inheritance, slice,
4654 slurp, socket, soft reference, source filter, stack, standard, standard
4655 error, standard I/O, standard input, standard output, stat structure,
4656 statement, statement modifier, static, static method, static scoping,
4657 static variable, status, STDERR, STDIN, STDIO, STDOUT, stream, string,
4658 string context, stringification, struct, structure, subclass, subpattern,
4659 subroutine, subscript, substitution, substring, superclass, superuser, SV,
4660 switch, switch cluster, switch statement, symbol, symbol table, symbolic
4661 debugger, symbolic link, symbolic reference, synchronous, syntactic sugar,
4662 syntax, syntax tree, syscall
4666 tainted, TCP, term, terminator, ternary, text, thread, tie, TMTOWTDI,
4667 token, tokener, tokenizing, toolbox approach, transliterate, trigger,
4668 trinary, troff, true, truncating, type, type casting, typed lexical,
4669 typedef, typeglob, typemap
4673 UDP, UID, umask, unary operator, Unicode, Unix
4677 value, variable, variable interpolation, variadic, vector, virtual, void
4682 warning, watch expression, whitespace, word, working directory, wrapper,
4699 =item AUTHOR AND COPYRIGHT
4703 =head2 perlembed - how to embed perl in your C program
4713 B<Use C from Perl?>, B<Use a Unix program from Perl?>, B<Use Perl from
4714 Perl?>, B<Use C from C?>, B<Use Perl from C?>
4718 =item Compiling your C program
4720 =item Adding a Perl interpreter to your C program
4722 =item Calling a Perl subroutine from your C program
4724 =item Evaluating a Perl statement from your C program
4726 =item Performing Perl pattern matches and substitutions from your C program
4728 =item Fiddling with the Perl stack from your C program
4730 =item Maintaining a persistent interpreter
4732 =item Execution of END blocks
4734 =item $0 assignments
4736 =item Maintaining multiple interpreter instances
4738 =item Using Perl modules, which themselves use C libraries, from your C
4743 =item Embedding Perl under Win32
4755 =head2 perldebguts - Guts of Perl debugging
4761 =item Debugger Internals
4765 =item Writing Your Own Debugger
4769 =item Frame Listing Output Examples
4771 =item Debugging regular expressions
4775 =item Compile-time output
4777 C<anchored> I<STRING> C<at> I<POS>, C<floating> I<STRING> C<at>
4778 I<POS1..POS2>, C<matching floating/anchored>, C<minlen>, C<stclass>
4779 I<TYPE>, C<noscan>, C<isall>, C<GPOS>, C<plus>, C<implicit>, C<with eval>,
4782 =item Types of nodes
4784 =item Run-time output
4788 =item Debugging Perl memory usage
4792 =item Using C<$ENV{PERL_DEBUG_MSTATS}>
4794 C<buckets SMALLEST(APPROX)..GREATEST(APPROX)>, Free/Used, C<Total sbrk():
4795 SBRKed/SBRKs:CONTINUOUS>, C<pad: 0>, C<heads: 2192>, C<chain: 0>, C<tail:
4804 =head2 perlxstut, perlXStut - Tutorial for writing XSUBs
4816 =item Version caveat
4818 =item Dynamic Loading versus Static Loading
4830 =item What has gone on?
4832 =item Writing good test scripts
4836 =item What's new here?
4838 =item Input and Output Parameters
4840 =item The XSUBPP Program
4842 =item The TYPEMAP file
4844 =item Warning about Output Arguments
4848 =item What has happened here?
4850 =item Anatomy of .xs file
4852 =item Getting the fat out of XSUBs
4854 =item More about XSUB arguments
4856 =item The Argument Stack
4858 =item Extending your Extension
4860 =item Documenting your Extension
4862 =item Installing your Extension
4866 =item New Things in this Example
4870 =item New Things in this Example
4872 =item EXAMPLE 7 (Coming Soon)
4874 =item EXAMPLE 8 (Coming Soon)
4876 =item EXAMPLE 9 Passing open files to XSes
4878 =item Troubleshooting these Examples
4894 =head2 perlxs - XS language reference manual
4906 =item The Anatomy of an XSUB
4908 =item The Argument Stack
4910 =item The RETVAL Variable
4912 =item Returning SVs, AVs and HVs through RETVAL
4914 =item The MODULE Keyword
4916 =item The PACKAGE Keyword
4918 =item The PREFIX Keyword
4920 =item The OUTPUT: Keyword
4922 =item The NO_OUTPUT Keyword
4924 =item The CODE: Keyword
4926 =item The INIT: Keyword
4928 =item The NO_INIT Keyword
4930 =item Initializing Function Parameters
4932 =item Default Parameter Values
4934 =item The PREINIT: Keyword
4936 =item The SCOPE: Keyword
4938 =item The INPUT: Keyword
4940 =item The IN/OUTLIST/IN_OUTLIST/OUT/IN_OUT Keywords
4942 =item The C<length(NAME)> Keyword
4944 =item Variable-length Parameter Lists
4946 =item The C_ARGS: Keyword
4948 =item The PPCODE: Keyword
4950 =item Returning Undef And Empty Lists
4952 =item The REQUIRE: Keyword
4954 =item The CLEANUP: Keyword
4956 =item The POSTCALL: Keyword
4958 =item The BOOT: Keyword
4960 =item The VERSIONCHECK: Keyword
4962 =item The PROTOTYPES: Keyword
4964 =item The PROTOTYPE: Keyword
4966 =item The ALIAS: Keyword
4968 =item The OVERLOAD: Keyword
4970 =item The FALLBACK: Keyword
4972 =item The INTERFACE: Keyword
4974 =item The INTERFACE_MACRO: Keyword
4976 =item The INCLUDE: Keyword
4978 =item The CASE: Keyword
4980 =item The & Unary Operator
4982 =item Inserting POD, Comments and C Preprocessor Directives
4984 =item Using XS With C++
4986 =item Interface Strategy
4988 =item Perl Objects And C Structures
4992 =item Safely Storing Static Data in XS
4994 MY_CXT_KEY, typedef my_cxt_t, START_MY_CXT, MY_CXT_INIT, dMY_CXT, MY_CXT,
4995 aMY_CXT/pMY_CXT, MY_CXT_CLONE, MY_CXT_INIT_INTERP(my_perl),
4996 dMY_CXT_INTERP(my_perl)
5008 =head2 perlclib - Internal replacements for standard C library functions
5018 C<t>, C<p>, C<n>, C<s>
5020 =item File Operations
5022 =item File Input and Output
5024 =item File Positioning
5026 =item Memory Management and String Handling
5028 =item Character Class Tests
5030 =item F<stdlib.h> functions
5032 =item Miscellaneous functions
5040 =head2 perlguts - Introduction to the Perl API
5052 =item What is an "IV"?
5054 =item Working with SVs
5058 =item What's Really Stored in an SV?
5060 =item Working with AVs
5062 =item Working with HVs
5064 =item Hash API Extensions
5066 =item AVs, HVs and undefined values
5070 =item Blessed References and Class Objects
5072 =item Creating New Variables
5074 GV_ADDMULTI, GV_ADDWARN
5076 =item Reference Counts and Mortality
5078 =item Stashes and Globs
5080 =item Double-Typed SVs
5082 =item Magic Variables
5084 =item Assigning Magic
5086 =item Magic Virtual Tables
5090 =item Understanding the Magic of Tied Hashes and Arrays
5092 =item Localizing changes
5094 C<SAVEINT(int i)>, C<SAVEIV(IV i)>, C<SAVEI32(I32 i)>, C<SAVELONG(long i)>,
5095 C<SAVESPTR(s)>, C<SAVEPPTR(p)>, C<SAVEFREESV(SV *sv)>, C<SAVEMORTALIZESV(SV
5096 *sv)>, C<SAVEFREEOP(OP *op)>, C<SAVEFREEPV(p)>, C<SAVECLEARSV(SV *sv)>,
5097 C<SAVEDELETE(HV *hv, char *key, I32 length)>,
5098 C<SAVEDESTRUCTOR(DESTRUCTORFUNC_NOCONTEXT_t f, void *p)>,
5099 C<SAVEDESTRUCTOR_X(DESTRUCTORFUNC_t f, void *p)>, C<SAVESTACK_POS()>, C<SV*
5100 save_scalar(GV *gv)>, C<AV* save_ary(GV *gv)>, C<HV* save_hash(GV *gv)>,
5101 C<void save_item(SV *item)>, C<void save_list(SV **sarg, I32 maxsarg)>,
5102 C<SV* save_svref(SV **sptr)>, C<void save_aptr(AV **aptr)>, C<void
5103 save_hptr(HV **hptr)>
5111 =item XSUBs and the Argument Stack
5113 =item Calling Perl Routines from within C Programs
5115 =item Memory Allocation
5119 =item Putting a C value on Perl stack
5123 =item Scratchpads and recursion
5133 =item Examining the tree
5135 =item Compile pass 1: check routines
5137 =item Compile pass 1a: constant folding
5139 =item Compile pass 2: context propagation
5141 =item Compile pass 3: peephole optimization
5143 =item Pluggable runops
5147 =item Examining internal data structures with the C<dump> functions
5149 =item How multiple interpreters and concurrency are supported
5153 =item Background and PERL_IMPLICIT_CONTEXT
5155 =item So what happened to dTHR?
5157 =item How do I use all this in extensions?
5159 =item Should I do anything special if I call perl from multiple threads?
5161 =item Future Plans and PERL_IMPLICIT_SYS
5165 =item Internal Functions
5167 A, p, d, s, n, r, f, M, o, x, m, X, E, b, others
5171 =item Formatted Printing of IVs, UVs, and NVs
5173 =item Pointer-To-Integer and Integer-To-Pointer
5175 =item Exception Handling
5177 =item Source Documentation
5179 =item Backwards compatibility
5183 =item Unicode Support
5187 =item What B<is> Unicode, anyway?
5189 =item How can I recognise a UTF-8 string?
5191 =item How does UTF-8 represent Unicode characters?
5193 =item How does Perl store UTF-8 strings?
5195 =item How do I convert a string to UTF-8?
5197 =item Is there anything else I need to know?
5201 =item Custom Operators
5209 =head2 perlcall - Perl calling conventions from C
5215 An Error Handler, An Event Driven Program
5217 =item THE CALL_ FUNCTIONS
5219 call_sv, call_pv, call_method, call_argv
5239 =item Determining the Context
5247 =item No Parameters, Nothing returned
5249 =item Passing Parameters
5251 =item Returning a Scalar
5253 =item Returning a list of values
5255 =item Returning a list in a scalar context
5257 =item Returning Data from Perl via the parameter list
5261 =item Using G_KEEPERR
5265 =item Using call_argv
5267 =item Using call_method
5271 =item Using Perl to dispose of temporaries
5273 =item Strategies for storing Callback Context Information
5275 1. Ignore the problem - Allow only 1 callback, 2. Create a sequence of
5276 callbacks - hard wired limit, 3. Use a parameter to map to the Perl
5279 =item Alternate Stack Manipulation
5281 =item Creating and calling an anonymous subroutine in C
5285 =item LIGHTWEIGHT CALLBACKS
5295 =head2 perlreguts - Description of the Perl regular expression engine.
5305 =item A quick note on terms
5307 =item What is a regular expression engine?
5309 =item Structure of a Regexp Program
5311 regnode_1, regnode_2, regnode_string, regnode_charclass,
5312 regnode_charclass_class
5316 =item PROCESS OVERVIEW
5330 =item UNICODE and Localization Support
5342 =head2 perlapi - autogenerated documentation for the perl public API
5347 X<Perl API> X<API> X<api>
5349 =item "Gimme" Values
5351 GIMME X<GIMME>, GIMME_V X<GIMME_V>, G_ARRAY X<G_ARRAY>, G_DISCARD
5352 X<G_DISCARD>, G_EVAL X<G_EVAL>, G_NOARGS X<G_NOARGS>, G_SCALAR X<G_SCALAR>,
5355 =item Array Manipulation Functions
5357 AvFILL X<AvFILL>, av_clear X<av_clear>, av_delete X<av_delete>, av_exists
5358 X<av_exists>, av_extend X<av_extend>, av_fetch X<av_fetch>, av_fill
5359 X<av_fill>, av_len X<av_len>, av_make X<av_make>, av_pop X<av_pop>, av_push
5360 X<av_push>, av_shift X<av_shift>, av_store X<av_store>, av_undef
5361 X<av_undef>, av_unshift X<av_unshift>, get_av X<get_av>, newAV X<newAV>,
5362 sortsv X<sortsv>, sortsv_flags X<sortsv_flags>
5364 =item Callback Functions
5366 call_argv X<call_argv>, call_method X<call_method>, call_pv X<call_pv>,
5367 call_sv X<call_sv>, ENTER X<ENTER>, eval_pv X<eval_pv>, eval_sv X<eval_sv>,
5368 FREETMPS X<FREETMPS>, LEAVE X<LEAVE>, SAVETMPS X<SAVETMPS>
5370 =item Character classes
5372 isALNUM X<isALNUM>, isALPHA X<isALPHA>, isDIGIT X<isDIGIT>, isLOWER
5373 X<isLOWER>, isSPACE X<isSPACE>, isUPPER X<isUPPER>, toLOWER X<toLOWER>,
5376 =item Cloning an interpreter
5378 perl_clone X<perl_clone>
5380 =item CV Manipulation Functions
5382 CvSTASH X<CvSTASH>, get_cv X<get_cv>
5384 =item Embedding Functions
5386 cv_undef X<cv_undef>, load_module X<load_module>, nothreadhook
5387 X<nothreadhook>, perl_alloc X<perl_alloc>, perl_construct
5388 X<perl_construct>, perl_destruct X<perl_destruct>, perl_free X<perl_free>,
5389 perl_parse X<perl_parse>, perl_run X<perl_run>, require_pv X<require_pv>
5391 =item Functions in file mathoms.c
5393 gv_fetchmethod X<gv_fetchmethod>, pack_cat X<pack_cat>, sv_2pvbyte_nolen
5394 X<sv_2pvbyte_nolen>, sv_2pvutf8_nolen X<sv_2pvutf8_nolen>, sv_2pv_nolen
5395 X<sv_2pv_nolen>, sv_catpvn_mg X<sv_catpvn_mg>, sv_catsv_mg X<sv_catsv_mg>,
5396 sv_force_normal X<sv_force_normal>, sv_iv X<sv_iv>, sv_nolocking
5397 X<sv_nolocking>, sv_nounlocking X<sv_nounlocking>, sv_nv X<sv_nv>, sv_pv
5398 X<sv_pv>, sv_pvbyte X<sv_pvbyte>, sv_pvbyten X<sv_pvbyten>, sv_pvn
5399 X<sv_pvn>, sv_pvutf8 X<sv_pvutf8>, sv_pvutf8n X<sv_pvutf8n>, sv_taint
5400 X<sv_taint>, sv_unref X<sv_unref>, sv_usepvn X<sv_usepvn>, sv_usepvn_mg
5401 X<sv_usepvn_mg>, sv_uv X<sv_uv>, unpack_str X<unpack_str>
5403 =item Functions in file pp_pack.c
5405 packlist X<packlist>, unpackstring X<unpackstring>
5407 =item Global Variables
5409 PL_modglobal X<PL_modglobal>, PL_na X<PL_na>, PL_sv_no X<PL_sv_no>,
5410 PL_sv_undef X<PL_sv_undef>, PL_sv_yes X<PL_sv_yes>
5414 GvSV X<GvSV>, gv_const_sv X<gv_const_sv>, gv_fetchmeth X<gv_fetchmeth>,
5415 gv_fetchmethod_autoload X<gv_fetchmethod_autoload>, gv_fetchmeth_autoload
5416 X<gv_fetchmeth_autoload>, gv_stashpv X<gv_stashpv>, gv_stashpvn
5417 X<gv_stashpvn>, gv_stashpvs X<gv_stashpvs>, gv_stashsv X<gv_stashsv>
5421 Nullav X<Nullav>, Nullch X<Nullch>, Nullcv X<Nullcv>, Nullhv X<Nullhv>,
5424 =item Hash Manipulation Functions
5426 get_hv X<get_hv>, HEf_SVKEY X<HEf_SVKEY>, HeHASH X<HeHASH>, HeKEY X<HeKEY>,
5427 HeKLEN X<HeKLEN>, HePV X<HePV>, HeSVKEY X<HeSVKEY>, HeSVKEY_force
5428 X<HeSVKEY_force>, HeSVKEY_set X<HeSVKEY_set>, HeVAL X<HeVAL>, HvNAME
5429 X<HvNAME>, hv_assert X<hv_assert>, hv_clear X<hv_clear>,
5430 hv_clear_placeholders X<hv_clear_placeholders>, hv_delete X<hv_delete>,
5431 hv_delete_ent X<hv_delete_ent>, hv_exists X<hv_exists>, hv_exists_ent
5432 X<hv_exists_ent>, hv_fetch X<hv_fetch>, hv_fetchs X<hv_fetchs>,
5433 hv_fetch_ent X<hv_fetch_ent>, hv_iterinit X<hv_iterinit>, hv_iterkey
5434 X<hv_iterkey>, hv_iterkeysv X<hv_iterkeysv>, hv_iternext X<hv_iternext>,
5435 hv_iternextsv X<hv_iternextsv>, hv_iternext_flags X<hv_iternext_flags>,
5436 hv_iterval X<hv_iterval>, hv_magic X<hv_magic>, hv_scalar X<hv_scalar>,
5437 hv_store X<hv_store>, hv_stores X<hv_stores>, hv_store_ent X<hv_store_ent>,
5438 hv_undef X<hv_undef>, newHV X<newHV>
5440 =item Magical Functions
5442 mg_clear X<mg_clear>, mg_copy X<mg_copy>, mg_find X<mg_find>, mg_free
5443 X<mg_free>, mg_get X<mg_get>, mg_length X<mg_length>, mg_magical
5444 X<mg_magical>, mg_set X<mg_set>, SvGETMAGIC X<SvGETMAGIC>, SvLOCK
5445 X<SvLOCK>, SvSETMAGIC X<SvSETMAGIC>, SvSetMagicSV X<SvSetMagicSV>,
5446 SvSetMagicSV_nosteal X<SvSetMagicSV_nosteal>, SvSetSV X<SvSetSV>,
5447 SvSetSV_nosteal X<SvSetSV_nosteal>, SvSHARE X<SvSHARE>, SvUNLOCK
5450 =item Memory Management
5452 Copy X<Copy>, CopyD X<CopyD>, Move X<Move>, MoveD X<MoveD>, Newx X<Newx>,
5453 Newxc X<Newxc>, Newxz X<Newxz>, Poison X<Poison>, PoisonFree X<PoisonFree>,
5454 PoisonNew X<PoisonNew>, PoisonWith X<PoisonWith>, Renew X<Renew>, Renewc
5455 X<Renewc>, Safefree X<Safefree>, savepv X<savepv>, savepvn X<savepvn>,
5456 savepvs X<savepvs>, savesharedpv X<savesharedpv>, savesvpv X<savesvpv>,
5457 StructCopy X<StructCopy>, Zero X<Zero>, ZeroD X<ZeroD>
5459 =item Miscellaneous Functions
5461 fbm_compile X<fbm_compile>, fbm_instr X<fbm_instr>, form X<form>, getcwd_sv
5462 X<getcwd_sv>, my_snprintf X<my_snprintf>, my_sprintf X<my_sprintf>,
5463 my_vsnprintf X<my_vsnprintf>, new_version X<new_version>, scan_version
5464 X<scan_version>, strEQ X<strEQ>, strGE X<strGE>, strGT X<strGT>, strLE
5465 X<strLE>, strLT X<strLT>, strNE X<strNE>, strnEQ X<strnEQ>, strnNE
5466 X<strnNE>, sv_nosharing X<sv_nosharing>, upg_version X<upg_version>, vcmp
5467 X<vcmp>, vnormal X<vnormal>, vnumify X<vnumify>, vstringify X<vstringify>,
5470 =item Multicall Functions
5472 dMULTICALL X<dMULTICALL>, MULTICALL X<MULTICALL>, POP_MULTICALL
5473 X<POP_MULTICALL>, PUSH_MULTICALL X<PUSH_MULTICALL>
5475 =item Numeric functions
5477 grok_bin X<grok_bin>, grok_hex X<grok_hex>, grok_number X<grok_number>,
5478 grok_numeric_radix X<grok_numeric_radix>, grok_oct X<grok_oct>, scan_bin
5479 X<scan_bin>, scan_hex X<scan_hex>, scan_oct X<scan_oct>
5481 =item Optree Manipulation Functions
5483 cv_const_sv X<cv_const_sv>, newCONSTSUB X<newCONSTSUB>, newXS X<newXS>
5485 =item Pad Data Structures
5489 =item Simple Exception Handling Macros
5491 dXCPT X<dXCPT>, XCPT_CATCH X<XCPT_CATCH>, XCPT_RETHROW X<XCPT_RETHROW>,
5492 XCPT_TRY_END X<XCPT_TRY_END>, XCPT_TRY_START X<XCPT_TRY_START>
5494 =item Stack Manipulation Macros
5496 dMARK X<dMARK>, dORIGMARK X<dORIGMARK>, dSP X<dSP>, EXTEND X<EXTEND>, MARK
5497 X<MARK>, mPUSHi X<mPUSHi>, mPUSHn X<mPUSHn>, mPUSHp X<mPUSHp>, mPUSHu
5498 X<mPUSHu>, mXPUSHi X<mXPUSHi>, mXPUSHn X<mXPUSHn>, mXPUSHp X<mXPUSHp>,
5499 mXPUSHu X<mXPUSHu>, ORIGMARK X<ORIGMARK>, POPi X<POPi>, POPl X<POPl>, POPn
5500 X<POPn>, POPp X<POPp>, POPpbytex X<POPpbytex>, POPpx X<POPpx>, POPs
5501 X<POPs>, PUSHi X<PUSHi>, PUSHMARK X<PUSHMARK>, PUSHmortal X<PUSHmortal>,
5502 PUSHn X<PUSHn>, PUSHp X<PUSHp>, PUSHs X<PUSHs>, PUSHu X<PUSHu>, PUTBACK
5503 X<PUTBACK>, SP X<SP>, SPAGAIN X<SPAGAIN>, XPUSHi X<XPUSHi>, XPUSHmortal
5504 X<XPUSHmortal>, XPUSHn X<XPUSHn>, XPUSHp X<XPUSHp>, XPUSHs X<XPUSHs>,
5505 XPUSHu X<XPUSHu>, XSRETURN X<XSRETURN>, XSRETURN_EMPTY X<XSRETURN_EMPTY>,
5506 XSRETURN_IV X<XSRETURN_IV>, XSRETURN_NO X<XSRETURN_NO>, XSRETURN_NV
5507 X<XSRETURN_NV>, XSRETURN_PV X<XSRETURN_PV>, XSRETURN_UNDEF
5508 X<XSRETURN_UNDEF>, XSRETURN_UV X<XSRETURN_UV>, XSRETURN_YES
5509 X<XSRETURN_YES>, XST_mIV X<XST_mIV>, XST_mNO X<XST_mNO>, XST_mNV
5510 X<XST_mNV>, XST_mPV X<XST_mPV>, XST_mUNDEF X<XST_mUNDEF>, XST_mYES
5515 svtype X<svtype>, SVt_IV X<SVt_IV>, SVt_NV X<SVt_NV>, SVt_PV X<SVt_PV>,
5516 SVt_PVAV X<SVt_PVAV>, SVt_PVCV X<SVt_PVCV>, SVt_PVHV X<SVt_PVHV>, SVt_PVMG
5519 =item SV Manipulation Functions
5521 get_sv X<get_sv>, newRV_inc X<newRV_inc>, SvCUR X<SvCUR>, SvCUR_set
5522 X<SvCUR_set>, SvEND X<SvEND>, SvGAMAGIC X<SvGAMAGIC>, SvGROW X<SvGROW>,
5523 SvIOK X<SvIOK>, SvIOKp X<SvIOKp>, SvIOK_notUV X<SvIOK_notUV>, SvIOK_off
5524 X<SvIOK_off>, SvIOK_on X<SvIOK_on>, SvIOK_only X<SvIOK_only>, SvIOK_only_UV
5525 X<SvIOK_only_UV>, SvIOK_UV X<SvIOK_UV>, SvIsCOW X<SvIsCOW>,
5526 SvIsCOW_shared_hash X<SvIsCOW_shared_hash>, SvIV X<SvIV>, SvIVX X<SvIVX>,
5527 SvIVx X<SvIVx>, SvIV_nomg X<SvIV_nomg>, SvIV_set X<SvIV_set>, SvLEN
5528 X<SvLEN>, SvLEN_set X<SvLEN_set>, SvMAGIC_set X<SvMAGIC_set>, SvNIOK
5529 X<SvNIOK>, SvNIOKp X<SvNIOKp>, SvNIOK_off X<SvNIOK_off>, SvNOK X<SvNOK>,
5530 SvNOKp X<SvNOKp>, SvNOK_off X<SvNOK_off>, SvNOK_on X<SvNOK_on>, SvNOK_only
5531 X<SvNOK_only>, SvNV X<SvNV>, SvNVX X<SvNVX>, SvNVx X<SvNVx>, SvNV_set
5532 X<SvNV_set>, SvOK X<SvOK>, SvOOK X<SvOOK>, SvPOK X<SvPOK>, SvPOKp
5533 X<SvPOKp>, SvPOK_off X<SvPOK_off>, SvPOK_on X<SvPOK_on>, SvPOK_only
5534 X<SvPOK_only>, SvPOK_only_UTF8 X<SvPOK_only_UTF8>, SvPV X<SvPV>, SvPVbyte
5535 X<SvPVbyte>, SvPVbytex X<SvPVbytex>, SvPVbytex_force X<SvPVbytex_force>,
5536 SvPVbyte_force X<SvPVbyte_force>, SvPVbyte_nolen X<SvPVbyte_nolen>,
5537 SvPVutf8 X<SvPVutf8>, SvPVutf8x X<SvPVutf8x>, SvPVutf8x_force
5538 X<SvPVutf8x_force>, SvPVutf8_force X<SvPVutf8_force>, SvPVutf8_nolen
5539 X<SvPVutf8_nolen>, SvPVX X<SvPVX>, SvPVx X<SvPVx>, SvPV_force
5540 X<SvPV_force>, SvPV_force_nomg X<SvPV_force_nomg>, SvPV_nolen
5541 X<SvPV_nolen>, SvPV_nomg X<SvPV_nomg>, SvPV_set X<SvPV_set>, SvREFCNT
5542 X<SvREFCNT>, SvREFCNT_dec X<SvREFCNT_dec>, SvREFCNT_inc X<SvREFCNT_inc>,
5543 SvREFCNT_inc_NN X<SvREFCNT_inc_NN>, SvREFCNT_inc_simple
5544 X<SvREFCNT_inc_simple>, SvREFCNT_inc_simple_NN X<SvREFCNT_inc_simple_NN>,
5545 SvREFCNT_inc_simple_void X<SvREFCNT_inc_simple_void>,
5546 SvREFCNT_inc_simple_void_NN X<SvREFCNT_inc_simple_void_NN>,
5547 SvREFCNT_inc_void X<SvREFCNT_inc_void>, SvREFCNT_inc_void_NN
5548 X<SvREFCNT_inc_void_NN>, SvROK X<SvROK>, SvROK_off X<SvROK_off>, SvROK_on
5549 X<SvROK_on>, SvRV X<SvRV>, SvRV_set X<SvRV_set>, SvSTASH X<SvSTASH>,
5550 SvSTASH_set X<SvSTASH_set>, SvTAINT X<SvTAINT>, SvTAINTED X<SvTAINTED>,
5551 SvTAINTED_off X<SvTAINTED_off>, SvTAINTED_on X<SvTAINTED_on>, SvTRUE
5552 X<SvTRUE>, SvTYPE X<SvTYPE>, SvUOK X<SvUOK>, SvUPGRADE X<SvUPGRADE>, SvUTF8
5553 X<SvUTF8>, SvUTF8_off X<SvUTF8_off>, SvUTF8_on X<SvUTF8_on>, SvUV X<SvUV>,
5554 SvUVX X<SvUVX>, SvUVx X<SvUVx>, SvUV_nomg X<SvUV_nomg>, SvUV_set
5555 X<SvUV_set>, SvVOK X<SvVOK>, sv_catpvn_nomg X<sv_catpvn_nomg>,
5556 sv_catsv_nomg X<sv_catsv_nomg>, sv_derived_from X<sv_derived_from>,
5557 sv_report_used X<sv_report_used>, sv_setsv_nomg X<sv_setsv_nomg>
5559 =item SV-Body Allocation
5561 looks_like_number X<looks_like_number>, newRV_noinc X<newRV_noinc>, newSV
5562 X<newSV>, newSVhek X<newSVhek>, newSViv X<newSViv>, newSVnv X<newSVnv>,
5563 newSVpv X<newSVpv>, newSVpvf X<newSVpvf>, newSVpvn X<newSVpvn>,
5564 newSVpvn_share X<newSVpvn_share>, newSVpvs X<newSVpvs>, newSVpvs_share
5565 X<newSVpvs_share>, newSVrv X<newSVrv>, newSVsv X<newSVsv>, newSVuv
5566 X<newSVuv>, sv_2bool X<sv_2bool>, sv_2cv X<sv_2cv>, sv_2io X<sv_2io>,
5567 sv_2iv_flags X<sv_2iv_flags>, sv_2mortal X<sv_2mortal>, sv_2nv X<sv_2nv>,
5568 sv_2pvbyte X<sv_2pvbyte>, sv_2pvutf8 X<sv_2pvutf8>, sv_2pv_flags
5569 X<sv_2pv_flags>, sv_2uv_flags X<sv_2uv_flags>, sv_backoff X<sv_backoff>,
5570 sv_bless X<sv_bless>, sv_catpv X<sv_catpv>, sv_catpvf X<sv_catpvf>,
5571 sv_catpvf_mg X<sv_catpvf_mg>, sv_catpvn X<sv_catpvn>, sv_catpvn_flags
5572 X<sv_catpvn_flags>, sv_catpvs X<sv_catpvs>, sv_catpv_mg X<sv_catpv_mg>,
5573 sv_catsv X<sv_catsv>, sv_catsv_flags X<sv_catsv_flags>, sv_chop X<sv_chop>,
5574 sv_clear X<sv_clear>, sv_cmp X<sv_cmp>, sv_cmp_locale X<sv_cmp_locale>,
5575 sv_collxfrm X<sv_collxfrm>, sv_copypv X<sv_copypv>, sv_dec X<sv_dec>, sv_eq
5576 X<sv_eq>, sv_force_normal_flags X<sv_force_normal_flags>, sv_free
5577 X<sv_free>, sv_gets X<sv_gets>, sv_grow X<sv_grow>, sv_inc X<sv_inc>,
5578 sv_insert X<sv_insert>, sv_isa X<sv_isa>, sv_isobject X<sv_isobject>,
5579 sv_len X<sv_len>, sv_len_utf8 X<sv_len_utf8>, sv_magic X<sv_magic>,
5580 sv_magicext X<sv_magicext>, sv_mortalcopy X<sv_mortalcopy>, sv_newmortal
5581 X<sv_newmortal>, sv_newref X<sv_newref>, sv_pos_b2u X<sv_pos_b2u>,
5582 sv_pos_u2b X<sv_pos_u2b>, sv_pvbyten_force X<sv_pvbyten_force>,
5583 sv_pvn_force X<sv_pvn_force>, sv_pvn_force_flags X<sv_pvn_force_flags>,
5584 sv_pvutf8n_force X<sv_pvutf8n_force>, sv_reftype X<sv_reftype>, sv_replace
5585 X<sv_replace>, sv_reset X<sv_reset>, sv_rvweaken X<sv_rvweaken>, sv_setiv
5586 X<sv_setiv>, sv_setiv_mg X<sv_setiv_mg>, sv_setnv X<sv_setnv>, sv_setnv_mg
5587 X<sv_setnv_mg>, sv_setpv X<sv_setpv>, sv_setpvf X<sv_setpvf>, sv_setpvf_mg
5588 X<sv_setpvf_mg>, sv_setpviv X<sv_setpviv>, sv_setpviv_mg X<sv_setpviv_mg>,
5589 sv_setpvn X<sv_setpvn>, sv_setpvn_mg X<sv_setpvn_mg>, sv_setpvs
5590 X<sv_setpvs>, sv_setpv_mg X<sv_setpv_mg>, sv_setref_iv X<sv_setref_iv>,
5591 sv_setref_nv X<sv_setref_nv>, sv_setref_pv X<sv_setref_pv>, sv_setref_pvn
5592 X<sv_setref_pvn>, sv_setref_uv X<sv_setref_uv>, sv_setsv X<sv_setsv>,
5593 sv_setsv_flags X<sv_setsv_flags>, sv_setsv_mg X<sv_setsv_mg>, sv_setuv
5594 X<sv_setuv>, sv_setuv_mg X<sv_setuv_mg>, sv_tainted X<sv_tainted>, sv_true
5595 X<sv_true>, sv_unmagic X<sv_unmagic>, sv_unref_flags X<sv_unref_flags>,
5596 sv_untaint X<sv_untaint>, sv_upgrade X<sv_upgrade>, sv_usepvn_flags
5597 X<sv_usepvn_flags>, sv_utf8_decode X<sv_utf8_decode>, sv_utf8_downgrade
5598 X<sv_utf8_downgrade>, sv_utf8_encode X<sv_utf8_encode>, sv_utf8_upgrade
5599 X<sv_utf8_upgrade>, sv_utf8_upgrade_flags X<sv_utf8_upgrade_flags>,
5600 sv_vcatpvf X<sv_vcatpvf>, sv_vcatpvfn X<sv_vcatpvfn>, sv_vcatpvf_mg
5601 X<sv_vcatpvf_mg>, sv_vsetpvf X<sv_vsetpvf>, sv_vsetpvfn X<sv_vsetpvfn>,
5602 sv_vsetpvf_mg X<sv_vsetpvf_mg>
5604 =item Unicode Support
5606 bytes_from_utf8 X<bytes_from_utf8>, bytes_to_utf8 X<bytes_to_utf8>,
5607 ibcmp_utf8 X<ibcmp_utf8>, is_utf8_char X<is_utf8_char>, is_utf8_string
5608 X<is_utf8_string>, is_utf8_string_loc X<is_utf8_string_loc>,
5609 is_utf8_string_loclen X<is_utf8_string_loclen>, pv_uni_display
5610 X<pv_uni_display>, sv_cat_decode X<sv_cat_decode>, sv_recode_to_utf8
5611 X<sv_recode_to_utf8>, sv_uni_display X<sv_uni_display>, to_utf8_case
5612 X<to_utf8_case>, to_utf8_fold X<to_utf8_fold>, to_utf8_lower
5613 X<to_utf8_lower>, to_utf8_title X<to_utf8_title>, to_utf8_upper
5614 X<to_utf8_upper>, utf8n_to_uvchr X<utf8n_to_uvchr>, utf8n_to_uvuni
5615 X<utf8n_to_uvuni>, utf8_distance X<utf8_distance>, utf8_hop X<utf8_hop>,
5616 utf8_length X<utf8_length>, utf8_to_bytes X<utf8_to_bytes>, utf8_to_uvchr
5617 X<utf8_to_uvchr>, utf8_to_uvuni X<utf8_to_uvuni>, uvchr_to_utf8
5618 X<uvchr_to_utf8>, uvuni_to_utf8_flags X<uvuni_to_utf8_flags>
5620 =item Variables created by C<xsubpp> and C<xsubpp> internal functions
5622 ax X<ax>, CLASS X<CLASS>, dAX X<dAX>, dAXMARK X<dAX