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
3781 =item User-Defined Character Properties
3783 =item Character Encodings for Input and Output
3785 =item Unicode Regular Expression Support Level
3787 =item Unicode Encodings
3789 =item Security Implications of Unicode
3791 =item Unicode in Perl on EBCDIC
3795 =item When Unicode Does Not Happen
3797 =item Forcing Unicode in Perl (Or Unforcing Unicode in Perl)
3799 =item Using Unicode in XS
3807 =item Interaction with Locales
3809 =item Interaction with Extensions
3813 =item Porting code from perl-5.6.X
3821 =head2 perlunitut - Perl Unicode Tutorial
3831 =item Your new toolkit
3833 =item I/O flow (the actual 5 minute tutorial)
3841 =item ACKNOWLEDGEMENTS
3849 =head2 perlebcdic - Considerations for running Perl on EBCDIC platforms
3855 =item COMMON CHARACTER CODE SETS
3863 =item Latin 1 (ISO 8859-1)
3867 =item 13 variant characters
3875 =item Unicode code points versus EBCDIC code points
3877 =item Remaining Perl Unicode problems in EBCDIC
3879 =item Unicode and UTF
3885 =item SINGLE OCTET TABLES
3887 recipe 0, recipe 1, recipe 2, recipe 3, recipe 4, recipe 5, recipe 6
3889 =item IDENTIFYING CHARACTER CODE SETS
3903 =item OPERATOR DIFFERENCES
3905 =item FUNCTION DIFFERENCES
3907 chr(), ord(), pack(), print(), printf(), sort(), sprintf(), unpack()
3909 =item REGULAR EXPRESSION DIFFERENCES
3917 =item Ignore ASCII vs. EBCDIC sort differences.
3919 =item MONO CASE then sort data.
3921 =item Convert, sort data, then re convert.
3923 =item Perform sorting on one type of machine only.
3927 =item TRANSFORMATION FORMATS
3931 =item URL decoding and encoding
3933 =item uu encoding and decoding
3935 =item Quoted-Printable encoding and decoding
3937 =item Caesarian ciphers
3941 =item Hashing order and checksums
3945 =item MULTI OCTET CHARACTER SETS
3957 chcp, dataset access, OS/390, z/OS iconv, locales
3977 =head2 perlsec - Perl security
3985 =item Laundering and Detecting Tainted Data
3987 =item Switches On the "#!" Line
3989 =item Taint mode and @INC
3991 =item Cleaning Up Your Path
3995 =item Protecting Your Programs
3999 =item Algorithmic Complexity Attacks
4007 =head2 perlmod - Perl modules (packages and symbol tables)
4016 X<package> X<namespace> X<variable, global> X<global variable> X<global>
4019 X<symbol table> X<stash> X<%::> X<%main::> X<typeglob> X<glob> X<alias>
4021 =item BEGIN, CHECK, INIT and END
4022 X<BEGIN> X<CHECK> X<INIT> X<END>
4030 =item Making your module threadsafe
4031 X<threadsafe> X<thread safe>
4032 X<module, threadsafe> X<module, thread safe>
4033 X<CLONE> X<CLONE_SKIP> X<thread> X<threads> X<ithread>
4041 =head2 perlmodlib - constructing new Perl modules and finding existing ones
4045 =item THE PERL MODULE LIBRARY
4049 =item Pragmatic Modules
4051 assertions, assertions::activate, assertions::compat, attributes, attrs,
4052 autouse, base, bigint, bignum, bigrat, blib, bytes, charnames, constant,
4053 diagnostics, encoding, encoding::warnings, feature, fields, filetest, if,
4054 integer, less, lib, locale, open, ops, overload, re, sigtrap, sort, strict,
4055 subs, threads, threads::shared, utf8, vars, version, vmsish, warnings,
4058 =item Standard Modules
4060 AnyDBM_File, Archive::Tar, Archive::Tar::File, Attribute::Handlers,
4061 AutoLoader, AutoSplit, B, B::Asmdata, B::Assembler, B::Bblock, B::Bytecode,
4062 B::C, B::CC, B::Concise, B::Debug, B::Deparse, B::Disassembler, B::Lint,
4063 B::Showlex, B::Stackobj, B::Stash, B::Terse, B::Xref, Benchmark,
4064 ByteLoader, CGI, CGI::Apache, CGI::Carp, CGI::Cookie, CGI::Fast,
4065 CGI::Pretty, CGI::Push, CGI::Switch, CGI::Util, CPAN, CPAN::FirstTime,
4066 CPAN::Nox, CPAN::Version, Carp, Carp::Heavy, Class::ISA, Class::Struct,
4067 Compress::Zlib, Compress::Zlib::pod::FAQ, Config, Cwd, DB, DBM_Filter,
4068 DB_File, Data::Dumper, Devel::DProf, Devel::PPPort, Devel::Peek,
4069 Devel::SelfStubber, Digest, Digest::MD5, Digest::SHA, Digest::base,
4070 Digest::file, DirHandle, Dumpvalue, DynaLoader, Encode, Encode::Alias,
4071 Encode::Byte, Encode::CJKConstants, Encode::CN, Encode::CN::HZ,
4072 Encode::Config, Encode::EBCDIC, Encode::Encoder, Encode::Encoding,
4073 Encode::Guess, Encode::JP, Encode::JP::H2Z, Encode::JP::JIS7, Encode::KR,
4074 Encode::KR::2022_KR, Encode::MIME::Header, Encode::PerlIO,
4075 Encode::Supported, Encode::Symbol, Encode::TW, Encode::Unicode,
4076 Encode::Unicode::UTF7, English, Env, Errno, Exporter, Exporter::Heavy,
4077 ExtUtils::CBuilder, ExtUtils::CBuilder::Platform::Windows,
4078 ExtUtils::Command, ExtUtils::Command::MM, ExtUtils::Constant,
4079 ExtUtils::Constant::Base, ExtUtils::Constant::Utils,
4080 ExtUtils::Constant::XS, ExtUtils::Embed, ExtUtils::Install,
4081 ExtUtils::Installed, ExtUtils::Liblist, ExtUtils::MM, ExtUtils::MM_AIX,
4082 ExtUtils::MM_Any, ExtUtils::MM_BeOS, ExtUtils::MM_Cygwin, ExtUtils::MM_DOS,
4083 ExtUtils::MM_MacOS, ExtUtils::MM_NW5, ExtUtils::MM_OS2, ExtUtils::MM_QNX,
4084 ExtUtils::MM_UWIN, ExtUtils::MM_Unix, ExtUtils::MM_VMS, ExtUtils::MM_VOS,
4085 ExtUtils::MM_Win32, ExtUtils::MM_Win95, ExtUtils::MY, ExtUtils::MakeMaker,
4086 ExtUtils::MakeMaker::Config, ExtUtils::MakeMaker::FAQ,
4087 ExtUtils::MakeMaker::Tutorial, ExtUtils::MakeMaker::bytes,
4088 ExtUtils::MakeMaker::vmsish, ExtUtils::Manifest, ExtUtils::Mkbootstrap,
4089 ExtUtils::Mksymlists, ExtUtils::Packlist, ExtUtils::ParseXS,
4090 ExtUtils::testlib, Fatal, Fcntl, File::Basename, File::CheckTree,
4091 File::Compare, File::Copy, File::DosGlob, File::Find, File::Glob,
4092 File::GlobMapper, File::Path, File::Spec, File::Spec::Cygwin,
4093 File::Spec::Epoc, File::Spec::Functions, File::Spec::Mac, File::Spec::OS2,
4094 File::Spec::Unix, File::Spec::VMS, File::Spec::Win32, File::Temp,
4095 File::stat, FileCache, FileHandle, Filter::Simple, Filter::Util::Call,
4096 FindBin, GDBM_File, Getopt::Long, Getopt::Std, Hash::Util, I18N::Collate,
4097 I18N::LangTags, I18N::LangTags::Detect, I18N::LangTags::List,
4098 I18N::Langinfo, IO, IO::Compress::Deflate, IO::Compress::Gzip,
4099 IO::Compress::RawDeflate, IO::Dir, IO::File, IO::Handle, IO::Pipe,
4100 IO::Poll, IO::Seekable, IO::Select, IO::Socket, IO::Socket::INET,
4101 IO::Socket::UNIX, IO::Uncompress::AnyInflate, IO::Uncompress::Gunzip,
4102 IO::Uncompress::Inflate, IO::Uncompress::RawInflate, IO::Zlib, IPC::Open2,
4103 IPC::Open3, IPC::SysV, IPC::SysV::Msg, IPC::SysV::Semaphore, List::Util,
4104 Locale::Constants, Locale::Country, Locale::Currency, Locale::Language,
4105 Locale::Maketext, Locale::Maketext::TPJ13, Locale::Script, MIME::Base64,
4106 MIME::Base64::QuotedPrint, Math::BigFloat, Math::BigInt,
4107 Math::BigInt::Calc, Math::BigInt::CalcEmu, Math::BigInt::FastCalc,
4108 Math::BigRat, Math::Complex, Math::Trig, Memoize, Memoize::AnyDBM_File,
4109 Memoize::Expire, Memoize::ExpireFile, Memoize::ExpireTest,
4110 Memoize::NDBM_File, Memoize::SDBM_File, Memoize::Storable,
4111 Module::CoreList, NDBM_File, NEXT, Net::Cmd, Net::Config, Net::Domain,
4112 Net::FTP, Net::NNTP, Net::Netrc, Net::POP3, Net::Ping, Net::SMTP,
4113 Net::Time, Net::hostent, Net::libnetFAQ, Net::netent, Net::protoent,
4114 Net::servent, O, ODBM_File, Opcode, POSIX, PerlIO, PerlIO::encoding,
4115 PerlIO::scalar, PerlIO::via, PerlIO::via::QuotedPrint, Pod::Checker,
4116 Pod::Escapes, Pod::Find, Pod::Functions, Pod::Html, Pod::InputObjects,
4117 Pod::LaTeX, Pod::Man, Pod::ParseLink, Pod::ParseUtils, Pod::Parser,
4118 Pod::Perldoc::ToChecker, Pod::Perldoc::ToMan, Pod::Perldoc::ToNroff,
4119 Pod::Perldoc::ToPod, Pod::Perldoc::ToRtf, Pod::Perldoc::ToText,
4120 Pod::Perldoc::ToTk, Pod::Perldoc::ToXml, Pod::PlainText, Pod::Plainer,
4121 Pod::Select, Pod::Simple, Pod::Simple::Checker, Pod::Simple::Debug,
4122 Pod::Simple::DumpAsText, Pod::Simple::DumpAsXML, Pod::Simple::HTML,
4123 Pod::Simple::HTMLBatch, Pod::Simple::LinkSection, Pod::Simple::Methody,
4124 Pod::Simple::PullParser, Pod::Simple::PullParserEndToken,
4125 Pod::Simple::PullParserStartToken, Pod::Simple::PullParserTextToken,
4126 Pod::Simple::PullParserToken, Pod::Simple::RTF, Pod::Simple::Search,
4127 Pod::Simple::SimpleTree, Pod::Simple::Subclassing, Pod::Simple::Text,
4128 Pod::Simple::TextContent, Pod::Simple::XMLOutStream, Pod::Text,
4129 Pod::Text::Color, Pod::Text::Overstrike, Pod::Text::Termcap, Pod::Usage,
4130 SDBM_File, Safe, Scalar::Util, Search::Dict, SelectSaver, SelfLoader,
4131 Shell, Socket, Storable, Switch, Symbol, Sys::Hostname, Sys::Syslog,
4132 Term::ANSIColor, Term::Cap, Term::Complete, Term::ReadLine, Test,
4133 Test::Builder, Test::Builder::Module, Test::Builder::Tester,
4134 Test::Builder::Tester::Color, Test::Harness, Test::Harness::Assert,
4135 Test::Harness::Iterator, Test::Harness::Point, Test::Harness::Straps,
4136 Test::Harness::TAP, Test::More, Test::Simple, Test::Tutorial, Text::Abbrev,
4137 Text::Balanced, Text::ParseWords, Text::Soundex, Text::Tabs, Text::Wrap,
4138 Thread, Thread::Queue, Thread::Semaphore, Thread::Signal, Thread::Specific,
4139 Tie::Array, Tie::File, Tie::Handle, Tie::Hash, Tie::Memoize, Tie::RefHash,
4140 Tie::Scalar, Tie::SubstrHash, Time::HiRes, Time::Local, Time::gmtime,
4141 Time::localtime, Time::tm, UNIVERSAL, Unicode::Collate, Unicode::Normalize,
4142 Unicode::UCD, User::grent, User::pwent, XS::APItest, XS::Typemap, XSLoader
4144 =item Extension Modules
4158 China, Indonesia, Israel, Japan, Malaysia, Russian Federation, Saudi
4159 Arabia, Singapore, South Korea, Taiwan, Thailand
4161 =item Central America
4167 Austria, Belgium, Bosnia and Herzegovina, Bulgaria, Croatia, Czech
4168 Republic, Denmark, Estonia, Finland, France, Germany, Greece, Hungary,
4169 Iceland, Ireland, Italy, Latvia, Lithuania, Netherlands, Norway, Poland,
4170 Portugal, Romania, Russia, Slovakia, Slovenia, Spain, Sweden, Switzerland,
4171 Turkey, Ukraine, United Kingdom
4175 Canada, Alberta, Manitoba, Nova Scotia, Ontario, Mexico, United States,
4176 Alabama, California, Colorado, Delaware, District of Columbia, Florida,
4177 Indiana, Kentucky, Massachusetts, Michigan, Nevada, New Jersey, New York,
4178 North Carolina, Oklahoma, Oregon, Pennsylvania, Tennessee, Texas, Utah,
4179 Virginia, Washington, Wisconsin
4183 Australia, New Zealand, United States
4187 Argentina, Brazil, Chile
4193 =item Modules: Creation, Use, and Abuse
4197 =item Guidelines for Module Creation
4199 =item Guidelines for Converting Perl 4 Library Scripts into Modules
4201 =item Guidelines for Reusing Application Code
4209 =head2 perlmodstyle - Perl module style guide
4215 =item QUICK CHECKLIST
4219 =item Before you start
4227 =item Release considerations
4231 =item BEFORE YOU START WRITING A MODULE
4235 =item Has it been done before?
4237 =item Do one thing and do it well
4239 =item What's in a name?
4243 =item DESIGNING AND WRITING YOUR MODULE
4247 =item To OO or not to OO?
4249 =item Designing your API
4251 Write simple routines to do simple things, Separate functionality from
4252 output, Provide sensible shortcuts and defaults, Naming conventions,
4255 =item Strictness and warnings
4257 =item Backwards compatibility
4259 =item Error handling and messages
4263 =item DOCUMENTING YOUR MODULE
4269 =item README, INSTALL, release notes, changelogs
4271 perl Makefile.PL, make, make test, make install, perl Build.PL, perl Build,
4272 perl Build test, perl Build install
4276 =item RELEASE CONSIDERATIONS
4280 =item Version numbering
4282 =item Pre-requisites
4292 =item COMMON PITFALLS
4296 =item Reinventing the wheel
4298 =item Trying to do too much
4300 =item Inappropriate documentation
4306 L<perlstyle>, L<perlnewmod>, L<perlpod>, L<podchecker>, Packaging Tools,
4307 Testing tools, http://pause.perl.org/, Any good book on software
4314 =head2 perlmodinstall - Installing CPAN Modules
4324 B<DECOMPRESS> the file, B<UNPACK> the file into a directory, B<BUILD> the
4325 module (sometimes unnecessary), B<INSTALL> the module
4339 =head2 perlnewmod - preparing a new module for distribution
4349 =item What should I make into a module?
4351 =item Step-by-step: Preparing the ground
4353 Look around, Check it's new, Discuss the need, Choose a name, Check again
4355 =item Step-by-step: Making the module
4357 Start with F<module-starter> or F<h2xs>, Use L<strict|strict> and
4358 L<warnings|warnings>, Use L<Carp|Carp>, Use L<Exporter|Exporter> - wisely!,
4359 Use L<plain old documentation|perlpod>, Write tests, Write the README
4361 =item Step-by-step: Distributing your module
4363 Get a CPAN user ID, C<perl Makefile.PL; make test; make dist>, Upload the
4364 tarball, Announce to the modules list, Announce to clpa, Fix bugs!
4374 =head2 perlpragma - how to write a user pragma
4380 =item A basic example
4382 =item Implementation details
4386 =head2 perlutil - utilities packaged with the Perl distribution
4392 =item LIST OF UTILITIES
4398 L<perldoc|perldoc>, L<pod2man|pod2man> and L<pod2text|pod2text>,
4399 L<pod2html|pod2html> and L<pod2latex|pod2latex>, L<pod2usage|pod2usage>,
4400 L<podselect|podselect>, L<podchecker|podchecker>, L<splain|splain>,
4401 L<roffitall|roffitall>
4405 L<a2p|a2p>, L<s2p|s2p> and L<psed>, L<find2perl|find2perl>
4407 =item Administration
4409 L<config_data|config_data>, L<libnetcfg|libnetcfg>, L<perlivp>
4413 L<perlbug|perlbug>, L<h2ph|h2ph>, L<c2ph|c2ph> and L<pstruct|pstruct>,
4414 L<h2xs|h2xs>, L<enc2xs>, L<xsubpp>, L<dprofpp|dprofpp>, L<perlcc|perlcc>,
4415 L<prove>, L<corelist>
4419 L<piconv>, L<ptar>, L<ptardiff>, L<shasum>
4423 L<cpan>, L<instmodsh>
4431 =head2 perlcompile - Introduction to the Perl Compiler-Translator
4441 B::Bytecode, B::C, B::CC, B::Lint, B::Deparse, B::Xref
4445 =item Using The Back Ends
4449 =item The Cross Referencing Back End
4453 =item The Decompiling Back End
4455 =item The Lint Back End
4457 =item The Simple C Back End
4459 =item The Bytecode Back End
4461 =item The Optimized C Back End
4465 =item Module List for the Compiler Suite
4467 B, O, B::Asmdata, B::Assembler, B::Bblock, B::Bytecode, B::C, B::CC,
4468 B::Concise, B::Debug, B::Deparse, B::Disassembler, B::Lint, B::Showlex,
4469 B::Stackobj, B::Stash, B::Terse, B::Xref
4471 =item KNOWN PROBLEMS
4477 =head2 perlfilter - Source Filters
4487 =item WRITING A SOURCE FILTER
4489 =item WRITING A SOURCE FILTER IN C
4491 B<Decryption Filters>
4493 =item CREATING A SOURCE FILTER AS A SEPARATE EXECUTABLE
4495 =item WRITING A SOURCE FILTER IN PERL
4497 =item USING CONTEXT: THE DEBUG FILTER
4501 =item THINGS TO LOOK OUT FOR
4503 Some Filters Clobber the C<DATA> Handle
4513 =head2 perlglossary - Perl Glossary
4523 accessor methods, actual arguments, address operator, algorithm, alias,
4524 alternatives, anonymous, architecture, argument, ARGV, arithmetical
4525 operator, array, array context, ASCII, assertion, assignment, assignment
4526 operator, associative array, associativity, asynchronous, atom, atomic
4527 operation, attribute, autogeneration, autoincrement, autoload, autosplit,
4528 autovivification, AV, awk
4532 backreference, backtracking, backward compatibility, bareword, base class,
4533 big-endian, binary, binary operator, bind, bit, bit shift, bit string,
4534 bless, block, BLOCK, block buffering, Boolean, Boolean context, breakpoint,
4535 broadcast, BSD, bucket, buffer, built-in, bundle, byte, bytecode
4539 C, C preprocessor, call by reference, call by value, callback, canonical,
4540 capturing, character, character class, character property, circumfix
4541 operator, class, class method, client, cloister, closure, cluster, CODE,
4542 code generator, code subpattern, collating sequence, command, command
4543 buffering, command name, command-line arguments, comment, compilation unit,
4544 compile phase, compile time, compiler, composer, concatenation,
4545 conditional, connection, construct, constructor, context, continuation,
4546 core dump, CPAN, cracker, current package, current working directory,
4547 currently selected output channel, CV
4551 dangling statement, data structure, data type, datagram, DBM, declaration,
4552 decrement, default, defined, delimiter, dereference, derived class,
4553 descriptor, destroy, destructor, device, directive, directory, directory
4554 handle, dispatch, distribution, dweomer, dwimmer, dynamic scoping
4558 eclectic, element, embedding, empty subclass test, en passant,
4559 encapsulation, endian, environment, environment variable, EOF, errno,
4560 error, escape sequence, exception, exception handling, exec, executable
4561 file, execute, execute bit, exit status, export, expression, extension
4565 false, FAQ, fatal error, field, FIFO, file, file descriptor, file test
4566 operator, fileglob, filehandle, filename, filesystem, filter, flag,
4567 floating point, flush, FMTEYEWTK, fork, formal arguments, format, freely
4568 available, freely redistributable, freeware, function, funny character,
4573 GID, glob, global, global destruction, glue language, granularity, greedy,
4578 hacker, handler, hard reference, hash, hash table, header file, here
4579 document, hexadecimal, home directory, host, hubris, HV
4583 identifier, impatience, implementation, import, increment, indexing,
4584 indirect filehandle, indirect object, indirect object slot, indirection,
4585 infix, inheritance, instance, instance variable, integer, interface,
4586 interpolation, interpreter, invocant, invocation, I/O, IO, IP, IPC, is-a,
4587 iteration, iterator, IV
4599 label, laziness, left shift, leftmost longest, lexeme, lexer, lexical
4600 analysis, lexical scoping, lexical variable, library, LIFO, line, line
4601 buffering, line number, link, LIST, list, list context, list operator, list
4602 value, literal, little-endian, local, logical operator, lookahead,
4603 lookbehind, loop, loop control statement, loop label, lvaluable, lvalue,
4608 magic, magical increment, magical variables, Makefile, man, manpage,
4609 matching, member data, memory, metacharacter, metasymbol, method,
4610 minimalism, mode, modifier, module, modulus, monger, mortal,
4611 multidimensional array, multiple inheritance
4615 named pipe, namespace, network address, newline, NFS, null character, null
4616 list, null string, numeric context, NV, nybble
4620 object, octal, offset, one-liner, open source software, operand, operating
4621 system, operator, operator overloading, options, overloading, overriding,
4626 package, pad, parameter, parent class, parse tree, parsing, patch, PATH,
4627 pathname, pattern, pattern matching, permission bits, Pern, pipe, pipeline,
4628 platform, pod, pointer, polymorphism, port, portable, porter, POSIX,
4629 postfix, pp, pragma, precedence, prefix, preprocessing, procedure, process,
4630 program generator, progressive matching, property, protocol, prototype,
4631 pseudofunction, pseudohash, pseudoliteral, public domain, pumpkin,
4636 qualified, quantifier
4640 readable, reaping, record, recursion, reference, referent, regex, regular
4641 expression, regular expression modifier, regular file, relational operator,
4642 reserved words, return value, RFC, right shift, root, RTFM, run phase, run
4643 time, run-time pattern, RV, rvalue
4647 scalar, scalar context, scalar literal, scalar value, scalar variable,
4648 scope, scratchpad, script, script kiddie, sed, semaphore, separator,
4649 serialization, server, service, setgid, setuid, shared memory, shebang,
4650 shell, side effects, signal, signal handler, single inheritance, slice,
4651 slurp, socket, soft reference, source filter, stack, standard, standard
4652 error, standard I/O, standard input, standard output, stat structure,
4653 statement, statement modifier, static, static method, static scoping,
4654 static variable, status, STDERR, STDIN, STDIO, STDOUT, stream, string,
4655 string context, stringification, struct, structure, subclass, subpattern,
4656 subroutine, subscript, substitution, substring, superclass, superuser, SV,
4657 switch, switch cluster, switch statement, symbol, symbol table, symbolic
4658 debugger, symbolic link, symbolic reference, synchronous, syntactic sugar,
4659 syntax, syntax tree, syscall
4663 tainted, TCP, term, terminator, ternary, text, thread, tie, TMTOWTDI,
4664 token, tokener, tokenizing, toolbox approach, transliterate, trigger,
4665 trinary, troff, true, truncating, type, type casting, typed lexical,
4666 typedef, typeglob, typemap
4670 UDP, UID, umask, unary operator, Unicode, Unix
4674 value, variable, variable interpolation, variadic, vector, virtual, void
4679 warning, watch expression, whitespace, word, working directory, wrapper,
4696 =item AUTHOR AND COPYRIGHT
4700 =head2 perlembed - how to embed perl in your C program
4710 B<Use C from Perl?>, B<Use a Unix program from Perl?>, B<Use Perl from
4711 Perl?>, B<Use C from C?>, B<Use Perl from C?>
4715 =item Compiling your C program
4717 =item Adding a Perl interpreter to your C program
4719 =item Calling a Perl subroutine from your C program
4721 =item Evaluating a Perl statement from your C program
4723 =item Performing Perl pattern matches and substitutions from your C program
4725 =item Fiddling with the Perl stack from your C program
4727 =item Maintaining a persistent interpreter
4729 =item Execution of END blocks
4731 =item $0 assignments
4733 =item Maintaining multiple interpreter instances
4735 =item Using Perl modules, which themselves use C libraries, from your C
4740 =item Embedding Perl under Win32
4752 =head2 perldebguts - Guts of Perl debugging
4758 =item Debugger Internals
4762 =item Writing Your Own Debugger
4766 =item Frame Listing Output Examples
4768 =item Debugging regular expressions
4772 =item Compile-time output
4774 C<anchored> I<STRING> C<at> I<POS>, C<floating> I<STRING> C<at>
4775 I<POS1..POS2>, C<matching floating/anchored>, C<minlen>, C<stclass>
4776 I<TYPE>, C<noscan>, C<isall>, C<GPOS>, C<plus>, C<implicit>, C<with eval>,
4779 =item Types of nodes
4781 =item Run-time output
4785 =item Debugging Perl memory usage
4789 =item Using C<$ENV{PERL_DEBUG_MSTATS}>
4791 C<buckets SMALLEST(APPROX)..GREATEST(APPROX)>, Free/Used, C<Total sbrk():
4792 SBRKed/SBRKs:CONTINUOUS>, C<pad: 0>, C<heads: 2192>, C<chain: 0>, C<tail:
4801 =head2 perlxstut, perlXStut - Tutorial for writing XSUBs
4813 =item Version caveat
4815 =item Dynamic Loading versus Static Loading
4827 =item What has gone on?
4829 =item Writing good test scripts
4833 =item What's new here?
4835 =item Input and Output Parameters
4837 =item The XSUBPP Program
4839 =item The TYPEMAP file
4841 =item Warning about Output Arguments
4845 =item What has happened here?
4847 =item Anatomy of .xs file
4849 =item Getting the fat out of XSUBs
4851 =item More about XSUB arguments
4853 =item The Argument Stack
4855 =item Extending your Extension
4857 =item Documenting your Extension
4859 =item Installing your Extension
4863 =item New Things in this Example
4867 =item New Things in this Example
4869 =item EXAMPLE 7 (Coming Soon)
4871 =item EXAMPLE 8 (Coming Soon)
4873 =item EXAMPLE 9 Passing open files to XSes
4875 =item Troubleshooting these Examples
4891 =head2 perlxs - XS language reference manual
4903 =item The Anatomy of an XSUB
4905 =item The Argument Stack
4907 =item The RETVAL Variable
4909 =item Returning SVs, AVs and HVs through RETVAL
4911 =item The MODULE Keyword
4913 =item The PACKAGE Keyword
4915 =item The PREFIX Keyword
4917 =item The OUTPUT: Keyword
4919 =item The NO_OUTPUT Keyword
4921 =item The CODE: Keyword
4923 =item The INIT: Keyword
4925 =item The NO_INIT Keyword
4927 =item Initializing Function Parameters
4929 =item Default Parameter Values
4931 =item The PREINIT: Keyword
4933 =item The SCOPE: Keyword
4935 =item The INPUT: Keyword
4937 =item The IN/OUTLIST/IN_OUTLIST/OUT/IN_OUT Keywords
4939 =item The C<length(NAME)> Keyword
4941 =item Variable-length Parameter Lists
4943 =item The C_ARGS: Keyword
4945 =item The PPCODE: Keyword
4947 =item Returning Undef And Empty Lists
4949 =item The REQUIRE: Keyword
4951 =item The CLEANUP: Keyword
4953 =item The POSTCALL: Keyword
4955 =item The BOOT: Keyword
4957 =item The VERSIONCHECK: Keyword
4959 =item The PROTOTYPES: Keyword
4961 =item The PROTOTYPE: Keyword
4963 =item The ALIAS: Keyword
4965 =item The OVERLOAD: Keyword
4967 =item The FALLBACK: Keyword
4969 =item The INTERFACE: Keyword
4971 =item The INTERFACE_MACRO: Keyword
4973 =item The INCLUDE: Keyword
4975 =item The CASE: Keyword
4977 =item The & Unary Operator
4979 =item Inserting POD, Comments and C Preprocessor Directives
4981 =item Using XS With C++
4983 =item Interface Strategy
4985 =item Perl Objects And C Structures
4989 =item Safely Storing Static Data in XS
4991 MY_CXT_KEY, typedef my_cxt_t, START_MY_CXT, MY_CXT_INIT, dMY_CXT, MY_CXT,
4992 aMY_CXT/pMY_CXT, MY_CXT_CLONE, MY_CXT_INIT_INTERP(my_perl),
4993 dMY_CXT_INTERP(my_perl)
5005 =head2 perlclib - Internal replacements for standard C library functions
5015 C<t>, C<p>, C<n>, C<s>
5017 =item File Operations
5019 =item File Input and Output
5021 =item File Positioning
5023 =item Memory Management and String Handling
5025 =item Character Class Tests
5027 =item F<stdlib.h> functions
5029 =item Miscellaneous functions
5037 =head2 perlguts - Introduction to the Perl API
5049 =item What is an "IV"?
5051 =item Working with SVs
5055 =item What's Really Stored in an SV?
5057 =item Working with AVs
5059 =item Working with HVs
5061 =item Hash API Extensions
5063 =item AVs, HVs and undefined values
5067 =item Blessed References and Class Objects
5069 =item Creating New Variables
5071 GV_ADDMULTI, GV_ADDWARN
5073 =item Reference Counts and Mortality
5075 =item Stashes and Globs
5077 =item Double-Typed SVs
5079 =item Magic Variables
5081 =item Assigning Magic
5083 =item Magic Virtual Tables
5087 =item Understanding the Magic of Tied Hashes and Arrays
5089 =item Localizing changes
5091 C<SAVEINT(int i)>, C<SAVEIV(IV i)>, C<SAVEI32(I32 i)>, C<SAVELONG(long i)>,
5092 C<SAVESPTR(s)>, C<SAVEPPTR(p)>, C<SAVEFREESV(SV *sv)>, C<SAVEMORTALIZESV(SV
5093 *sv)>, C<SAVEFREEOP(OP *op)>, C<SAVEFREEPV(p)>, C<SAVECLEARSV(SV *sv)>,
5094 C<SAVEDELETE(HV *hv, char *key, I32 length)>,
5095 C<SAVEDESTRUCTOR(DESTRUCTORFUNC_NOCONTEXT_t f, void *p)>,
5096 C<SAVEDESTRUCTOR_X(DESTRUCTORFUNC_t f, void *p)>, C<SAVESTACK_POS()>, C<SV*
5097 save_scalar(GV *gv)>, C<AV* save_ary(GV *gv)>, C<HV* save_hash(GV *gv)>,
5098 C<void save_item(SV *item)>, C<void save_list(SV **sarg, I32 maxsarg)>,
5099 C<SV* save_svref(SV **sptr)>, C<void save_aptr(AV **aptr)>, C<void
5100 save_hptr(HV **hptr)>
5108 =item XSUBs and the Argument Stack
5110 =item Calling Perl Routines from within C Programs
5112 =item Memory Allocation
5116 =item Putting a C value on Perl stack
5120 =item Scratchpads and recursion
5130 =item Examining the tree
5132 =item Compile pass 1: check routines
5134 =item Compile pass 1a: constant folding
5136 =item Compile pass 2: context propagation
5138 =item Compile pass 3: peephole optimization
5140 =item Pluggable runops
5144 =item Examining internal data structures with the C<dump> functions
5146 =item How multiple interpreters and concurrency are supported
5150 =item Background and PERL_IMPLICIT_CONTEXT
5152 =item So what happened to dTHR?
5154 =item How do I use all this in extensions?
5156 =item Should I do anything special if I call perl from multiple threads?
5158 =item Future Plans and PERL_IMPLICIT_SYS
5162 =item Internal Functions
5164 A, p, d, s, n, r, f, M, o, x, m, X, E, b, others
5168 =item Formatted Printing of IVs, UVs, and NVs
5170 =item Pointer-To-Integer and Integer-To-Pointer
5172 =item Exception Handling
5174 =item Source Documentation
5176 =item Backwards compatibility
5180 =item Unicode Support
5184 =item What B<is> Unicode, anyway?
5186 =item How can I recognise a UTF-8 string?
5188 =item How does UTF-8 represent Unicode characters?
5190 =item How does Perl store UTF-8 strings?
5192 =item How do I convert a string to UTF-8?
5194 =item Is there anything else I need to know?
5198 =item Custom Operators
5206 =head2 perlcall - Perl calling conventions from C
5212 An Error Handler, An Event Driven Program
5214 =item THE CALL_ FUNCTIONS
5216 call_sv, call_pv, call_method, call_argv
5236 =item Determining the Context
5244 =item No Parameters, Nothing returned
5246 =item Passing Parameters
5248 =item Returning a Scalar
5250 =item Returning a list of values
5252 =item Returning a list in a scalar context
5254 =item Returning Data from Perl via the parameter list
5258 =item Using G_KEEPERR
5262 =item Using call_argv
5264 =item Using call_method
5268 =item Using Perl to dispose of temporaries
5270 =item Strategies for storing Callback Context Information
5272 1. Ignore the problem - Allow only 1 callback, 2. Create a sequence of
5273 callbacks - hard wired limit, 3. Use a parameter to map to the Perl
5276 =item Alternate Stack Manipulation
5278 =item Creating and calling an anonymous subroutine in C
5282 =item LIGHTWEIGHT CALLBACKS
5292 =head2 perlapi - autogenerated documentation for the perl public API
5297 X<Perl API> X<API> X<api>
5299 =item "Gimme" Values
5301 GIMME X<GIMME>, GIMME_V X<GIMME_V>, G_ARRAY X<G_ARRAY>, G_DISCARD
5302 X<G_DISCARD>, G_EVAL X<G_EVAL>, G_NOARGS X<G_NOARGS>, G_SCALAR X<G_SCALAR>,
5305 =item Array Manipulation Functions
5307 AvFILL X<AvFILL>, av_clear X<av_clear>, av_delete X<av_delete>, av_exists
5308 X<av_exists>, av_extend X<av_extend>, av_fetch X<av_fetch>, av_fill
5309 X<av_fill>, av_len X<av_len>, av_make X<av_make>, av_pop X<av_pop>, av_push
5310 X<av_push>, av_shift X<av_shift>, av_store X<av_store>, av_undef
5311 X<av_undef>, av_unshift X<av_unshift>, get_av X<get_av>, newAV X<newAV>,
5312 sortsv X<sortsv>, sortsv_flags X<sortsv_flags>
5314 =item Callback Functions
5316 call_argv X<call_argv>, call_method X<call_method>, call_pv X<call_pv>,
5317 call_sv X<call_sv>, ENTER X<ENTER>, eval_pv X<eval_pv>, eval_sv X<eval_sv>,
5318 FREETMPS X<FREETMPS>, LEAVE X<LEAVE>, SAVETMPS X<SAVETMPS>
5320 =item Character classes
5322 isALNUM X<isALNUM>, isALPHA X<isALPHA>, isDIGIT X<isDIGIT>, isLOWER
5323 X<isLOWER>, isSPACE X<isSPACE>, isUPPER X<isUPPER>, toLOWER X<toLOWER>,
5326 =item Cloning an interpreter
5328 perl_clone X<perl_clone>
5330 =item CV Manipulation Functions
5332 CvSTASH X<CvSTASH>, get_cv X<get_cv>
5334 =item Embedding Functions
5336 cv_undef X<cv_undef>, load_module X<load_module>, nothreadhook
5337 X<nothreadhook>, perl_alloc X<perl_alloc>, perl_construct
5338 X<perl_construct>, perl_destruct X<perl_destruct>, perl_free X<perl_free>,
5339 perl_parse X<perl_parse>, perl_run X<perl_run>, require_pv X<require_pv>
5341 =item Functions in file mathoms.c
5343 gv_fetchmethod X<gv_fetchmethod>, pack_cat X<pack_cat>, sv_2pvbyte_nolen
5344 X<sv_2pvbyte_nolen>, sv_2pvutf8_nolen X<sv_2pvutf8_nolen>, sv_2pv_nolen
5345 X<sv_2pv_nolen>, sv_catpvn_mg X<sv_catpvn_mg>, sv_catsv_mg X<sv_catsv_mg>,
5346 sv_force_normal X<sv_force_normal>, sv_iv X<sv_iv>, sv_nolocking
5347 X<sv_nolocking>, sv_nounlocking X<sv_nounlocking>, sv_nv X<sv_nv>, sv_pv
5348 X<sv_pv>, sv_pvbyte X<sv_pvbyte>, sv_pvbyten X<sv_pvbyten>, sv_pvn
5349 X<sv_pvn>, sv_pvutf8 X<sv_pvutf8>, sv_pvutf8n X<sv_pvutf8n>, sv_taint
5350 X<sv_taint>, sv_unref X<sv_unref>, sv_usepvn X<sv_usepvn>, sv_usepvn_mg
5351 X<sv_usepvn_mg>, sv_uv X<sv_uv>, unpack_str X<unpack_str>
5353 =item Functions in file pp_pack.c
5355 packlist X<packlist>, unpackstring X<unpackstring>
5357 =item Global Variables
5359 PL_modglobal X<PL_modglobal>, PL_na X<PL_na>, PL_sv_no X<PL_sv_no>,
5360 PL_sv_undef X<PL_sv_undef>, PL_sv_yes X<PL_sv_yes>
5364 GvSV X<GvSV>, gv_const_sv X<gv_const_sv>, gv_fetchmeth X<gv_fetchmeth>,
5365 gv_fetchmethod_autoload X<gv_fetchmethod_autoload>, gv_fetchmeth_autoload
5366 X<gv_fetchmeth_autoload>, gv_stashpv X<gv_stashpv>, gv_stashpvn
5367 X<gv_stashpvn>, gv_stashpvs X<gv_stashpvs>, gv_stashsv X<gv_stashsv>
5371 Nullav X<Nullav>, Nullch X<Nullch>, Nullcv X<Nullcv>, Nullhv X<Nullhv>,
5374 =item Hash Manipulation Functions
5376 get_hv X<get_hv>, HEf_SVKEY X<HEf_SVKEY>, HeHASH X<HeHASH>, HeKEY X<HeKEY>,
5377 HeKLEN X<HeKLEN>, HePV X<HePV>, HeSVKEY X<HeSVKEY>, HeSVKEY_force
5378 X<HeSVKEY_force>, HeSVKEY_set X<HeSVKEY_set>, HeVAL X<HeVAL>, HvNAME
5379 X<HvNAME>, hv_assert X<hv_assert>, hv_clear X<hv_clear>,
5380 hv_clear_placeholders X<hv_clear_placeholders>, hv_delete X<hv_delete>,
5381 hv_delete_ent X<hv_delete_ent>, hv_exists X<hv_exists>, hv_exists_ent
5382 X<hv_exists_ent>, hv_fetch X<hv_fetch>, hv_fetchs X<hv_fetchs>,
5383 hv_fetch_ent X<hv_fetch_ent>, hv_iterinit X<hv_iterinit>, hv_iterkey
5384 X<hv_iterkey>, hv_iterkeysv X<hv_iterkeysv>, hv_iternext X<hv_iternext>,
5385 hv_iternextsv X<hv_iternextsv>, hv_iternext_flags X<hv_iternext_flags>,
5386 hv_iterval X<hv_iterval>, hv_magic X<hv_magic>, hv_scalar X<hv_scalar>,
5387 hv_store X<hv_store>, hv_stores X<hv_stores>, hv_store_ent X<hv_store_ent>,
5388 hv_undef X<hv_undef>, newHV X<newHV>
5390 =item Magical Functions
5392 mg_clear X<mg_clear>, mg_copy X<mg_copy>, mg_find X<mg_find>, mg_free
5393 X<mg_free>, mg_get X<mg_get>, mg_length X<mg_length>, mg_magical
5394 X<mg_magical>, mg_set X<mg_set>, SvGETMAGIC X<SvGETMAGIC>, SvLOCK
5395 X<SvLOCK>, SvSETMAGIC X<SvSETMAGIC>, SvSetMagicSV X<SvSetMagicSV>,
5396 SvSetMagicSV_nosteal X<SvSetMagicSV_nosteal>, SvSetSV X<SvSetSV>,
5397 SvSetSV_nosteal X<SvSetSV_nosteal>, SvSHARE X<SvSHARE>, SvUNLOCK
5400 =item Memory Management
5402 Copy X<Copy>, CopyD X<CopyD>, Move X<Move>, MoveD X<MoveD>, Newx X<Newx>,
5403 Newxc X<Newxc>, Newxz X<Newxz>, Poison X<Poison>, PoisonFree X<PoisonFree>,
5404 PoisonNew X<PoisonNew>, PoisonWith X<PoisonWith>, Renew X<Renew>, Renewc
5405 X<Renewc>, Safefree X<Safefree>, savepv X<savepv>, savepvn X<savepvn>,
5406 savepvs X<savepvs>, savesharedpv X<savesharedpv>, savesvpv X<savesvpv>,
5407 StructCopy X<StructCopy>, Zero X<Zero>, ZeroD X<ZeroD>
5409 =item Miscellaneous Functions
5411 fbm_compile X<fbm_compile>, fbm_instr X<fbm_instr>, form X<form>, getcwd_sv
5412 X<getcwd_sv>, my_snprintf X<my_snprintf>, my_sprintf X<my_sprintf>,
5413 my_vsnprintf X<my_vsnprintf>, new_version X<new_version>, scan_version
5414 X<scan_version>, strEQ X<strEQ>, strGE X<strGE>, strGT X<strGT>, strLE
5415 X<strLE>, strLT X<strLT>, strNE X<strNE>, strnEQ X<strnEQ>, strnNE
5416 X<strnNE>, sv_nosharing X<sv_nosharing>, upg_version X<upg_version>, vcmp
5417 X<vcmp>, vnormal X<vnormal>, vnumify X<vnumify>, vstringify X<vstringify>,
5420 =item Multicall Functions
5422 dMULTICALL X<dMULTICALL>, MULTICALL X<MULTICALL>, POP_MULTICALL
5423 X<POP_MULTICALL>, PUSH_MULTICALL X<PUSH_MULTICALL>
5425 =item Numeric functions
5427 grok_bin X<grok_bin>, grok_hex X<grok_hex>, grok_number X<grok_number>,
5428 grok_numeric_radix X<grok_numeric_radix>, grok_oct X<grok_oct>, scan_bin
5429 X<scan_bin>, scan_hex X<scan_hex>, scan_oct X<scan_oct>
5431 =item Optree Manipulation Functions
5433 cv_const_sv X<cv_const_sv>, newCONSTSUB X<newCONSTSUB>, newXS X<newXS>
5435 =item Pad Data Structures
5439 =item Simple Exception Handling Macros
5441 dXCPT X<dXCPT>, XCPT_CATCH X<XCPT_CATCH>, XCPT_RETHROW X<XCPT_RETHROW>,
5442 XCPT_TRY_END X<XCPT_TRY_END>, XCPT_TRY_START X<XCPT_TRY_START>
5444 =item Stack Manipulation Macros
5446 dMARK X<dMARK>, dORIGMARK X<dORIGMARK>, dSP X<dSP>, EXTEND X<EXTEND>, MARK
5447 X<MARK>, mPUSHi X<mPUSHi>, mPUSHn X<mPUSHn>, mPUSHp X<mPUSHp>, mPUSHu
5448 X<mPUSHu>, mXPUSHi X<mXPUSHi>, mXPUSHn X<mXPUSHn>, mXPUSHp X<mXPUSHp>,
5449 mXPUSHu X<mXPUSHu>, ORIGMARK X<ORIGMARK>, POPi X<POPi>, POPl X<POPl>, POPn
5450 X<POPn>, POPp X<POPp>, POPpbytex X<POPpbytex>, POPpx X<POPpx>, POPs
5451 X<POPs>, PUSHi X<PUSHi>, PUSHMARK X<PUSHMARK>, PUSHmortal X<PUSHmortal>,
5452 PUSHn X<PUSHn>, PUSHp X<PUSHp>, PUSHs X<PUSHs>, PUSHu X<PUSHu>, PUTBACK
5453 X<PUTBACK>, SP X<SP>, SPAGAIN X<SPAGAIN>, XPUSHi X<XPUSHi>, XPUSHmortal
5454 X<XPUSHmortal>, XPUSHn X<XPUSHn>, XPUSHp X<XPUSHp>, XPUSHs X<XPUSHs>,
5455 XPUSHu X<XPUSHu>, XSRETURN X<XSRETURN>, XSRETURN_EMPTY X<XSRETURN_EMPTY>,
5456 XSRETURN_IV X<XSRETURN_IV>, XSRETURN_NO X<XSRETURN_NO>, XSRETURN_NV
5457 X<XSRETURN_NV>, XSRETURN_PV X<XSRETURN_PV>, XSRETURN_UNDEF
5458 X<XSRETURN_UNDEF>, XSRETURN_UV X<XSRETURN_UV>, XSRETURN_YES
5459 X<XSRETURN_YES>, XST_mIV X<XST_mIV>, XST_mNO X<XST_mNO>, XST_mNV
5460 X<XST_mNV>, XST_mPV X<XST_mPV>, XST_mUNDEF X<XST_mUNDEF>, XST_mYES
5465 svtype X<svtype>, SVt_IV X<SVt_IV>, SVt_NV X<SVt_NV>, SVt_PV X<SVt_PV>,
5466 SVt_PVAV X<SVt_PVAV>, SVt_PVCV X<SVt_PVCV>, SVt_PVHV X<SVt_PVHV>, SVt_PVMG
5469 =item SV Manipulation Functions
5471 get_sv X<get_sv>, newRV_inc X<newRV_inc>, SvCUR X<SvCUR>, SvCUR_set
5472 X<SvCUR_set>, SvEND X<SvEND>, SvGAMAGIC X<SvGAMAGIC>, SvGROW X<SvGROW>,
5473 SvIOK X<SvIOK>, SvIOKp X<SvIOKp>, SvIOK_notUV X<SvIOK_notUV>, SvIOK_off
5474 X<SvIOK_off>, SvIOK_on X<SvIOK_on>, SvIOK_only X<SvIOK_only>, SvIOK_only_UV
5475 X<SvIOK_only_UV>, SvIOK_UV X<SvIOK_UV>, SvIsCOW X<SvIsCOW>,
5476 SvIsCOW_shared_hash X<SvIsCOW_shared_hash>, SvIV X<SvIV>, SvIVX X<SvIVX>,
5477 SvIVx X<SvIVx>, SvIV_nomg X<SvIV_nomg>, SvIV_set X<SvIV_set>, SvLEN
5478 X<SvLEN>, SvLEN_set X<SvLEN_set>, SvMAGIC_set X<SvMAGIC_set>, SvNIOK
5479 X<SvNIOK>, SvNIOKp X<SvNIOKp>, SvNIOK_off X<SvNIOK_off>, SvNOK X<SvNOK>,
5480 SvNOKp X<SvNOKp>, SvNOK_off X<SvNOK_off>, SvNOK_on X<SvNOK_on>, SvNOK_only
5481 X<SvNOK_only>, SvNV X<SvNV>, SvNVX X<SvNVX>, SvNVx X<SvNVx>, SvNV_set
5482 X<SvNV_set>, SvOK X<SvOK>, SvOOK X<SvOOK>, SvPOK X<SvPOK>, SvPOKp
5483 X<SvPOKp>, SvPOK_off X<SvPOK_off>, SvPOK_on X<SvPOK_on>, SvPOK_only
5484 X<SvPOK_only>, SvPOK_only_UTF8 X<SvPOK_only_UTF8>, SvPV X<SvPV>, SvPVbyte
5485 X<SvPVbyte>, SvPVbytex X<SvPVbytex>, SvPVbytex_force X<SvPVbytex_force>,
5486 SvPVbyte_force X<SvPVbyte_force>, SvPVbyte_nolen X<SvPVbyte_nolen>,
5487 SvPVutf8 X<SvPVutf8>, SvPVutf8x X<SvPVutf8x>, SvPVutf8x_force
5488 X<SvPVutf8x_force>, SvPVutf8_force X<SvPVutf8_force>, SvPVutf8_nolen
5489 X<SvPVutf8_nolen>, SvPVX X<SvPVX>, SvPVx X<SvPVx>, SvPV_force
5490 X<SvPV_force>, SvPV_force_nomg X<SvPV_force_nomg>, SvPV_nolen
5491 X<SvPV_nolen>, SvPV_nomg X<SvPV_nomg>, SvPV_set X<SvPV_set>, SvREFCNT
5492 X<SvREFCNT>, SvREFCNT_dec X<SvREFCNT_dec>, SvREFCNT_inc X<SvREFCNT_inc>,
5493 SvREFCNT_inc_NN X<SvREFCNT_inc_NN>, SvREFCNT_inc_simple
5494 X<SvREFCNT_inc_simple>, SvREFCNT_inc_simple_NN X<SvREFCNT_inc_simple_NN>,
5495 SvREFCNT_inc_simple_void X<SvREFCNT_inc_simple_void>,
5496 SvREFCNT_inc_simple_void_NN X<SvREFCNT_inc_simple_void_NN>,
5497 SvREFCNT_inc_void X<SvREFCNT_inc_void>, SvREFCNT_inc_void_NN
5498 X<SvREFCNT_inc_void_NN>, SvROK X<SvROK>, SvROK_off X<SvROK_off>, SvROK_on
5499 X<SvROK_on>, SvRV X<SvRV>, SvRV_set X<SvRV_set>, SvSTASH X<SvSTASH>,
5500 SvSTASH_set X<SvSTASH_set>, SvTAINT X<SvTAINT>, SvTAINTED X<SvTAINTED>,
5501 SvTAINTED_off X<SvTAINTED_off>, SvTAINTED_on X<SvTAINTED_on>, SvTRUE
5502 X<SvTRUE>, SvTYPE X<SvTYPE>, SvUOK X<SvUOK>, SvUPGRADE X<SvUPGRADE>, SvUTF8
5503 X<SvUTF8>, SvUTF8_off X<SvUTF8_off>, SvUTF8_on X<SvUTF8_on>, SvUV X<SvUV>,
5504 SvUVX X<SvUVX>, SvUVx X<SvUVx>, SvUV_nomg X<SvUV_nomg>, SvUV_set
5505 X<SvUV_set>, SvVOK X<SvVOK>, sv_catpvn_nomg X<sv_catpvn_nomg>,
5506 sv_catsv_nomg X<sv_catsv_nomg>, sv_derived_from X<sv_derived_from>,
5507 sv_report_used X<sv_report_used>, sv_setsv_nomg X<sv_setsv_nomg>
5509 =item SV-Body Allocation
5511 looks_like_number X<looks_like_number>, newRV_noinc X<newRV_noinc>, newSV
5512 X<newSV>, newSVhek X<newSVhek>, newSViv X<newSViv>, newSVnv X<newSVnv>,
5513 newSVpv X<newSVpv>, newSVpvf X<newSVpvf>, newSVpvn X<newSVpvn>,
5514 newSVpvn_share X<newSVpvn_share>, newSVpvs X<newSVpvs>, newSVpvs_share
5515 X<newSVpvs_share>, newSVrv X<newSVrv>, newSVsv X<newSVsv>, newSVuv
5516 X<newSVuv>, sv_2bool X<sv_2bool>, sv_2cv X<sv_2cv>, sv_2io X<sv_2io>,
5517 sv_2iv_flags X<sv_2iv_flags>, sv_2mortal X<sv_2mortal>, sv_2nv X<sv_2nv>,
5518 sv_2pvbyte X<sv_2pvbyte>, sv_2pvutf8 X<sv_2pvutf8>, sv_2pv_flags
5519 X<sv_2pv_flags>, sv_2uv_flags X<sv_2uv_flags>, sv_backoff X<sv_backoff>,
5520 sv_bless X<sv_bless>, sv_catpv X<sv_catpv>, sv_catpvf X<sv_catpvf>,
5521 sv_catpvf_mg X<sv_catpvf_mg>, sv_catpvn X<sv_catpvn>, sv_catpvn_flags
5522 X<sv_catpvn_flags>, sv_catpvs X<sv_catpvs>, sv_catpv_mg X<sv_catpv_mg>,
5523 sv_catsv X<sv_catsv>, sv_catsv_flags X<sv_catsv_flags>, sv_chop X<sv_chop>,
5524 sv_clear X<sv_clear>, sv_cmp X<sv_cmp>, sv_cmp_locale X<sv_cmp_locale>,
5525 sv_collxfrm X<sv_collxfrm>, sv_copypv X<sv_copypv>, sv_dec X<sv_dec>, sv_eq
5526 X<sv_eq>, sv_force_normal_flags X<sv_force_normal_flags>, sv_free
5527 X<sv_free>, sv_gets X<sv_gets>, sv_grow X<sv_grow>, sv_inc X<sv_inc>,
5528 sv_insert X<sv_insert>, sv_isa X<sv_isa>, sv_isobject X<sv_isobject>,
5529 sv_len X<sv_len>, sv_len_utf8 X<sv_len_utf8>, sv_magic X<sv_magic>,
5530 sv_magicext X<sv_magicext>, sv_mortalcopy X<sv_mortalcopy>, sv_newmortal
5531 X<sv_newmortal>, sv_newref X<sv_newref>, sv_pos_b2u X<sv_pos_b2u>,
5532 sv_pos_u2b X<sv_pos_u2b>, sv_pvbyten_force X<sv_pvbyten_force>,
5533 sv_pvn_force X<sv_pvn_force>, sv_pvn_force_flags X<sv_pvn_force_flags>,
5534 sv_pvutf8n_force X<sv_pvutf8n_force>, sv_reftype X<sv_reftype>, sv_replace
5535 X<sv_replace>, sv_reset X<sv_reset>, sv_rvweaken X<sv_rvweaken>, sv_setiv
5536 X<sv_setiv>, sv_setiv_mg X<sv_setiv_mg>, sv_setnv X<sv_setnv>, sv_setnv_mg
5537 X<sv_setnv_mg>, sv_setpv X<sv_setpv>, sv_setpvf X<sv_setpvf>, sv_setpvf_mg
5538 X<sv_setpvf_mg>, sv_setpviv X<sv_setpviv>, sv_setpviv_mg X<sv_setpviv_mg>,
5539 sv_setpvn X<sv_setpvn>, sv_setpvn_mg X<sv_setpvn_mg>, sv_setpvs
5540 X<sv_setpvs>, sv_setpv_mg X<sv_setpv_mg>, sv_setref_iv X<sv_setref_iv>,
5541 sv_setref_nv X<sv_setref_nv>, sv_setref_pv X<sv_setref_pv>, sv_setref_pvn
5542 X<sv_setref_pvn>, sv_setref_uv X<sv_setref_uv>, sv_setsv X<sv_setsv>,
5543 sv_setsv_flags X<sv_setsv_flags>, sv_setsv_mg X<sv_setsv_mg>, sv_setuv
5544 X<sv_setuv>, sv_setuv_mg X<sv_setuv_mg>, sv_tainted X<sv_tainted>, sv_true
5545 X<sv_true>, sv_unmagic X<sv_unmagic>, sv_unref_flags X<sv_unref_flags>,
5546 sv_untaint X<sv_untaint>, sv_upgrade X<sv_upgrade>, sv_usepvn_flags
5547 X<sv_usepvn_flags>, sv_utf8_decode X<sv_utf8_decode>, sv_utf8_downgrade
5548 X<sv_utf8_downgrade>, sv_utf8_encode X<sv_utf8_encode>, sv_utf8_upgrade
5549 X<sv_utf8_upgrade>, sv_utf8_upgrade_flags X<sv_utf8_upgrade_flags>,
5550 sv_vcatpvf X<sv_vcatpvf>, sv_vcatpvfn X<sv_vcatpvfn>, sv_vcatpvf_mg
5551 X<sv_vcatpvf_mg>, sv_vsetpvf X<sv_vsetpvf>, sv_vsetpvfn X<sv_vsetpvfn>,
5552 sv_vsetpvf_mg X<sv_vsetpvf_mg>
5554 =item Unicode Support
5556 bytes_from_utf8 X<bytes_from_utf8>, bytes_to_utf8 X<bytes_to_utf8>,
5557 ibcmp_utf8 X<ibcmp_utf8>, is_utf8_char X<is_utf8_char>, is_utf8_string
5558 X<is_utf8_string>, is_utf8_string_loc X<is_utf8_string_loc>,
5559 is_utf8_string_loclen X<is_utf8_string_loclen>, pv_uni_display
5560 X<pv_uni_display>, sv_cat_decode X<sv_cat_decode>, sv_recode_to_utf8
5561 X<sv_recode_to_utf8>, sv_uni_display X<sv_uni_display>, to_utf8_case
5562 X<to_utf8_case>, to_utf8_fold X<to_utf8_fold>, to_utf8_lower
5563 X<to_utf8_lower>, to_utf8_title X<to_utf8_title>, to_utf8_upper
5564 X<to_utf8_upper>, utf8n_to_uvchr X<utf8n_to_uvchr>, utf8n_to_uvuni
5565 X<utf8n_to_uvuni>, utf8_distance X<utf8_distance>, utf8_hop X<utf8_hop>,
5566 utf8_length X<utf8_length>, utf8_to_bytes X<utf8_to_bytes>, utf8_to_uvchr
5567 X<utf8_to_uvchr>, utf8_to_uvuni X<utf8_to_uvuni>, uvchr_to_utf8
5568 X<uvchr_to_utf8>, uvuni_to_utf8_flags X<uvuni_to_utf8_flags>
5570 =item Variables created by C<xsubpp> and C<xsubpp> internal functions
5572 ax X<ax>, CLASS X<CLASS>, dAX X<dAX>, dAXMARK X<dAXMARK>, dITEMS X<dITEMS>,
5573 dUNDERBAR X<dUNDERBAR>, dXSARGS X<dXSARGS>, dXSI32 X<dXSI32>, items
5574 X<items>, ix X<ix>, newXSproto X<newXSproto>, RETVAL X<RETVAL>, ST X<ST>,
5575 THIS X<THIS>, UNDERBAR X<UNDERBAR>, XS X<XS>, XS_VERSION X<XS_VERSION>,
5576 XS_VERSION_BOOTCHECK X<XS_VERSION_BOOTCHECK>
5578 =item Warning and Dieing
5580 croak X<croak>, warn X<warn>
5588 =head2 perlintern - autogenerated documentation of purely B<internal>