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 ($Date: 2005/12/30
818 =item Where to get the perlfaq
820 =item How to contribute to the perlfaq
822 =item What will happen if you mail your Perl programming problems to the
829 =item Author and Copyright Information
833 =item Bundled Distributions
839 =item Table of Contents
841 perlfaq - this document, perlfaq1 - General Questions About Perl, perlfaq2
842 - Obtaining and Learning about Perl, perlfaq3 - Programming Tools, perlfaq4
843 - Data Manipulation, perlfaq5 - Files and Formats, perlfaq6 - Regular
844 Expressions, perlfaq7 - General Perl Language Issues, perlfaq8 - System
845 Interaction, perlfaq9 - Networking
851 =item L<perlfaq1>: General Questions About Perl
853 =item L<perlfaq2>: Obtaining and Learning about Perl
855 =item L<perlfaq3>: Programming Tools
857 =item L<perlfaq4>: Data Manipulation
859 =item L<perlfaq5>: Files and Formats
861 =item L<perlfaq6>: Regular Expressions
863 =item L<perlfaq7>: General Perl Language Issues
865 =item L<perlfaq8>: System Interaction
867 =item L<perlfaq9>: Networking
873 =head2 perlfaq1 - General Questions About Perl ($Revision: 1.19 $, $Date:
874 2005/12/31 00:54:37 $)
884 =item Who supports Perl? Who develops it? Why is it free?
886 =item Which version of Perl should I use?
888 =item What are perl4, perl5, or perl6?
894 =item How stable is Perl?
896 =item Is Perl difficult to learn?
898 =item How does Perl compare with other languages like Java, Python, REXX,
901 =item Can I do [task] in Perl?
903 =item When shouldn't I program in Perl?
905 =item What's the difference between "perl" and "Perl"?
907 =item Is it a Perl program or a Perl script?
909 =item What is a JAPH?
911 =item Where can I get a list of Larry Wall witticisms?
913 =item How can I convince my sysadmin/supervisor/employees to use version
914 5/5.6.1/Perl instead of some other language?
918 =item AUTHOR AND COPYRIGHT
922 =head2 perlfaq2 - Obtaining and Learning about Perl ($Revision: 1.38 $,
923 $Date: 2005/12/31 00:54:37 $)
931 =item What machines support perl? Where do I get it?
933 =item How can I get a binary version of perl?
935 =item I don't have a C compiler. How can I build my own Perl interpreter?
937 =item I copied the perl binary from one machine to another, but scripts
940 =item I grabbed the sources and tried to compile but gdbm/dynamic
941 loading/malloc/linking/... failed. How do I make it work?
943 =item What modules and extensions are available for Perl? What is CPAN?
944 What does CPAN/src/... mean?
946 =item Is there an ISO or ANSI certified version of Perl?
948 =item Where can I get information on Perl?
950 =item What are the Perl newsgroups on Usenet? Where do I post questions?
952 =item Where should I post source code?
956 References, Tutorials, Task-Oriented, Special Topics
958 =item Perl in Magazines
960 =item Perl on the Net: FTP and WWW Access
962 =item What mailing lists are there for Perl?
964 =item Archives of comp.lang.perl.misc
966 =item Where can I buy a commercial version of perl?
968 =item Where do I send bug reports?
970 =item What is perl.com? Perl Mongers? pm.org? perl.org? cpan.org?
974 =item AUTHOR AND COPYRIGHT
978 =head2 perlfaq3 - Programming Tools ($Revision: 1.56 $, $Date: 2005/12/31
987 =item How do I do (anything)?
989 =item How can I use Perl interactively?
991 =item Is there a Perl shell?
993 =item How do I find which modules are installed on my system?
995 =item How do I debug my Perl programs?
997 =item How do I profile my Perl programs?
999 =item How do I cross-reference my Perl programs?
1001 =item Is there a pretty-printer (formatter) for Perl?
1003 =item Is there a ctags for Perl?
1005 =item Is there an IDE or Windows Perl Editor?
1007 Eclipse, Enginsite, Komodo, Open Perl IDE, OptiPerl, PerlBuilder,
1008 visiPerl+, Visual Perl, Zeus, GNU Emacs, MicroEMACS, XEmacs, Jed, Elvis,
1009 Vile, Vim, Codewright, MultiEdit, SlickEdit, Bash, Ksh, Tcsh, Zsh, Affrus,
1010 Alpha, BBEdit and BBEdit Lite
1012 =item Where can I get Perl macros for vi?
1014 =item Where can I get perl-mode for emacs?
1016 =item How can I use curses with Perl?
1018 =item How can I use X or Tk with Perl?
1020 =item How can I make my Perl program run faster?
1022 =item How can I make my Perl program take less memory?
1024 Don't slurp!, Use map and grep selectively, Avoid unnecessary quotes and
1025 stringification, Pass by reference, Tie large variables to disk
1027 =item Is it safe to return a reference to local or lexical data?
1029 =item How can I free an array or hash so my program shrinks?
1031 =item How can I make my CGI script more efficient?
1033 =item How can I hide the source for my Perl program?
1035 =item How can I compile my Perl program into byte code or C?
1037 =item How can I compile Perl into Java?
1039 =item How can I get C<#!perl> to work on [MS-DOS,NT,...]?
1041 =item Can I write useful Perl programs on the command line?
1043 =item Why don't Perl one-liners work on my DOS/Mac/VMS system?
1045 =item Where can I learn about CGI or Web programming in Perl?
1047 =item Where can I learn about object-oriented Perl programming?
1049 =item Where can I learn about linking C with Perl?
1051 =item I've read perlembed, perlguts, etc., but I can't embed perl in my C
1052 program; what am I doing wrong?
1054 =item When I tried to run my script, I got this message. What does it mean?
1056 =item What's MakeMaker?
1060 =item AUTHOR AND COPYRIGHT
1064 =head2 perlfaq4 - Data Manipulation ($Revision: 1.73 $, $Date: 2005/12/31
1075 =item Why am I getting long decimals (eg, 19.9499999999999) instead of the
1076 numbers I should be getting (eg, 19.95)?
1078 =item Why is int() broken?
1080 =item Why isn't my octal data interpreted correctly?
1082 =item Does Perl have a round() function? What about ceil() and floor()?
1085 =item How do I convert between numeric representations/bases/radixes?
1087 How do I convert hexadecimal into decimal, How do I convert from decimal to
1088 hexadecimal, How do I convert from octal to decimal, How do I convert from
1089 decimal to octal, How do I convert from binary to decimal, How do I convert
1090 from decimal to binary
1092 =item Why doesn't & work the way I want it to?
1094 =item How do I multiply matrices?
1096 =item How do I perform an operation on a series of integers?
1098 =item How can I output Roman numerals?
1100 =item Why aren't my random numbers random?
1102 =item How do I get a random number between X and Y?
1110 =item How do I find the day or week of the year?
1112 =item How do I find the current century or millennium?
1114 =item How can I compare two dates and find the difference?
1116 =item How can I take a string and turn it into epoch seconds?
1118 =item How can I find the Julian Day?
1120 =item How do I find yesterday's date?
1122 =item Does Perl have a Year 2000 problem? Is Perl Y2K compliant?
1130 =item How do I validate input?
1132 =item How do I unescape a string?
1134 =item How do I remove consecutive pairs of characters?
1136 =item How do I expand function calls in a string?
1138 =item How do I find matching/nesting anything?
1140 =item How do I reverse a string?
1142 =item How do I expand tabs in a string?
1144 =item How do I reformat a paragraph?
1146 =item How can I access or change N characters of a string?
1148 =item How do I change the Nth occurrence of something?
1150 =item How can I count the number of occurrences of a substring within a
1153 =item How do I capitalize all the words on one line?
1155 =item How can I split a [character] delimited string except when inside
1158 =item How do I strip blank space from the beginning/end of a string?
1160 =item How do I pad a string with blanks or pad a number with zeroes?
1162 =item How do I extract selected columns from a string?
1164 =item How do I find the soundex value of a string?
1166 =item How can I expand variables in text strings?
1168 =item What's wrong with always quoting "$vars"?
1170 =item Why don't my E<lt>E<lt>HERE documents work?
1172 There must be no space after the E<lt>E<lt> part, There (probably) should
1173 be a semicolon at the end, You can't (easily) have any space in front of
1182 =item What is the difference between a list and an array?
1184 =item What is the difference between $array[1] and @array[1]?
1186 =item How can I remove duplicate elements from a list or array?
1188 =item How can I tell whether a certain element is contained in a list or
1191 =item How do I compute the difference of two arrays? How do I compute the
1192 intersection of two arrays?
1194 =item How do I test whether two arrays or hashes are equal?
1196 =item How do I find the first array element for which a condition is true?
1198 =item How do I handle linked lists?
1200 =item How do I handle circular lists?
1202 =item How do I shuffle an array randomly?
1204 =item How do I process/modify each element of an array?
1206 =item How do I select a random element from an array?
1208 =item How do I permute N elements of a list?
1210 =item How do I sort an array by (anything)?
1212 =item How do I manipulate arrays of bits?
1214 =item Why does defined() return true on empty arrays and hashes?
1218 =item Data: Hashes (Associative Arrays)
1222 =item How do I process an entire hash?
1224 =item What happens if I add or remove keys from a hash while iterating over
1227 =item How do I look up a hash element by value?
1229 =item How can I know how many entries are in a hash?
1231 =item How do I sort a hash (optionally by value instead of key)?
1233 =item How can I always keep my hash sorted?
1235 =item What's the difference between "delete" and "undef" with hashes?
1237 =item Why don't my tied hashes make the defined/exists distinction?
1239 =item How do I reset an each() operation part-way through?
1241 =item How can I get the unique keys from two hashes?
1243 =item How can I store a multidimensional array in a DBM file?
1245 =item How can I make my hash remember the order I put elements into it?
1247 =item Why does passing a subroutine an undefined element in a hash create
1250 =item How can I make the Perl equivalent of a C structure/C++ class/hash or
1251 array of hashes or arrays?
1253 =item How can I use a reference as a hash key?
1261 =item How do I handle binary data correctly?
1263 =item How do I determine whether a scalar is a number/whole/integer/float?
1265 =item How do I keep persistent data across program calls?
1267 =item How do I print out or copy a recursive data structure?
1269 =item How do I define methods for every class/object?
1271 =item How do I verify a credit card checksum?
1273 =item How do I pack arrays of doubles or floats for XS code?
1277 =item AUTHOR AND COPYRIGHT
1281 =head2 perlfaq5 - Files and Formats ($Revision: 1.42 $, $Date: 2005/12/31
1290 =item How do I flush/unbuffer an output filehandle? Why must I do this?
1291 X<flush> X<buffer> X<unbuffer> X<autoflush>
1293 =item How do I change one line in a file/delete a line in a file/insert a
1294 line in the middle of a file/append to the beginning of a file?
1297 =item How do I count the number of lines in a file?
1298 X<file, counting lines> X<lines> X<line>
1300 =item How can I use Perl's C<-i> option from within a program?
1303 =item How can I copy a file?
1304 X<copy> X<file, copy>
1306 =item How do I make a temporary file name?
1309 =item How can I manipulate fixed-record-length files?
1310 X<fixed-length> X<file, fixed-length records>
1312 =item How can I make a filehandle local to a subroutine? How do I pass
1313 filehandles between subroutines? How do I make an array of filehandles?
1314 X<filehandle, local> X<filehandle, passing> X<filehandle, reference>
1316 =item How can I use a filehandle indirectly?
1317 X<filehandle, indirect>
1319 =item How can I set up a footer format to be used with write()?
1322 =item How can I write() into a string?
1323 X<write, into a string>
1325 =item How can I output my numbers with commas added?
1328 =item How can I translate tildes (~) in a filename?
1329 X<tilde> X<tilde expansion>
1331 =item How come when I open a file read-write it wipes it out?
1332 X<clobber> X<read-write> X<clobbering> X<truncate> X<truncating>
1334 =item Why do I sometimes get an "Argument list too long" when I use
1336 X<argument list too long>
1338 =item Is there a leak/bug in glob()?
1341 =item How can I open a file with a leading ">" or trailing blanks?
1342 X<filename, special characters>
1344 =item How can I reliably rename a file?
1345 X<rename> X<mv> X<move> X<file, rename> X<ren>
1347 =item How can I lock a file?
1348 X<lock> X<file, lock> X<flock>
1350 =item Why can't I just open(FH, "E<gt>file.lock")?
1351 X<lock, lockfile race condition>
1353 =item I still don't get locking. I just want to increment the number in
1354 the file. How can I do this?
1355 X<counter> X<file, counter>
1357 =item All I want to do is append a small amount of text to the end of a
1358 file. Do I still have to use locking?
1359 X<append> X<file, append>
1361 =item How do I randomly update a binary file?
1362 X<file, binary patch>
1364 =item How do I get a file's timestamp in perl?
1365 X<timestamp> X<file, timestamp>
1367 =item How do I set a file's timestamp in perl?
1368 X<timestamp> X<file, timestamp>
1370 =item How do I print to more than one file at once?
1371 X<print, to multiple files>
1373 =item How can I read in an entire file all at once?
1374 X<slurp> X<file, slurping>
1376 =item How can I read in a file by paragraphs?
1377 X<file, reading by paragraphs>
1379 =item How can I read a single character from a file? From the keyboard?
1380 X<getc> X<file, reading one character at a time>
1382 =item How can I tell whether there's a character waiting on a filehandle?
1384 =item How do I do a C<tail -f> in perl?
1387 =item How do I dup() a filehandle in Perl?
1390 =item How do I close a file descriptor by number?
1391 X<file, closing file descriptors>
1393 =item Why can't I use "C:\temp\foo" in DOS paths? Why doesn't
1394 `C:\temp\foo.exe` work?
1395 X<filename, DOS issues>
1397 =item Why doesn't glob("*.*") get all the files?
1400 =item Why does Perl let me delete read-only files? Why does C<-i> clobber
1401 protected files? Isn't this a bug in Perl?
1403 =item How do I select a random line from a file?
1404 X<file, selecting a random line>
1406 =item Why do I get weird spaces when I print an array of lines?
1410 =item AUTHOR AND COPYRIGHT
1414 =head2 perlfaq6 - Regular Expressions ($Revision: 1.38 $, $Date: 2005/12/31
1423 =item How can I hope to use regular expressions without creating illegible
1424 and unmaintainable code?
1425 X<regex, legibility> X<regexp, legibility>
1426 X<regular expression, legibility> X</x>
1428 Comments Outside the Regex, Comments Inside the Regex, Different Delimiters
1430 =item I'm having trouble matching over more than one line. What's wrong?
1431 X<regex, multiline> X<regexp, multiline> X<regular expression, multiline>
1433 =item How can I pull out lines between two patterns that are themselves on
1437 =item I put a regular expression into $/ but it didn't work. What's wrong?
1438 X<$/, regexes in> X<$INPUT_RECORD_SEPARATOR, regexes in>
1441 =item How do I substitute case insensitively on the LHS while preserving
1443 X<replace, case preserving> X<substitute, case preserving>
1444 X<substitution, case preserving> X<s, case preserving>
1446 =item How can I make C<\w> match national character sets?
1449 =item How can I match a locale-smart version of C</[a-zA-Z]/>?
1452 =item How can I quote a variable to use in a regex?
1453 X<regex, escaping> X<regexp, escaping> X<regular expression, escaping>
1455 =item What is C</o> really for?
1458 =item How do I use a regular expression to strip C style comments from a
1461 =item Can I use Perl regular expressions to match balanced text?
1462 X<regex, matching balanced test> X<regexp, matching balanced test>
1463 X<regular expression, matching balanced test>
1465 =item What does it mean that regexes are greedy? How can I get around it?
1466 X<greedy> X<greediness>
1468 =item How do I process each word on each line?
1471 =item How can I print out a word-frequency or line-frequency summary?
1473 =item How can I do approximate matching?
1474 X<match, approximate> X<matching, approximate>
1476 =item How do I efficiently match many regular expressions at once?
1477 X<regex, efficiency> X<regexp, efficiency>
1478 X<regular expression, efficiency>
1480 =item Why don't word-boundary searches with C<\b> work for me?
1483 =item Why does using $&, $`, or $' slow my program down?
1484 X<$MATCH> X<$&> X<$POSTMATCH> X<$'> X<$PREMATCH> X<$`>
1486 =item What good is C<\G> in a regular expression?
1489 =item Are Perl regexes DFAs or NFAs? Are they POSIX compliant?
1490 X<DFA> X<NFA> X<POSIX>
1492 =item What's wrong with using grep in a void context?
1495 =item How can I match strings with multibyte characters?
1496 X<regex, and multibyte characters> X<regexp, and multibyte characters>
1497 X<regular expression, and multibyte characters>
1499 =item How do I match a pattern that is supplied by the user?
1503 =item AUTHOR AND COPYRIGHT
1507 =head2 perlfaq7 - General Perl Language Issues ($Revision: 1.28 $, $Date:
1508 2005/12/31 00:54:37 $)
1516 =item Can I get a BNF/yacc/RE for the Perl language?
1518 =item What are all these $@%&* punctuation signs, and how do I know when to
1521 =item Do I always/never have to quote my strings or use semicolons and
1524 =item How do I skip some return values?
1526 =item How do I temporarily block warnings?
1528 =item What's an extension?
1530 =item Why do Perl operators have different precedence than C operators?
1532 =item How do I declare/create a structure?
1534 =item How do I create a module?
1536 =item How do I create a class?
1538 =item How can I tell if a variable is tainted?
1540 =item What's a closure?
1542 =item What is variable suicide and how can I prevent it?
1544 =item How can I pass/return a {Function, FileHandle, Array, Hash, Method,
1547 Passing Variables and Functions, Passing Filehandles, Passing Regexes,
1550 =item How do I create a static variable?
1552 =item What's the difference between dynamic and lexical (static) scoping?
1553 Between local() and my()?
1555 =item How can I access a dynamic variable while a similarly named lexical
1558 =item What's the difference between deep and shallow binding?
1560 =item Why doesn't "my($foo) = E<lt>FILEE<gt>;" work right?
1562 =item How do I redefine a builtin function, operator, or method?
1564 =item What's the difference between calling a function as &foo and foo()?
1566 =item How do I create a switch or case statement?
1568 =item How can I catch accesses to undefined variables, functions, or
1571 =item Why can't a method included in this same file be found?
1573 =item How can I find out my current package?
1575 =item How can I comment out a large block of perl code?
1577 =item How do I clear a package?
1579 =item How can I use a variable as a variable name?
1581 =item What does "bad interpreter" mean?
1585 =item AUTHOR AND COPYRIGHT
1589 =head2 perlfaq8 - System Interaction ($Revision: 1.27 $, $Date: 2005/12/31
1598 =item How do I find out which operating system I'm running under?
1600 =item How come exec() doesn't return?
1602 =item How do I do fancy stuff with the keyboard/screen/mouse?
1604 Keyboard, Screen, Mouse
1606 =item How do I print something out in color?
1608 =item How do I read just one key without waiting for a return key?
1610 =item How do I check whether input is ready on the keyboard?
1612 =item How do I clear the screen?
1614 =item How do I get the screen size?
1616 =item How do I ask the user for a password?
1618 =item How do I read and write the serial port?
1620 lockfiles, open mode, end of line, flushing output, non-blocking input
1622 =item How do I decode encrypted password files?
1624 =item How do I start a process in the background?
1626 STDIN, STDOUT, and STDERR are shared, Signals, Zombies
1628 =item How do I trap control characters/signals?
1630 =item How do I modify the shadow password file on a Unix system?
1632 =item How do I set the time and date?
1634 =item How can I sleep() or alarm() for under a second?
1636 =item How can I measure time under a second?
1638 =item How can I do an atexit() or setjmp()/longjmp()? (Exception handling)
1640 =item Why doesn't my sockets program work under System V (Solaris)? What
1641 does the error message "Protocol not supported" mean?
1643 =item How can I call my system's unique C functions from Perl?
1645 =item Where do I get the include files to do ioctl() or syscall()?
1647 =item Why do setuid perl scripts complain about kernel problems?
1649 =item How can I open a pipe both to and from a command?
1651 =item Why can't I get the output of a command with system()?
1653 =item How can I capture STDERR from an external command?
1655 =item Why doesn't open() return an error when a pipe open fails?
1657 =item What's wrong with using backticks in a void context?
1659 =item How can I call backticks without shell processing?
1661 =item Why can't my script read from STDIN after I gave it EOF (^D on Unix,
1664 =item How can I convert my shell script to perl?
1666 =item Can I use perl to run a telnet or ftp session?
1668 =item How can I write expect in Perl?
1670 =item Is there a way to hide perl's command line from programs such as
1673 =item I {changed directory, modified my environment} in a perl script. How
1674 come the change disappeared when I exited the script? How do I get my
1675 changes to be visible?
1679 =item How do I close a process's filehandle without waiting for it to
1682 =item How do I fork a daemon process?
1684 =item How do I find out if I'm running interactively or not?
1686 =item How do I timeout a slow event?
1688 =item How do I set CPU limits?
1690 =item How do I avoid zombies on a Unix system?
1692 =item How do I use an SQL database?
1694 =item How do I make a system() exit on control-C?
1696 =item How do I open a file without blocking?
1698 =item How do I tell the difference between errors from the shell and perl?
1700 =item How do I install a module from CPAN?
1702 =item What's the difference between require and use?
1704 =item How do I keep my own module/library directory?
1706 =item How do I add the directory my program lives in to the module/library
1709 =item How do I add a directory to my include path (@INC) at runtime?
1711 =item What is socket.ph and where do I get it?
1715 =item AUTHOR AND COPYRIGHT
1719 =head2 perlfaq9 - Networking ($Revision: 1.28 $, $Date: 2005/12/31 00:54:37
1728 =item What is the correct form of response from a CGI script?
1730 =item My CGI script runs from the command line but not the browser. (500
1733 =item How can I get better error messages from a CGI program?
1735 =item How do I remove HTML from a string?
1737 =item How do I extract URLs?
1739 =item How do I download a file from the user's machine? How do I open a
1740 file on another machine?
1742 =item How do I make a pop-up menu in HTML?
1744 =item How do I fetch an HTML file?
1746 =item How do I automate an HTML form submission?
1748 =item How do I decode or create those %-encodings on the web?
1750 =item How do I redirect to another page?
1752 =item How do I put a password on my web pages?
1754 =item How do I edit my .htpasswd and .htgroup files with Perl?
1756 =item How do I make sure users can't enter values into a form that cause my
1757 CGI script to do bad things?
1759 =item How do I parse a mail header?
1761 =item How do I decode a CGI form?
1763 =item How do I check a valid mail address?
1765 =item How do I decode a MIME/BASE64 string?
1767 =item How do I return the user's mail address?
1769 =item How do I send mail?
1771 =item How do I use MIME to make an attachment to a mail message?
1773 =item How do I read mail?
1775 =item How do I find out my hostname, domainname, or IP address?
1776 X<hostname, domainname, IP address, host, domain, hostfqdn, inet_ntoa,
1777 gethostbyname, Socket, Net::Domain, Sys::Hostname>
1779 =item How do I fetch a news article or the active newsgroups?
1781 =item How do I fetch/put an FTP file?
1783 =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 ${^UTF8LOCALE}, $PERL_VERSION, $^V, $WARNING, $^W, ${^WARNING_BITS},
2779 $EXECUTABLE_NAME, $^X, ARGV, $ARGV, @ARGV, ARGVOUT, @F, @INC, @_, %INC,
2780 %ENV, $ENV{expr}, %SIG, $SIG{expr}
2782 =item Error Indicators
2784 =item Technical Note on the Syntax of Variable Names
2792 =head2 perlre - Perl regular expressions
2798 i X</i> X<regex, case-insensitive> X<regexp, case-insensitive> X<regular
2799 expression, case-insensitive>, m X</m> X<regex, multiline> X<regexp,
2800 multiline> X<regular expression, multiline>, s X</s> X<regex, single-line>
2801 X<regexp, single-line> X<regular expression, single-line>, x X</x>
2805 =item Regular Expressions
2807 [1], [2], [3], cntrl X<cntrl>, graph X<graph>, print X<print>, punct
2808 X<punct>, xdigit X<xdigit>
2810 =item Extended Patterns
2812 C<(?#text)> X<(?#)>, C<(?imsx-imsx)> X<(?)>, C<(?:pattern)> X<(?:)>,
2813 C<(?imsx-imsx:pattern)>, C<(?=pattern)> X<(?=)> X<look-ahead, positive>
2814 X<lookahead, positive>, C<(?!pattern)> X<(?!)> X<look-ahead, negative>
2815 X<lookahead, negative>, C<(?<=pattern)> X<(?<=)> X<look-behind, positive>
2816 X<lookbehind, positive>, C<(?<!pattern)> X<(?<!)> X<look-behind, negative>
2817 X<lookbehind, negative>, C<(?{ code })> X<(?{})> X<regex, code in>
2818 X<regexp, code in> X<regular expression, code in>, C<(??{ code })>
2819 X<(??{})> X<regex, postponed> X<regexp, postponed> X<regular expression,
2820 postponed> X<regex, recursive> X<regexp, recursive> X<regular expression,
2821 recursive>, C<< (?>pattern) >> X<backtrack> X<backtracking>,
2822 C<(?(condition)yes-pattern|no-pattern)> X<(?()>,
2823 C<(?(condition)yes-pattern)>
2826 X<backtrack> X<backtracking>
2828 =item Version 8 Regular Expressions
2829 X<regular expression, version 8> X<regex, version 8> X<regexp, version 8>
2831 =item Warning on \1 vs $1
2833 =item Repeated patterns matching zero-length substring
2835 =item Combining pieces together
2837 C<ST>, C<S|T>, C<S{REPEAT_COUNT}>, C<S{min,max}>, C<S{min,max}?>, C<S?>,
2838 C<S*>, C<S+>, C<S??>, C<S*?>, C<S+?>, C<< (?>S) >>, C<(?=S)>, C<(?<=S)>,
2839 C<(?!S)>, C<(?<!S)>, C<(??{ EXPR })>,
2840 C<(?(condition)yes-pattern|no-pattern)>
2842 =item Creating custom RE engines
2852 =head2 perlreref - Perl Regular Expressions Reference
2864 =item ESCAPE SEQUENCES
2866 =item CHARACTER CLASSES
2872 =item EXTENDED CONSTRUCTS
2890 =head2 perlref - Perl references and nested data structures
2900 =item Making References
2901 X<reference, creation> X<referencing>
2903 1. X<\> X<backslash>, 2. X<array, anonymous> X<[> X<[]> X<square bracket>
2904 X<bracket, square> X<arrayref> X<array reference> X<reference, array>, 3.
2905 X<hash, anonymous> X<{> X<{}> X<curly bracket> X<bracket, curly> X<brace>
2906 X<hashref> X<hash reference> X<reference, hash>, 4. X<subroutine,
2907 anonymous> X<subroutine, reference> X<reference, subroutine> X<scope,
2908 lexical> X<closure> X<lexical> X<lexical scope>, 5. X<constructor> X<new>,
2909 6. X<autovivification>, 7. X<*foo{THING}> X<*>
2911 =item Using References
2912 X<reference, use> X<dereferencing> X<dereference>
2914 2. X<${}> X<@{}> X<%{}>, 3. X<autovivification> X<< -> >> X<arrow>, 4.
2917 =item Symbolic references
2918 X<reference, symbolic> X<reference, soft>
2919 X<symbolic reference> X<soft reference>
2921 =item Not-so-symbolic references
2923 =item Pseudo-hashes: Using an array as a hash
2924 X<pseudo-hash> X<pseudo hash> X<pseudohash>
2926 =item Function Templates
2927 X<scope, lexical> X<closure> X<lexical> X<lexical scope>
2928 X<subroutine, nested> X<sub, nested> X<subroutine, local> X<sub, local>
2933 X<reference, string context> X<reference, use as hash key>
2939 =head2 perlform - Perl formats
2948 X<format, text field>
2950 =item Numeric Fields
2951 X<#> X<format, numeric field>
2953 =item The Field @* for Variable Width Multi-Line Text
2956 =item The Field ^* for Variable Width One-line-at-a-time Text
2959 =item Specifying Values
2960 X<format, specifying values>
2962 =item Using Fill Mode
2963 X<format, fill mode>
2965 =item Suppressing Lines Where All Fields Are Void
2966 X<format, suppressing lines>
2968 =item Repeating Format Lines
2969 X<format, repeating lines>
2971 =item Top of Form Processing
2972 X<format, top of form> X<top> X<header>
2974 =item Format Variables
2976 X<format, variables>
2985 X<format, footer> X<footer>
2987 =item Accessing Formatting Internals
2988 X<format, internals>
2996 =head2 perlobj - Perl objects
3004 =item An Object is Simply a Reference
3005 X<object> X<bless> X<constructor> X<new>
3007 =item A Class is Simply a Package
3008 X<class> X<package> X<@ISA> X<inheritance>
3010 =item A Method is Simply a Subroutine
3013 =item Method Invocation
3014 X<invocation> X<method> X<arrow> X<< -> >>
3016 =item Indirect Object Syntax
3017 X<indirect object syntax> X<invocation, indirect> X<indirect>
3019 =item Default UNIVERSAL methods
3022 isa(CLASS) X<isa>, can(METHOD) X<can>, VERSION( [NEED] ) X<VERSION>
3025 X<destructor> X<DESTROY>
3029 =item Two-Phased Garbage Collection
3030 X<garbage collection> X<GC> X<circular reference>
3031 X<reference, circular> X<DESTROY> X<destructor>
3039 =head2 perltie - how to hide an object class in a simple variable
3052 TIESCALAR classname, LIST X<TIESCALAR>, FETCH this X<FETCH>, STORE this,
3053 value X<STORE>, UNTIE this X<UNTIE>, DESTROY this X<DESTROY>
3058 TIEARRAY classname, LIST X<TIEARRAY>, FETCH this, index X<FETCH>, STORE
3059 this, index, value X<STORE>, FETCHSIZE this X<FETCHSIZE>, STORESIZE this,
3060 count X<STORESIZE>, EXTEND this, count X<EXTEND>, EXISTS this, key
3061 X<EXISTS>, DELETE this, key X<DELETE>, CLEAR this X<CLEAR>, PUSH this, LIST
3062 X<PUSH>, POP this X<POP>, SHIFT this X<SHIFT>, UNSHIFT this, LIST
3063 X<UNSHIFT>, SPLICE this, offset, length, LIST X<SPLICE>, UNTIE this
3064 X<UNTIE>, DESTROY this X<DESTROY>
3069 USER, HOME, CLOBBER, LIST, TIEHASH classname, LIST X<TIEHASH>, FETCH this,
3070 key X<FETCH>, STORE this, key, value X<STORE>, DELETE this, key X<DELETE>,
3071 CLEAR this X<CLEAR>, EXISTS this, key X<EXISTS>, FIRSTKEY this X<FIRSTKEY>,
3072 NEXTKEY this, lastkey X<NEXTKEY>, SCALAR this X<SCALAR>, UNTIE this
3073 X<UNTIE>, DESTROY this X<DESTROY>
3075 =item Tying FileHandles
3076 X<filehandle, tying>
3078 TIEHANDLE classname, LIST X<TIEHANDLE>, WRITE this, LIST X<WRITE>, PRINT
3079 this, LIST X<PRINT>, PRINTF this, LIST X<PRINTF>, READ this, LIST X<READ>,
3080 READLINE this X<READLINE>, GETC this X<GETC>, CLOSE this X<CLOSE>, UNTIE
3081 this X<UNTIE>, DESTROY this X<DESTROY>
3086 =item The C<untie> Gotcha
3099 =head2 perldbmfilter - Perl DBM Filters
3107 B<filter_store_key>, B<filter_store_value>, B<filter_fetch_key>,
3108 B<filter_fetch_value>
3114 =item An Example -- the NULL termination problem.
3116 =item Another Example -- Key is a C int.
3126 =head2 perlipc - Perl interprocess communication (signals, fifos, pipes,
3127 safe subprocesses, sockets, and semaphores)
3137 =item Handling the SIGHUP Signal in Daemons
3145 =item Deferred Signals (Safe Signals)
3147 Long running opcodes, Interrupting IO, Restartable system calls, Signals as
3148 "faults", Signals triggered by operating system state
3152 =item Using open() for IPC
3158 =item Background Processes
3160 =item Complete Dissociation of Child from Parent
3162 =item Safe Pipe Opens
3164 =item Bidirectional Communication with Another Process
3166 =item Bidirectional Communication with Yourself
3170 =item Sockets: Client/Server Communication
3174 =item Internet Line Terminators
3176 =item Internet TCP Clients and Servers
3178 =item Unix-Domain TCP Clients and Servers
3182 =item TCP Clients with IO::Socket
3186 =item A Simple Client
3188 C<Proto>, C<PeerAddr>, C<PeerPort>
3190 =item A Webget Client
3192 =item Interactive Client with IO::Socket
3196 =item TCP Servers with IO::Socket
3198 Proto, LocalPort, Listen, Reuse
3200 =item UDP: Message Passing
3214 =head2 perlfork - Perl's fork() emulation
3224 =item Behavior of other Perl features in forked pseudo-processes
3226 $$ or $PROCESS_ID, %ENV, chdir() and all other builtins that accept
3227 filenames, wait() and waitpid(), kill(), exec(), exit(), Open handles to
3228 files, directories and network sockets
3230 =item Resource limits
3232 =item Killing the parent process
3234 =item Lifetime of the parent process and pseudo-processes
3236 =item CAVEATS AND LIMITATIONS
3238 BEGIN blocks, Open filehandles, Forking pipe open() not yet implemented,
3239 Global state maintained by XSUBs, Interpreter embedded in larger
3240 application, Thread-safety of extensions
3252 =head2 perlnumber - semantics of numbers and numeric operations in Perl
3260 =item Storing numbers
3262 =item Numeric operators and numeric conversions
3264 =item Flavors of Perl numeric operations
3266 Arithmetic operators, ++, Arithmetic operators during C<use integer>, Other
3267 mathematical operators, Bitwise operators, Bitwise operators during C<use
3268 integer>, Operators which expect an integer, Operators which expect a
3277 =head2 perlthrtut - tutorial on threads in Perl
3285 =item What Is A Thread Anyway?
3287 =item Threaded Program Models
3299 =item What kind of threads are Perl threads?
3301 =item Thread-Safe Modules
3307 =item Basic Thread Support
3309 =item A Note about the Examples
3311 =item Creating Threads
3313 =item Waiting For A Thread To Exit
3315 =item Ignoring A Thread
3319 =item Threads And Data
3323 =item Shared And Unshared Data
3325 =item Thread Pitfalls: Races
3329 =item Synchronization and control
3333 =item Controlling access: lock()
3335 =item A Thread Pitfall: Deadlocks
3337 =item Queues: Passing Data Around
3339 =item Semaphores: Synchronizing Data Access
3341 =item Basic semaphores
3343 =item Advanced Semaphores
3345 =item cond_wait() and cond_signal()
3347 =item Giving up control
3351 =item General Thread Utility Routines
3355 =item What Thread Am I In?
3359 =item Are These Threads The Same?
3361 =item What Threads Are Running?
3365 =item A Complete Example
3367 =item Different implementations of threads
3369 =item Performance considerations
3371 =item Process-scope Changes
3373 =item Thread-Safety of System Libraries
3381 =item Introductory Texts
3383 =item OS-Related References
3385 =item Other References
3389 =item Acknowledgements
3397 =head2 perlothrtut - old tutorial on threads in Perl
3403 =item What Is A Thread Anyway?
3405 =item Threaded Program Models
3417 =item Native threads
3419 =item What kind of threads are perl threads?
3421 =item Threadsafe Modules
3427 =item Basic Thread Support
3429 =item Creating Threads
3431 =item Giving up control
3433 =item Waiting For A Thread To Exit
3435 =item Errors In Threads
3437 =item Ignoring A Thread
3441 =item Threads And Data
3445 =item Shared And Unshared Data
3447 =item Thread Pitfall: Races
3449 =item Controlling access: lock()
3451 =item Thread Pitfall: Deadlocks
3453 =item Queues: Passing Data Around
3457 =item Threads And Code
3461 =item Semaphores: Synchronizing Data Access
3463 Basic semaphores, Advanced Semaphores
3465 =item Attributes: Restricting Access To Subroutines
3467 =item Subroutine Locks
3471 =item Locking A Subroutine
3475 =item General Thread Utility Routines
3479 =item What Thread Am I In?
3483 =item Are These Threads The Same?
3485 =item What Threads Are Running?
3489 =item A Complete Example
3497 =item Introductory Texts
3499 =item OS-Related References
3501 =item Other References
3505 =item Acknowledgements
3513 =head2 perlport - Writing portable Perl
3519 Not all Perl programs have to be portable, Nearly all of Perl already I<is>
3528 =item Numbers endianness and Width
3530 =item Files and Filesystems
3532 =item System Interaction
3534 =item Command names versus file pathnames
3538 =item Interprocess Communication (IPC)
3540 =item External Subroutines (XS)
3542 =item Standard Modules
3546 =item Character sets and character encoding
3548 =item Internationalisation
3550 =item System Resources
3566 =item DOS and Derivatives
3574 =item EBCDIC Platforms
3582 =item FUNCTION IMPLEMENTATIONS
3586 =item Alphabetical Listing of Perl Functions
3588 -I<X>, atan2, binmode, chmod, chown, chroot, crypt, dbmclose, dbmopen,
3589 dump, exec, exit, fcntl, flock, fork, getlogin, getpgrp, getppid,
3590 getpriority, getpwnam, getgrnam, getnetbyname, getpwuid, getgrgid,
3591 getnetbyaddr, getprotobynumber, getservbyport, getpwent, getgrent,
3592 gethostbyname, gethostent, getnetent, getprotoent, getservent, sethostent,
3593 setnetent, setprotoent, setservent, endpwent, endgrent, endhostent,
3594 endnetent, endprotoent, endservent, getsockopt SOCKET,LEVEL,OPTNAME, glob,
3595 gmtime, ioctl FILEHANDLE,FUNCTION,SCALAR, kill, link, localtime, lstat,
3596 msgctl, msgget, msgsnd, msgrcv, open, pipe, readlink, rename, select,
3597 semctl, semget, semop, setgrent, setpgrp, setpriority, setpwent,
3598 setsockopt, shmctl, shmget, shmread, shmwrite, sockatmark, socketpair,
3599 stat, symlink, syscall, sysopen, system, times, truncate, umask, utime,
3604 =item Supported Platforms
3608 =item AUTHORS / CONTRIBUTORS
3612 =head2 perllocale - Perl locale handling (internationalization and
3619 =item PREPARING TO USE LOCALES
3625 =item The use locale pragma
3627 =item The setlocale function
3629 =item Finding locales
3631 =item LOCALE PROBLEMS
3633 =item Temporarily fixing locale problems
3635 =item Permanently fixing locale problems
3637 =item Permanently fixing your system's locale configuration
3639 =item Fixing system locale configuration
3641 =item The localeconv function
3643 =item I18N::Langinfo
3647 =item LOCALE CATEGORIES
3651 =item Category LC_COLLATE: Collation
3653 =item Category LC_CTYPE: Character Types
3655 =item Category LC_NUMERIC: Numeric Formatting
3657 =item Category LC_MONETARY: Formatting of monetary amounts
3661 =item Other categories
3669 PERL_BADLANG, LC_ALL, LANGUAGE, LC_CTYPE, LC_COLLATE, LC_MONETARY,
3670 LC_NUMERIC, LC_TIME, LANG
3676 =item Backward compatibility
3678 =item I18N:Collate obsolete
3680 =item Sort speed and memory use impacts
3682 =item write() and LC_NUMERIC
3684 =item Freely available locale definitions
3688 =item An imperfect standard
3692 =item Unicode and UTF-8
3698 =item Broken systems
3708 =head2 perluniintro - Perl Unicode introduction
3718 =item Perl's Unicode Support
3720 =item Perl's Unicode Model
3722 =item Unicode and EBCDIC
3724 =item Creating Unicode
3726 =item Handling Unicode
3728 =item Legacy Encodings
3732 =item Displaying Unicode As Text
3736 =item Advanced Topics
3740 =item Questions With Answers
3742 =item Hexadecimal Notation
3744 =item Further Resources
3748 =item UNICODE IN OLDER PERLS
3752 =item ACKNOWLEDGMENTS
3754 =item AUTHOR, COPYRIGHT, AND LICENSE
3758 =head2 perlunicode - Unicode support in Perl
3766 =item Important Caveats
3768 Input and Output Layers, Regular Expressions, C<use utf8> still needed to
3769 enable UTF-8/UTF-EBCDIC in scripts, BOM-marked scripts and UTF-16 scripts
3770 autodetected, C<use encoding> needed to upgrade non-Latin-1 byte strings
3772 =item Byte and Character Semantics
3774 =item Effects of Character Semantics
3780 =item User-Defined Character Properties
3782 =item Character Encodings for Input and Output
3784 =item Unicode Regular Expression Support Level
3786 =item Unicode Encodings
3788 =item Security Implications of Unicode
3790 =item Unicode in Perl on EBCDIC
3794 =item When Unicode Does Not Happen
3796 =item Forcing Unicode in Perl (Or Unforcing Unicode in Perl)
3798 =item Using Unicode in XS
3806 =item Interaction with Locales
3808 =item Interaction with Extensions
3812 =item Porting code from perl-5.6.X
3820 =head2 perlebcdic - Considerations for running Perl on EBCDIC platforms
3826 =item COMMON CHARACTER CODE SETS
3834 =item Latin 1 (ISO 8859-1)
3838 =item 13 variant characters
3846 =item Unicode code points versus EBCDIC code points
3848 =item Remaining Perl Unicode problems in EBCDIC
3850 =item Unicode and UTF
3856 =item SINGLE OCTET TABLES
3858 recipe 0, recipe 1, recipe 2, recipe 3, recipe 4, recipe 5, recipe 6
3860 =item IDENTIFYING CHARACTER CODE SETS
3874 =item OPERATOR DIFFERENCES
3876 =item FUNCTION DIFFERENCES
3878 chr(), ord(), pack(), print(), printf(), sort(), sprintf(), unpack()
3880 =item REGULAR EXPRESSION DIFFERENCES
3888 =item Ignore ASCII vs. EBCDIC sort differences.
3890 =item MONO CASE then sort data.
3892 =item Convert, sort data, then re convert.
3894 =item Perform sorting on one type of machine only.
3898 =item TRANSFORMATION FORMATS
3902 =item URL decoding and encoding
3904 =item uu encoding and decoding
3906 =item Quoted-Printable encoding and decoding
3908 =item Caesarian ciphers
3912 =item Hashing order and checksums
3916 =item MULTI OCTET CHARACTER SETS
3928 chcp, dataset access, OS/390, z/OS iconv, locales
3948 =head2 perlsec - Perl security
3956 =item Laundering and Detecting Tainted Data
3958 =item Switches On the "#!" Line
3960 =item Taint mode and @INC
3962 =item Cleaning Up Your Path
3966 =item Protecting Your Programs
3970 =item Algorithmic Complexity Attacks
3978 =head2 perlmod - Perl modules (packages and symbol tables)
3987 X<package> X<namespace> X<variable, global> X<global variable> X<global>
3990 X<symbol table> X<stash> X<%::> X<%main::> X<typeglob> X<glob> X<alias>
3992 =item BEGIN, CHECK, INIT and END
3993 X<BEGIN> X<CHECK> X<INIT> X<END>
4001 =item Making your module threadsafe
4002 X<threadsafe> X<thread safe>
4003 X<module, threadsafe> X<module, thread safe>
4004 X<CLONE> X<CLONE_SKIP> X<thread> X<threads> X<ithread>
4012 =head2 perlmodlib - constructing new Perl modules and finding existing ones
4016 =item THE PERL MODULE LIBRARY
4020 =item Pragmatic Modules
4022 assertions, assertions::activate, assertions::compat, attributes, attrs,
4023 autouse, base, bigint, bignum, bigrat, blib, bytes, charnames, constant,
4024 diagnostics, encoding, encoding::warnings, feature, fields, filetest, if,
4025 integer, less, lib, locale, open, ops, overload, re, sigtrap, sort, strict,
4026 subs, threads, threads::shared, utf8, vars, version, vmsish, warnings,
4029 =item Standard Modules
4031 AnyDBM_File, Archive::Tar, Archive::Tar::File, Attribute::Handlers,
4032 AutoLoader, AutoSplit, B, B::Asmdata, B::Assembler, B::Bblock, B::Bytecode,
4033 B::C, B::CC, B::Concise, B::Debug, B::Deparse, B::Disassembler, B::Lint,
4034 B::Showlex, B::Stackobj, B::Stash, B::Terse, B::Xref, Benchmark,
4035 ByteLoader, CGI, CGI::Apache, CGI::Carp, CGI::Cookie, CGI::Fast,
4036 CGI::Pretty, CGI::Push, CGI::Switch, CGI::Util, CPAN, CPAN::FirstTime,
4037 CPAN::Nox, CPAN::Version, Carp, Carp::Heavy, Class::ISA, Class::Struct,
4038 Compress::Zlib, Compress::Zlib::pod::FAQ, Config, Cwd, DB, DBM_Filter,
4039 DB_File, Data::Dumper, Devel::DProf, Devel::PPPort, Devel::Peek,
4040 Devel::SelfStubber, Digest, Digest::MD5, Digest::base, Digest::file,
4041 DirHandle, Dumpvalue, DynaLoader, Encode, Encode::Alias, Encode::Byte,
4042 Encode::CJKConstants, Encode::CN, Encode::CN::HZ, Encode::Config,
4043 Encode::EBCDIC, Encode::Encoder, Encode::Encoding, Encode::Guess,
4044 Encode::JP, Encode::JP::H2Z, Encode::JP::JIS7, Encode::KR,
4045 Encode::KR::2022_KR, Encode::MIME::Header, Encode::PerlIO,
4046 Encode::Supported, Encode::Symbol, Encode::TW, Encode::Unicode,
4047 Encode::Unicode::UTF7, English, Env, Errno, Exporter, Exporter::Heavy,
4048 ExtUtils::CBuilder, ExtUtils::CBuilder::Platform::Windows,
4049 ExtUtils::Command, ExtUtils::Command::MM, ExtUtils::Constant,
4050 ExtUtils::Constant::Base, ExtUtils::Constant::Utils,
4051 ExtUtils::Constant::XS, ExtUtils::Embed, ExtUtils::Install,
4052 ExtUtils::Installed, ExtUtils::Liblist, ExtUtils::MM, ExtUtils::MM_AIX,
4053 ExtUtils::MM_Any, ExtUtils::MM_BeOS, ExtUtils::MM_Cygwin, ExtUtils::MM_DOS,
4054 ExtUtils::MM_MacOS, ExtUtils::MM_NW5, ExtUtils::MM_OS2, ExtUtils::MM_QNX,
4055 ExtUtils::MM_UWIN, ExtUtils::MM_Unix, ExtUtils::MM_VMS, ExtUtils::MM_VOS,
4056 ExtUtils::MM_Win32, ExtUtils::MM_Win95, ExtUtils::MY, ExtUtils::MakeMaker,
4057 ExtUtils::MakeMaker::Config, ExtUtils::MakeMaker::FAQ,
4058 ExtUtils::MakeMaker::Tutorial, ExtUtils::MakeMaker::bytes,
4059 ExtUtils::MakeMaker::vmsish, ExtUtils::Manifest, ExtUtils::Mkbootstrap,
4060 ExtUtils::Mksymlists, ExtUtils::Packlist, ExtUtils::ParseXS,
4061 ExtUtils::testlib, Fatal, Fcntl, File::Basename, File::CheckTree,
4062 File::Compare, File::Copy, File::DosGlob, File::Find, File::Glob,
4063 File::GlobMapper, File::Path, File::Spec, File::Spec::Cygwin,
4064 File::Spec::Epoc, File::Spec::Functions, File::Spec::Mac, File::Spec::OS2,
4065 File::Spec::Unix, File::Spec::VMS, File::Spec::Win32, File::Temp,
4066 File::stat, FileCache, FileHandle, Filter::Simple, Filter::Util::Call,
4067 FindBin, GDBM_File, Getopt::Long, Getopt::Std, Hash::Util, I18N::Collate,
4068 I18N::LangTags, I18N::LangTags::Detect, I18N::LangTags::List,
4069 I18N::Langinfo, IO, IO::Compress::Deflate, IO::Compress::Gzip,
4070 IO::Compress::RawDeflate, IO::Dir, IO::File, IO::Handle, IO::Pipe,
4071 IO::Poll, IO::Seekable, IO::Select, IO::Socket, IO::Socket::INET,
4072 IO::Socket::UNIX, IO::Uncompress::AnyInflate, IO::Uncompress::Gunzip,
4073 IO::Uncompress::Inflate, IO::Uncompress::RawInflate, IO::Zlib, IPC::Open2,
4074 IPC::Open3, IPC::SysV, IPC::SysV::Msg, IPC::SysV::Semaphore, List::Util,
4075 Locale::Constants, Locale::Country, Locale::Currency, Locale::Language,
4076 Locale::Maketext, Locale::Maketext::TPJ13, Locale::Script, MIME::Base64,
4077 MIME::Base64::QuotedPrint, Math::BigFloat, Math::BigInt,
4078 Math::BigInt::Calc, Math::BigInt::CalcEmu, Math::BigInt::FastCalc,
4079 Math::BigRat, Math::Complex, Math::Trig, Memoize, Memoize::AnyDBM_File,
4080 Memoize::Expire, Memoize::ExpireFile, Memoize::ExpireTest,
4081 Memoize::NDBM_File, Memoize::SDBM_File, Memoize::Storable,
4082 Module::CoreList, NDBM_File, NEXT, Net::Cmd, Net::Config, Net::Domain,
4083 Net::FTP, Net::NNTP, Net::Netrc, Net::POP3, Net::Ping, Net::SMTP,
4084 Net::Time, Net::hostent, Net::libnetFAQ, Net::netent, Net::protoent,
4085 Net::servent, O, ODBM_File, Opcode, POSIX, PerlIO, PerlIO::encoding,
4086 PerlIO::scalar, PerlIO::via, PerlIO::via::QuotedPrint, Pod::Checker,
4087 Pod::Escapes, Pod::Find, Pod::Functions, Pod::Html, Pod::InputObjects,
4088 Pod::LaTeX, Pod::Man, Pod::ParseLink, Pod::ParseUtils, Pod::Parser,
4089 Pod::Perldoc::ToChecker, Pod::Perldoc::ToMan, Pod::Perldoc::ToNroff,
4090 Pod::Perldoc::ToPod, Pod::Perldoc::ToRtf, Pod::Perldoc::ToText,
4091 Pod::Perldoc::ToTk, Pod::Perldoc::ToXml, Pod::PlainText, Pod::Plainer,
4092 Pod::Select, Pod::Simple, Pod::Simple::Checker, Pod::Simple::Debug,
4093 Pod::Simple::DumpAsText, Pod::Simple::DumpAsXML, Pod::Simple::HTML,
4094 Pod::Simple::HTMLBatch, Pod::Simple::LinkSection, Pod::Simple::Methody,
4095 Pod::Simple::PullParser, Pod::Simple::PullParserEndToken,
4096 Pod::Simple::PullParserStartToken, Pod::Simple::PullParserTextToken,
4097 Pod::Simple::PullParserToken, Pod::Simple::RTF, Pod::Simple::Search,
4098 Pod::Simple::SimpleTree, Pod::Simple::Subclassing, Pod::Simple::Text,
4099 Pod::Simple::TextContent, Pod::Simple::XMLOutStream, Pod::Text,
4100 Pod::Text::Color, Pod::Text::Overstrike, Pod::Text::Termcap, Pod::Usage,
4101 SDBM_File, Safe, Scalar::Util, Search::Dict, SelectSaver, SelfLoader,
4102 Shell, Socket, Storable, Switch, Symbol, Sys::Hostname, Sys::Syslog,
4103 Term::ANSIColor, Term::Cap, Term::Complete, Term::ReadLine, Test,
4104 Test::Builder, Test::Builder::Module, Test::Builder::Tester,
4105 Test::Builder::Tester::Color, Test::Harness, Test::Harness::Assert,
4106 Test::Harness::Iterator, Test::Harness::Point, Test::Harness::Straps,
4107 Test::Harness::TAP, Test::More, Test::Simple, Test::Tutorial, Text::Abbrev,
4108 Text::Balanced, Text::ParseWords, Text::Soundex, Text::Tabs, Text::Wrap,
4109 Thread, Thread::Queue, Thread::Semaphore, Thread::Signal, Thread::Specific,
4110 Tie::Array, Tie::File, Tie::Handle, Tie::Hash, Tie::Memoize, Tie::RefHash,
4111 Tie::Scalar, Tie::SubstrHash, Time::HiRes, Time::Local, Time::gmtime,
4112 Time::localtime, Time::tm, UNIVERSAL, Unicode::Collate, Unicode::Normalize,
4113 Unicode::UCD, User::grent, User::pwent, XS::APItest, XS::Typemap, XSLoader
4115 =item Extension Modules
4129 China, Indonesia, Israel, Japan, Malaysia, Russian Federation, Saudi
4130 Arabia, Singapore, South Korea, Taiwan, Thailand
4132 =item Central America
4138 Austria, Belgium, Bosnia and Herzegovina, Bulgaria, Croatia, Czech
4139 Republic, Denmark, Estonia, Finland, France, Germany, Greece, Hungary,
4140 Iceland, Ireland, Italy, Latvia, Lithuania, Netherlands, Norway, Poland,
4141 Portugal, Romania, Russia, Slovakia, Slovenia, Spain, Sweden, Switzerland,
4142 Turkey, Ukraine, United Kingdom
4146 Canada, Alberta, Manitoba, Nova Scotia, Ontario, Mexico, United States,
4147 Alabama, California, Colorado, Delaware, District of Columbia, Florida,
4148 Indiana, Kentucky, Massachusetts, Michigan, Nevada, New Jersey, New York,
4149 North Carolina, Oklahoma, Oregon, Pennsylvania, Tennessee, Texas, Utah,
4150 Virginia, Washington, Wisconsin
4154 Australia, New Zealand, United States
4158 Argentina, Brazil, Chile
4164 =item Modules: Creation, Use, and Abuse
4168 =item Guidelines for Module Creation
4170 =item Guidelines for Converting Perl 4 Library Scripts into Modules
4172 =item Guidelines for Reusing Application Code
4180 =head2 perlmodstyle - Perl module style guide
4186 =item QUICK CHECKLIST
4190 =item Before you start
4198 =item Release considerations
4202 =item BEFORE YOU START WRITING A MODULE
4206 =item Has it been done before?
4208 =item Do one thing and do it well
4210 =item What's in a name?
4214 =item DESIGNING AND WRITING YOUR MODULE
4218 =item To OO or not to OO?
4220 =item Designing your API
4222 Write simple routines to do simple things, Separate functionality from
4223 output, Provide sensible shortcuts and defaults, Naming conventions,
4226 =item Strictness and warnings
4228 =item Backwards compatibility
4230 =item Error handling and messages
4234 =item DOCUMENTING YOUR MODULE
4240 =item README, INSTALL, release notes, changelogs
4242 perl Makefile.PL, make, make test, make install, perl Build.PL, perl Build,
4243 perl Build test, perl Build install
4247 =item RELEASE CONSIDERATIONS
4251 =item Version numbering
4253 =item Pre-requisites
4263 =item COMMON PITFALLS
4267 =item Reinventing the wheel
4269 =item Trying to do too much
4271 =item Inappropriate documentation
4277 L<perlstyle>, L<perlnewmod>, L<perlpod>, L<podchecker>, Packaging Tools,
4278 Testing tools, http://pause.perl.org/, Any good book on software
4285 =head2 perlmodinstall - Installing CPAN Modules
4295 B<DECOMPRESS> the file, B<UNPACK> the file into a directory, B<BUILD> the
4296 module (sometimes unnecessary), B<INSTALL> the module
4310 =head2 perlnewmod - preparing a new module for distribution
4320 =item What should I make into a module?
4322 =item Step-by-step: Preparing the ground
4324 Look around, Check it's new, Discuss the need, Choose a name, Check again
4326 =item Step-by-step: Making the module
4328 Start with F<module-starter> or F<h2xs>, Use L<strict|strict> and
4329 L<warnings|warnings>, Use L<Carp|Carp>, Use L<Exporter|Exporter> - wisely!,
4330 Use L<plain old documentation|perlpod>, Write tests, Write the README
4332 =item Step-by-step: Distributing your module
4334 Get a CPAN user ID, C<perl Makefile.PL; make test; make dist>, Upload the
4335 tarball, Announce to the modules list, Announce to clpa, Fix bugs!
4345 =head2 perlutil - utilities packaged with the Perl distribution
4355 L<perldoc|perldoc>, L<pod2man|pod2man> and L<pod2text|pod2text>,
4356 L<pod2html|pod2html> and L<pod2latex|pod2latex>, L<pod2usage|pod2usage>,
4357 L<podselect|podselect>, L<podchecker|podchecker>, L<splain|splain>,
4358 L<roffitall|roffitall>
4362 L<a2p|a2p>, L<s2p|s2p>, L<find2perl|find2perl>
4364 =item Administration
4366 L<libnetcfg|libnetcfg>
4370 L<perlbug|perlbug>, L<h2ph|h2ph>, L<c2ph|c2ph> and L<pstruct|pstruct>,
4371 L<h2xs|h2xs>, L<dprofpp|dprofpp>, L<perlcc|perlcc>
4379 =head2 perlcompile - Introduction to the Perl Compiler-Translator
4389 B::Bytecode, B::C, B::CC, B::Lint, B::Deparse, B::Xref
4393 =item Using The Back Ends
4397 =item The Cross Referencing Back End
4401 =item The Decompiling Back End
4403 =item The Lint Back End
4405 =item The Simple C Back End
4407 =item The Bytecode Back End
4409 =item The Optimized C Back End
4413 =item Module List for the Compiler Suite
4415 B, O, B::Asmdata, B::Assembler, B::Bblock, B::Bytecode, B::C, B::CC,
4416 B::Concise, B::Debug, B::Deparse, B::Disassembler, B::Lint, B::Showlex,
4417 B::Stackobj, B::Stash, B::Terse, B::Xref
4419 =item KNOWN PROBLEMS
4425 =head2 perlfilter - Source Filters
4435 =item WRITING A SOURCE FILTER
4437 =item WRITING A SOURCE FILTER IN C
4439 B<Decryption Filters>
4441 =item CREATING A SOURCE FILTER AS A SEPARATE EXECUTABLE
4443 =item WRITING A SOURCE FILTER IN PERL
4445 =item USING CONTEXT: THE DEBUG FILTER
4449 =item THINGS TO LOOK OUT FOR
4451 Some Filters Clobber the C<DATA> Handle
4461 =head2 perlglossary - Perl Glossary
4471 accessor methods, actual arguments, address operator, algorithm, alias,
4472 alternatives, anonymous, architecture, argument, ARGV, arithmetical
4473 operator, array, array context, ASCII, assertion, assignment, assignment
4474 operator, associative array, associativity, asynchronous, atom, atomic
4475 operation, attribute, autogeneration, autoincrement, autoload, autosplit,
4476 autovivification, AV, awk
4480 backreference, backtracking, backward compatibility, bareword, base class,
4481 big-endian, binary, binary operator, bind, bit, bit shift, bit string,
4482 bless, block, BLOCK, block buffering, Boolean, Boolean context, breakpoint,
4483 broadcast, BSD, bucket, buffer, built-in, bundle, byte, bytecode
4487 C, C preprocessor, call by reference, call by value, callback, canonical,
4488 capturing, character, character class, character property, circumfix
4489 operator, class, class method, client, cloister, closure, cluster, CODE,
4490 code generator, code subpattern, collating sequence, command, command
4491 buffering, command name, command-line arguments, comment, compilation unit,
4492 compile phase, compile time, compiler, composer, concatenation,
4493 conditional, connection, construct, constructor, context, continuation,
4494 core dump, CPAN, cracker, current package, current working directory,
4495 currently selected output channel, CV
4499 dangling statement, data structure, data type, datagram, DBM, declaration,
4500 decrement, default, defined, delimiter, dereference, derived class,
4501 descriptor, destroy, destructor, device, directive, directory, directory
4502 handle, dispatch, distribution, dweomer, dwimmer, dynamic scoping
4506 eclectic, element, embedding, empty subclass test, en passant,
4507 encapsulation, endian, environment, environment variable, EOF, errno,
4508 error, escape sequence, exception, exception handling, exec, executable
4509 file, execute, execute bit, exit status, export, expression, extension
4513 false, FAQ, fatal error, field, FIFO, file, file descriptor, file test
4514 operator, fileglob, filehandle, filename, filesystem, filter, flag,
4515 floating point, flush, FMTEYEWTK, fork, formal arguments, format, freely
4516 available, freely redistributable, freeware, function, funny character,
4521 GID, glob, global, global destruction, glue language, granularity, greedy,
4526 hacker, handler, hard reference, hash, hash table, header file, here
4527 document, hexadecimal, home directory, host, hubris, HV
4531 identifier, impatience, implementation, import, increment, indexing,
4532 indirect filehandle, indirect object, indirect object slot, indirection,
4533 infix, inheritance, instance, instance variable, integer, interface,
4534 interpolation, interpreter, invocant, invocation, I/O, IO, IP, IPC, is-a,
4535 iteration, iterator, IV
4547 label, laziness, left shift, leftmost longest, lexeme, lexer, lexical
4548 analysis, lexical scoping, lexical variable, library, LIFO, line, line
4549 buffering, line number, link, LIST, list, list context, list operator, list
4550 value, literal, little-endian, local, logical operator, lookahead,
4551 lookbehind, loop, loop control statement, loop label, lvaluable, lvalue,
4556 magic, magical increment, magical variables, Makefile, man, manpage,
4557 matching, member data, memory, metacharacter, metasymbol, method,
4558 minimalism, mode, modifier, module, modulus, monger, mortal,
4559 multidimensional array, multiple inheritance
4563 named pipe, namespace, network address, newline, NFS, null character, null
4564 list, null string, numeric context, NV, nybble
4568 object, octal, offset, one-liner, open source software, operand, operating
4569 system, operator, operator overloading, options, overloading, overriding,
4574 package, pad, parameter, parent class, parse tree, parsing, patch, PATH,
4575 pathname, pattern, pattern matching, permission bits, Pern, pipe, pipeline,
4576 platform, pod, pointer, polymorphism, port, portable, porter, POSIX,
4577 postfix, pp, pragma, precedence, prefix, preprocessing, procedure, process,
4578 program generator, progressive matching, property, protocol, prototype,
4579 pseudofunction, pseudohash, pseudoliteral, public domain, pumpkin,
4584 qualified, quantifier
4588 readable, reaping, record, recursion, reference, referent, regex, regular
4589 expression, regular expression modifier, regular file, relational operator,
4590 reserved words, return value, RFC, right shift, root, RTFM, run phase, run
4591 time, run-time pattern, RV, rvalue
4595 scalar, scalar context, scalar literal, scalar value, scalar variable,
4596 scope, scratchpad, script, script kiddie, sed, semaphore, separator,
4597 serialization, server, service, setgid, setuid, shared memory, shebang,
4598 shell, side effects, signal, signal handler, single inheritance, slice,
4599 slurp, socket, soft reference, source filter, stack, standard, standard
4600 error, standard I/O, standard input, standard output, stat structure,
4601 statement, statement modifier, static, static method, static scoping,
4602 static variable, status, STDERR, STDIN, STDIO, STDOUT, stream, string,
4603 string context, stringification, struct, structure, subclass, subpattern,
4604 subroutine, subscript, substitution, substring, superclass, superuser, SV,
4605 switch, switch cluster, switch statement, symbol, symbol table, symbolic
4606 debugger, symbolic link, symbolic reference, synchronous, syntactic sugar,
4607 syntax, syntax tree, syscall
4611 tainted, TCP, term, terminator, ternary, text, thread, tie, TMTOWTDI,
4612 token, tokener, tokenizing, toolbox approach, transliterate, trigger,
4613 trinary, troff, true, truncating, type, type casting, typed lexical,
4614 typedef, typeglob, typemap
4618 UDP, UID, umask, unary operator, Unicode, Unix
4622 value, variable, variable interpolation, variadic, vector, virtual, void
4627 warning, watch expression, whitespace, word, working directory, wrapper,
4644 =item AUTHOR AND COPYRIGHT
4648 =head2 perlembed - how to embed perl in your C program
4658 B<Use C from Perl?>, B<Use a Unix program from Perl?>, B<Use Perl from
4659 Perl?>, B<Use C from C?>, B<Use Perl from C?>
4663 =item Compiling your C program
4665 =item Adding a Perl interpreter to your C program
4667 =item Calling a Perl subroutine from your C program
4669 =item Evaluating a Perl statement from your C program
4671 =item Performing Perl pattern matches and substitutions from your C program
4673 =item Fiddling with the Perl stack from your C program
4675 =item Maintaining a persistent interpreter
4677 =item Execution of END blocks
4679 =item Maintaining multiple interpreter instances
4681 =item Using Perl modules, which themselves use C libraries, from your C
4686 =item Embedding Perl under Win32
4698 =head2 perldebguts - Guts of Perl debugging
4704 =item Debugger Internals
4708 =item Writing Your Own Debugger
4712 =item Frame Listing Output Examples
4714 =item Debugging regular expressions
4718 =item Compile-time output
4720 C<anchored> I<STRING> C<at> I<POS>, C<floating> I<STRING> C<at>
4721 I<POS1..POS2>, C<matching floating/anchored>, C<minlen>, C<stclass>
4722 I<TYPE>, C<noscan>, C<isall>, C<GPOS>, C<plus>, C<implicit>, C<with eval>,
4725 =item Types of nodes
4727 =item Run-time output
4731 =item Debugging Perl memory usage
4735 =item Using C<$ENV{PERL_DEBUG_MSTATS}>
4737 C<buckets SMALLEST(APPROX)..GREATEST(APPROX)>, Free/Used, C<Total sbrk():
4738 SBRKed/SBRKs:CONTINUOUS>, C<pad: 0>, C<heads: 2192>, C<chain: 0>, C<tail:
4747 =head2 perlxstut, perlXStut - Tutorial for writing XSUBs
4759 =item Version caveat
4761 =item Dynamic Loading versus Static Loading
4773 =item What has gone on?
4775 =item Writing good test scripts
4779 =item What's new here?
4781 =item Input and Output Parameters
4783 =item The XSUBPP Program
4785 =item The TYPEMAP file
4787 =item Warning about Output Arguments
4791 =item What has happened here?
4793 =item Anatomy of .xs file
4795 =item Getting the fat out of XSUBs
4797 =item More about XSUB arguments
4799 =item The Argument Stack
4801 =item Extending your Extension
4803 =item Documenting your Extension
4805 =item Installing your Extension
4809 =item New Things in this Example
4813 =item New Things in this Example
4815 =item EXAMPLE 7 (Coming Soon)
4817 =item EXAMPLE 8 (Coming Soon)
4819 =item EXAMPLE 9 Passing open files to XSes
4821 =item Troubleshooting these Examples
4837 =head2 perlxs - XS language reference manual
4849 =item The Anatomy of an XSUB
4851 =item The Argument Stack
4853 =item The RETVAL Variable
4855 =item Returning SVs, AVs and HVs through RETVAL
4857 =item The MODULE Keyword
4859 =item The PACKAGE Keyword
4861 =item The PREFIX Keyword
4863 =item The OUTPUT: Keyword
4865 =item The NO_OUTPUT Keyword
4867 =item The CODE: Keyword
4869 =item The INIT: Keyword
4871 =item The NO_INIT Keyword
4873 =item Initializing Function Parameters
4875 =item Default Parameter Values
4877 =item The PREINIT: Keyword
4879 =item The SCOPE: Keyword
4881 =item The INPUT: Keyword
4883 =item The IN/OUTLIST/IN_OUTLIST/OUT/IN_OUT Keywords
4885 =item The C<length(NAME)> Keyword
4887 =item Variable-length Parameter Lists
4889 =item The C_ARGS: Keyword
4891 =item The PPCODE: Keyword
4893 =item Returning Undef And Empty Lists
4895 =item The REQUIRE: Keyword
4897 =item The CLEANUP: Keyword
4899 =item The POSTCALL: Keyword
4901 =item The BOOT: Keyword
4903 =item The VERSIONCHECK: Keyword
4905 =item The PROTOTYPES: Keyword
4907 =item The PROTOTYPE: Keyword
4909 =item The ALIAS: Keyword
4911 =item The OVERLOAD: Keyword
4913 =item The FALLBACK: Keyword
4915 =item The INTERFACE: Keyword
4917 =item The INTERFACE_MACRO: Keyword
4919 =item The INCLUDE: Keyword
4921 =item The CASE: Keyword
4923 =item The & Unary Operator
4925 =item Inserting POD, Comments and C Preprocessor Directives
4927 =item Using XS With C++
4929 =item Interface Strategy
4931 =item Perl Objects And C Structures
4935 =item Safely Storing Static Data in XS
4937 MY_CXT_KEY, typedef my_cxt_t, START_MY_CXT, MY_CXT_INIT, dMY_CXT, MY_CXT,
4938 aMY_CXT/pMY_CXT, MY_CXT_CLONE, MY_CXT_INIT_INTERP(my_perl),
4939 dMY_CXT_INTERP(my_perl)
4951 =head2 perlclib - Internal replacements for standard C library functions
4961 C<t>, C<p>, C<n>, C<s>
4963 =item File Operations
4965 =item File Input and Output
4967 =item File Positioning
4969 =item Memory Management and String Handling
4971 =item Character Class Tests
4973 =item F<stdlib.h> functions
4975 =item Miscellaneous functions
4983 =head2 perlguts - Introduction to the Perl API
4995 =item What is an "IV"?
4997 =item Working with SVs
5001 =item What's Really Stored in an SV?
5003 =item Working with AVs
5005 =item Working with HVs
5007 =item Hash API Extensions
5009 =item AVs, HVs and undefined values
5013 =item Blessed References and Class Objects
5015 =item Creating New Variables
5017 GV_ADDMULTI, GV_ADDWARN
5019 =item Reference Counts and Mortality
5021 =item Stashes and Globs
5023 =item Double-Typed SVs
5025 =item Magic Variables
5027 =item Assigning Magic
5029 =item Magic Virtual Tables
5033 =item Understanding the Magic of Tied Hashes and Arrays
5035 =item Localizing changes
5037 C<SAVEINT(int i)>, C<SAVEIV(IV i)>, C<SAVEI32(I32 i)>, C<SAVELONG(long i)>,
5038 C<SAVESPTR(s)>, C<SAVEPPTR(p)>, C<SAVEFREESV(SV *sv)>, C<SAVEMORTALIZESV(SV
5039 *sv)>, C<SAVEFREEOP(OP *op)>, C<SAVEFREEPV(p)>, C<SAVECLEARSV(SV *sv)>,
5040 C<SAVEDELETE(HV *hv, char *key, I32 length)>,
5041 C<SAVEDESTRUCTOR(DESTRUCTORFUNC_NOCONTEXT_t f, void *p)>,
5042 C<SAVEDESTRUCTOR_X(DESTRUCTORFUNC_t f, void *p)>, C<SAVESTACK_POS()>, C<SV*
5043 save_scalar(GV *gv)>, C<AV* save_ary(GV *gv)>, C<HV* save_hash(GV *gv)>,
5044 C<void save_item(SV *item)>, C<void save_list(SV **sarg, I32 maxsarg)>,
5045 C<SV* save_svref(SV **sptr)>, C<void save_aptr(AV **aptr)>, C<void
5046 save_hptr(HV **hptr)>
5054 =item XSUBs and the Argument Stack
5056 =item Calling Perl Routines from within C Programs
5058 =item Memory Allocation
5062 =item Putting a C value on Perl stack
5066 =item Scratchpads and recursion
5076 =item Examining the tree
5078 =item Compile pass 1: check routines
5080 =item Compile pass 1a: constant folding
5082 =item Compile pass 2: context propagation
5084 =item Compile pass 3: peephole optimization
5086 =item Pluggable runops
5090 =item Examining internal data structures with the C<dump> functions
5092 =item How multiple interpreters and concurrency are supported
5096 =item Background and PERL_IMPLICIT_CONTEXT
5098 =item So what happened to dTHR?
5100 =item How do I use all this in extensions?
5102 =item Should I do anything special if I call perl from multiple threads?
5104 =item Future Plans and PERL_IMPLICIT_SYS
5108 =item Internal Functions
5110 A, p, d, s, n, r, f, M, o, x, m, X, E, b
5114 =item Formatted Printing of IVs, UVs, and NVs
5116 =item Pointer-To-Integer and Integer-To-Pointer
5118 =item Exception Handling
5120 =item Source Documentation
5122 =item Backwards compatibility
5126 =item Unicode Support
5130 =item What B<is> Unicode, anyway?
5132 =item How can I recognise a UTF-8 string?
5134 =item How does UTF-8 represent Unicode characters?
5136 =item How does Perl store UTF-8 strings?
5138 =item How do I convert a string to UTF-8?
5140 =item Is there anything else I need to know?
5144 =item Custom Operators
5152 =head2 perlcall - Perl calling conventions from C
5158 An Error Handler, An Event Driven Program
5160 =item THE CALL_ FUNCTIONS
5162 call_sv, call_pv, call_method, call_argv
5182 =item Determining the Context
5190 =item No Parameters, Nothing returned
5192 =item Passing Parameters
5194 =item Returning a Scalar
5196 =item Returning a list of values
5198 =item Returning a list in a scalar context
5200 =item Returning Data from Perl via the parameter list
5204 =item Using G_KEEPERR
5208 =item Using call_argv
5210 =item Using call_method
5214 =item Using Perl to dispose of temporaries
5216 =item Strategies for storing Callback Context Information
5218 1. Ignore the problem - Allow only 1 callback, 2. Create a sequence of
5219 callbacks - hard wired limit, 3. Use a parameter to map to the Perl
5222 =item Alternate Stack Manipulation
5224 =item Creating and calling an anonymous subroutine in C
5228 =item LIGHTWEIGHT CALLBACKS
5238 =head2 perlapi - autogenerated documentation for the perl public API
5243 X<Perl API> X<API> X<api>
5245 =item "Gimme" Values
5247 GIMME X<GIMME>, GIMME_V X<GIMME_V>, G_ARRAY X<G_ARRAY>, G_DISCARD
5248 X<G_DISCARD>, G_EVAL X<G_EVAL>, G_NOARGS X<G_NOARGS>, G_SCALAR X<G_SCALAR>,
5251 =item Array Manipulation Functions
5253 AvFILL X<AvFILL>, av_clear X<av_clear>, av_delete X<av_delete>, av_exists
5254 X<av_exists>, av_extend X<av_extend>, av_fetch X<av_fetch>, av_fill
5255 X<av_fill>, av_len X<av_len>, av_make X<av_make>, av_pop X<av_pop>, av_push
5256 X<av_push>, av_shift X<av_shift>, av_store X<av_store>, av_undef
5257 X<av_undef>, av_unshift X<av_unshift>, get_av X<get_av>, newAV X<newAV>,
5258 sortsv X<sortsv>, sortsv_flags X<sortsv_flags>
5260 =item Callback Functions
5262 call_argv X<call_argv>, call_method X<call_method>, call_pv X<call_pv>,
5263 call_sv X<call_sv>, ENTER X<ENTER>, eval_pv X<eval_pv>, eval_sv X<eval_sv>,
5264 FREETMPS X<FREETMPS>, LEAVE X<LEAVE>, SAVETMPS X<SAVETMPS>
5266 =item Character classes
5268 isALNUM X<isALNUM>, isALPHA X<isALPHA>, isDIGIT X<isDIGIT>, isLOWER
5269 X<isLOWER>, isSPACE X<isSPACE>, isUPPER X<isUPPER>, toLOWER X<toLOWER>,
5272 =item Cloning an interpreter
5274 perl_clone X<perl_clone>
5276 =item CV Manipulation Functions
5278 CvSTASH X<CvSTASH>, get_cv X<get_cv>
5280 =item Embedding Functions
5282 cv_undef X<cv_undef>, load_module X<load_module>, nothreadhook
5283 X<nothreadhook>, perl_alloc X<perl_alloc>, perl_construct
5284 X<perl_construct>, perl_destruct X<perl_destruct>, perl_free X<perl_free>,
5285 perl_parse X<perl_parse>, perl_run X<perl_run>, require_pv X<require_pv>
5287 =item Functions in file mathoms.c
5289 gv_fetchmethod X<gv_fetchmethod>, sv_2pvbyte_nolen X<sv_2pvbyte_nolen>,
5290 sv_2pvutf8_nolen X<sv_2pvutf8_nolen>, sv_2pv_nolen X<sv_2pv_nolen>,
5291 sv_catpvn_mg X<sv_catpvn_mg>, sv_catsv_mg X<sv_catsv_mg>, sv_force_normal
5292 X<sv_force_normal>, sv_iv X<sv_iv>, sv_nolocking X<sv_nolocking>,
5293 sv_nounlocking X<sv_nounlocking>, sv_nv X<sv_nv>, sv_pv X<sv_pv>, sv_pvbyte
5294 X<sv_pvbyte>, sv_pvbyten X<sv_pvbyten>, sv_pvn X<sv_pvn>, sv_pvutf8
5295 X<sv_pvutf8>, sv_pvutf8n X<sv_pvutf8n>, sv_taint X<sv_taint>, sv_unref
5296 X<sv_unref>, sv_uv X<sv_uv>
5298 =item Functions in file pp_pack.c
5300 packlist X<packlist>, pack_cat X<pack_cat>, unpackstring X<unpackstring>,
5301 unpack_str X<unpack_str>
5303 =item Global Variables
5305 PL_modglobal X<PL_modglobal>, PL_na X<PL_na>, PL_sv_no X<PL_sv_no>,
5306 PL_sv_undef X<PL_sv_undef>, PL_sv_yes X<PL_sv_yes>
5310 GvSV X<GvSV>, gv_const_sv X<gv_const_sv>, gv_fetchmeth X<gv_fetchmeth>,
5311 gv_fetchmethod_autoload X<gv_fetchmethod_autoload>, gv_fetchmeth_autoload
5312 X<gv_fetchmeth_autoload>, gv_stashpv X<gv_stashpv>, gv_stashpvn
5313 X<gv_stashpvn>, gv_stashsv X<gv_stashsv>
5317 Nullav X<Nullav>, Nullch X<Nullch>, Nullcv X<Nullcv>, Nullhv X<Nullhv>,
5320 =item Hash Manipulation Functions
5322 get_hv X<get_hv>, HEf_SVKEY X<HEf_SVKEY>, HeHASH X<HeHASH>, HeKEY X<HeKEY>,
5323 HeKLEN X<HeKLEN>, HePV X<HePV>, HeSVKEY X<HeSVKEY>, HeSVKEY_force
5324 X<HeSVKEY_force>, HeSVKEY_set X<HeSVKEY_set>, HeVAL X<HeVAL>, HvNAME
5325 X<HvNAME>, hv_assert X<hv_assert>, hv_clear X<hv_clear>,
5326 hv_clear_placeholders X<hv_clear_placeholders>, hv_delete X<hv_delete>,
5327 hv_delete_ent X<hv_delete_ent>, hv_exists X<hv_exists>, hv_exists_ent
5328 X<hv_exists_ent>, hv_fetch X<hv_fetch>, hv_fetch_ent X<hv_fetch_ent>,
5329 hv_iterinit X<hv_iterinit>, hv_iterkey X<hv_iterkey>, hv_iterkeysv
5330 X<hv_iterkeysv>, hv_iternext X<hv_iternext>, hv_iternextsv
5331 X<hv_iternextsv>, hv_iternext_flags X<hv_iternext_flags>, hv_iterval
5332 X<hv_iterval>, hv_magic X<hv_magic>, hv_scalar X<hv_scalar>, hv_store
5333 X<hv_store>, hv_store_ent X<hv_store_ent>, hv_undef X<hv_undef>, newHV
5336 =item Magical Functions
5338 mg_clear X<mg_clear>, mg_copy X<mg_copy>, mg_find X<mg_find>, mg_free
5339 X<mg_free>, mg_get X<mg_get>, mg_length X<mg_length>, mg_magical
5340 X<mg_magical>, mg_set X<mg_set>, SvGETMAGIC X<SvGETMAGIC>, SvLOCK
5341 X<SvLOCK>, SvSETMAGIC X<SvSETMAGIC>, SvSetMagicSV X<SvSetMagicSV>,
5342 SvSetMagicSV_nosteal X<SvSetMagicSV_nosteal>, SvSetSV X<SvSetSV>,
5343 SvSetSV_nosteal X<SvSetSV_nosteal>, SvSHARE X<SvSHARE>, SvUNLOCK
5346 =item Memory Management
5348 Copy X<Copy>, CopyD X<CopyD>, Move X<Move>, MoveD X<MoveD>, Newx X<Newx>,
5349 Newxc X<Newxc>, Newxz X<Newxz>, Poison X<Poison>, Renew X<Renew>, Renewc
5350 X<Renewc>, Safefree X<Safefree>, savepv X<savepv>, savepvn X<savepvn>,
5351 savesharedpv X<savesharedpv>, savesvpv X<savesvpv>, StructCopy
5352 X<StructCopy>, Zero X<Zero>, ZeroD X<ZeroD>
5354 =item Miscellaneous Functions
5356 fbm_compile X<fbm_compile>, fbm_instr X<fbm_instr>, form X<form>, getcwd_sv
5357 X<getcwd_sv>, my_sprintf X<my_sprintf>, new_version X<new_version>,
5358 scan_version X<scan_version>, strEQ X<strEQ>, strGE X<strGE>, strGT
5359 X<strGT>, strLE X<strLE>, strLT X<strLT>, strNE X<strNE>, strnEQ X<strnEQ>,
5360 strnNE X<strnNE>, sv_nosharing X<sv_nosharing>, upg_version X<upg_version>,
5361 vcmp X<vcmp>, vnormal X<vnormal>, vnumify X<vnumify>, vstringify
5362 X<vstringify>, vverify X<vverify>
5364 =item Multicall Functions
5366 dMULTICALL X<dMULTICALL>, MULTICALL X<MULTICALL>, POP_MULTICALL
5367 X<POP_MULTICALL>, PUSH_MULTICALL X<PUSH_MULTICALL>
5369 =item Numeric functions
5371 grok_bin X<grok_bin>, grok_hex X<grok_hex>, grok_number X<grok_number>,
5372 grok_numeric_radix X<grok_numeric_radix>, grok_oct X<grok_oct>, scan_bin
5373 X<scan_bin>, scan_hex X<scan_hex>, scan_oct X<scan_oct>
5375 =item Optree Manipulation Functions
5377 cv_const_sv X<cv_const_sv>, newCONSTSUB X<newCONSTSUB>, newXS X<newXS>
5379 =item Pad Data Structures
5383 =item Simple Exception Handling Macros
5385 dXCPT X<dXCPT>, XCPT_CATCH X<XCPT_CATCH>, XCPT_RETHROW X<XCPT_RETHROW>,
5386 XCPT_TRY_END X<XCPT_TRY_END>, XCPT_TRY_START X<XCPT_TRY_START>
5388 =item Stack Manipulation Macros
5390 dMARK X<dMARK>, dORIGMARK X<dORIGMARK>, dSP X<dSP>, EXTEND X<EXTEND>, MARK
5391 X<MARK>, mPUSHi X<mPUSHi>, mPUSHn X<mPUSHn>, mPUSHp X<mPUSHp>, mPUSHu
5392 X<mPUSHu>, mXPUSHi X<mXPUSHi>, mXPUSHn X<mXPUSHn>, mXPUSHp X<mXPUSHp>,
5393 mXPUSHu X<mXPUSHu>, ORIGMARK X<ORIGMARK>, POPi X<POPi>, POPl X<POPl>, POPn
5394 X<POPn>, POPp X<POPp>, POPpbytex X<POPpbytex>, POPpx X<POPpx>, POPs
5395 X<POPs>, PUSHi X<PUSHi>, PUSHMARK X<PUSHMARK>, PUSHmortal X<PUSHmortal>,
5396 PUSHn X<PUSHn>, PUSHp X<PUSHp>, PUSHs X<PUSHs>, PUSHu X<PUSHu>, PUTBACK
5397 X<PUTBACK>, SP X<SP>, SPAGAIN X<SPAGAIN>, XPUSHi X<XPUSHi>, XPUSHmortal
5398 X<XPUSHmortal>, XPUSHn X<XPUSHn>, XPUSHp X<XPUSHp>, XPUSHs X<XPUSHs>,
5399 XPUSHu X<XPUSHu>, XSRETURN X<XSRETURN>, XSRETURN_EMPTY X<XSRETURN_EMPTY>,
5400 XSRETURN_IV X<XSRETURN_IV>, XSRETURN_NO X<XSRETURN_NO>, XSRETURN_NV
5401 X<XSRETURN_NV>, XSRETURN_PV X<XSRETURN_PV>, XSRETURN_UNDEF
5402 X<XSRETURN_UNDEF>, XSRETURN_UV X<XSRETURN_UV>, XSRETURN_YES
5403 X<XSRETURN_YES>, XST_mIV X<XST_mIV>, XST_mNO X<XST_mNO>, XST_mNV
5404 X<XST_mNV>, XST_mPV X<XST_mPV>, XST_mUNDEF X<XST_mUNDEF>, XST_mYES
5409 svtype X<svtype>, SVt_IV X<SVt_IV>, SVt_NV X<SVt_NV>, SVt_PV X<SVt_PV>,
5410 SVt_PVAV X<SVt_PVAV>, SVt_PVCV X<SVt_PVCV>, SVt_PVHV X<SVt_PVHV>, SVt_PVMG
5413 =item SV Manipulation Functions
5415 get_sv X<get_sv>, looks_like_number X<looks_like_number>, newRV_inc
5416 X<newRV_inc>, newRV_noinc X<newRV_noinc>, NEWSV X<NEWSV>, newSV X<newSV>,
5417 newSVhek X<newSVhek>, newSViv X<newSViv>, newSVnv X<newSVnv>, newSVpv
5418 X<newSVpv>, newSVpvf X<newSVpvf>, newSVpvn X<newSVpvn>, newSVpvn_share
5419 X<newSVpvn_share>, newSVrv X<newSVrv>, newSVsv X<newSVsv>, newSVuv
5420 X<newSVuv>, SvCUR X<SvCUR>, SvCUR_set X<SvCUR_set>, SvEND X<SvEND>, SvGROW
5421 X<SvGROW>, SvIOK X<SvIOK>, SvIOKp X<SvIOKp>, SvIOK_notUV X<SvIOK_notUV>,
5422 SvIOK_off X<SvIOK_off>, SvIOK_on X<SvIOK_on>, SvIOK_only X<SvIOK_only>,
5423 SvIOK_only_UV X<SvIOK_only_UV>, SvIOK_UV X<SvIOK_UV>, SvIsCOW X<SvIsCOW>,
5424 SvIsCOW_shared_hash X<SvIsCOW_shared_hash>, SvIV X<SvIV>, SvIVX X<SvIVX>,
5425 SvIVx X<SvIVx>, SvIV_nomg X<SvIV_nomg>, SvIV_set X<SvIV_set>, SvLEN
5426 X<SvLEN>, SvLEN_set X<SvLEN_set>, SvMAGIC_set X<SvMAGIC_set>, SvNIOK
5427 X<SvNIOK>, SvNIOKp X<SvNIOKp>, SvNIOK_off X<SvNIOK_off>, SvNOK X<SvNOK>,
5428 SvNOKp X<SvNOKp>, SvNOK_off X<SvNOK_off>, SvNOK_on X<SvNOK_on>, SvNOK_only
5429 X<SvNOK_only>, SvNV X<SvNV>, SvNVX X<SvNVX>, SvNVx X<SvNVx>, SvNV_set
5430 X<SvNV_set>, SvOK X<SvOK>, SvOOK X<SvOOK>, SvPOK X<SvPOK>, SvPOKp
5431 X<SvPOKp>, SvPOK_off X<SvPOK_off>, SvPOK_on X<SvPOK_on>, SvPOK_only
5432 X<SvPOK_only>, SvPOK_only_UTF8 X<SvPOK_only_UTF8>, SvPV X<SvPV>, SvPVbyte
5433 X<SvPVbyte>, SvPVbytex X<SvPVbytex>, SvPVbytex_force X<SvPVbytex_force>,
5434 SvPVbyte_force X<SvPVbyte_force>, SvPVbyte_nolen X<SvPVbyte_nolen>,
5435 SvPVutf8 X<SvPVutf8>, SvPVutf8x X<SvPVutf8x>, SvPVutf8x_force
5436 X<SvPVutf8x_force>, SvPVutf8_force X<SvPVutf8_force>, SvPVutf8_nolen
5437 X<SvPVutf8_nolen>, SvPVX X<SvPVX>, SvPVx X<SvPVx>, SvPV_force
5438 X<SvPV_force>, SvPV_force_nomg X<SvPV_force_nomg>, SvPV_nolen
5439 X<SvPV_nolen>, SvPV_nomg X<SvPV_nomg>, SvPV_set X<SvPV_set>, SvREFCNT
5440 X<SvREFCNT>, SvREFCNT_dec X<SvREFCNT_dec>, SvREFCNT_inc X<SvREFCNT_inc>,
5441 SvROK X<SvROK>, SvROK_off X<SvROK_off>, SvROK_on X<SvROK_on>, SvRV X<SvRV>,
5442 SvRV_set X<SvRV_set>, SvSTASH X<SvSTASH>, SvSTASH_set X<SvSTASH_set>,
5443 SvTAINT X<SvTAINT>, SvTAINTED X<SvTAINTED>, SvTAINTED_off X<SvTAINTED_off>,
5444 SvTAINTED_on X<SvTAINTED_on>, SvTRUE X<SvTRUE>, SvTYPE X<SvTYPE>, SvUOK
5445 X<SvUOK>, SvUPGRADE X<SvUPGRADE>, SvUTF8 X<SvUTF8>, SvUTF8_off
5446 X<SvUTF8_off>, SvUTF8_on X<SvUTF8_on>, SvUV X<SvUV>, SvUVX X<SvUVX>, SvUVx
5447 X<SvUVx>, SvUV_nomg X<SvUV_nomg>, SvUV_set X<SvUV_set>, SvVOK X<SvVOK>,
5448 sv_2bool X<sv_2bool>, sv_2cv X<sv_2cv>, sv_2io X<sv_2io>, sv_2iv_flags
5449 X<sv_2iv_flags>, sv_2mortal X<sv_2mortal>, sv_2nv X<sv_2nv>, sv_2pvbyte
5450 X<sv_2pvbyte>, sv_2pvutf8 X<sv_2pvutf8>, sv_2pv_flags X<sv_2pv_flags>,
5451 sv_2uv_flags X<sv_2uv_flags>, sv_backoff X<sv_backoff>, sv_bless
5452 X<sv_bless>, sv_catpv X<sv_catpv>, sv_catpvf X<sv_catpvf>, sv_catpvf_mg
5453 X<sv_catpvf_mg>, sv_catpvn X<sv_catpvn>, sv_catpvn_flags
5454 X<sv_catpvn_flags>, sv_catpvn_nomg X<sv_catpvn_nomg>, sv_catpv_mg
5455 X<sv_catpv_mg>, sv_catsv X<sv_catsv>, sv_catsv_flags X<sv_catsv_flags>,
5456 sv_catsv_nomg X<sv_catsv_nomg>, sv_chop X<sv_chop>, sv_clear X<sv_clear>,
5457 sv_cmp X<sv_cmp>, sv_cmp_locale X<sv_cmp_locale>, sv_collxfrm
5458 X<sv_collxfrm>, sv_copypv X<sv_copypv>, sv_dec X<sv_dec>, sv_derived_from
5459 X<sv_derived_from>, sv_eq X<sv_eq>, sv_force_normal_flags
5460 X<sv_force_normal_flags>, sv_free X<sv_free>, sv_gets X<sv_gets>, sv_grow
5461 X<sv_grow>, sv_inc X<sv_inc>, sv_insert X<sv_insert>, sv_isa X<sv_isa>,
5462 sv_isobject X<sv_isobject>, sv_len X<sv_len>, sv_len_utf8 X<sv_len_utf8>,
5463 sv_magic X<sv_magic>, sv_magicext X<sv_magicext>, sv_mortalcopy
5464 X<sv_mortalcopy>, sv_newmortal X<sv_newmortal>, sv_newref X<sv_newref>,
5465 sv_pos_b2u X<sv_pos_b2u>, sv_pos_u2b X<sv_pos_u2b>, sv_pvbyten_force
5466 X<sv_pvbyten_force>, sv_pvn_force X<sv_pvn_force>, sv_pvn_force_flags
5467 X<sv_pvn_force_flags>, sv_pvutf8n_force X<sv_pvutf8n_force>, sv_reftype
5468 X<sv_reftype>, sv_replace X<sv_replace>, sv_report_used X<sv_report_used>,
5469 sv_reset X<sv_reset>, sv_rvweaken X<sv_rvweaken>, sv_setiv X<sv_setiv>,
5470 sv_setiv_mg X<sv_setiv_mg>, sv_setnv X<sv_setnv>, sv_setnv_mg
5471 X<sv_setnv_mg>, sv_setpv X<sv_setpv>, sv_setpvf X<sv_setpvf>, sv_setpvf_mg
5472 X<sv_setpvf_mg>, sv_setpviv X<sv_setpviv>, sv_setpviv_mg X<sv_setpviv_mg>,
5473 sv_setpvn X<sv_setpvn>, sv_setpvn_mg X<sv_setpvn_mg>, sv_setpv_mg
5474 X<sv_setpv_mg>, sv_setref_iv X<sv_setref_iv>, sv_setref_nv X<sv_setref_nv>,
5475 sv_setref_pv X<sv_setref_pv>, sv_setref_pvn X<sv_setref_pvn>, sv_setref_uv
5476 X<sv_setref_uv>, sv_setsv X<sv_setsv>, sv_setsv_flags X<sv_setsv_flags>,
5477 sv_setsv_mg X<sv_setsv_mg>, sv_setsv_nomg X<sv_setsv_nomg>, sv_setuv
5478 X<sv_setuv>, sv_setuv_mg X<sv_setuv_mg>, sv_tainted X<sv_tainted>, sv_true
5479 X<sv_true>, sv_unmagic X<sv_unmagic>, sv_unref_flags X<sv_unref_flags>,
5480 sv_untaint X<sv_untaint>, sv_upgrade X<sv_upgrade>, sv_usepvn X<sv_usepvn>,
5481 sv_usepvn_mg X<sv_usepvn_mg>, sv_utf8_decode X<sv_utf8_decode>,
5482 sv_utf8_downgrade X<sv_utf8_downgrade>, sv_utf8_encode X<sv_utf8_encode>,
5483 sv_utf8_upgrade X<sv_utf8_upgrade>, sv_utf8_upgrade_flags
5484 X<sv_utf8_upgrade_flags>, sv_vcatpvf X<sv_vcatpvf>, sv_vcatpvfn
5485 X<sv_vcatpvfn>, sv_vcatpvf_mg X<sv_vcatpvf_mg>, sv_vsetpvf X<sv_vsetpvf>,
5486 sv_vsetpvfn X<sv_vsetpvfn>, sv_vsetpvf_mg X<sv_vsetpvf_mg>
5488 =item Unicode Support
5490 bytes_from_utf8 X<bytes_from_utf8>, bytes_to_utf8 X<bytes_to_utf8>,
5491 ibcmp_utf8 X<ibcmp_utf8>, is_utf8_char X<is_utf8_char>, is_utf8_string
5492 X<is_utf8_string>, is_utf8_string_loc X<is_utf8_string_loc>,
5493 is_utf8_string_loclen X<is_utf8_string_loclen>, pv_uni_display
5494 X<pv_uni_display>, sv_cat_decode X<sv_cat_decode>, sv_recode_to_utf8
5495 X<sv_recode_to_utf8>, sv_uni_display X<sv_uni_display>, to_utf8_case
5496 X<to_utf8_case>, to_utf8_fold X<to_utf8_fold>, to_utf8_lower
5497 X<to_utf8_lower>, to_utf8_title X<to_utf8_title>, to_utf8_upper
5498 X<to_utf8_upper>, utf8n_to_uvchr X<utf8n_to_uvchr>, utf8n_to_uvuni
5499 X<utf8n_to_uvuni>, utf8_distance X<utf8_distance>, utf8_hop X<utf8_hop>,
5500 utf8_length X<utf8_length>, utf8_to_bytes X<utf8_to_bytes>, utf8_to_uvchr
5501 X<utf8_to_uvchr>, utf8_to_uvuni X<utf8_to_uvuni>, uvchr_to_utf8
5502 X<uvchr_to_utf8>, uvuni_to_utf8_flags X<uvuni_to_utf8_flags>
5504 =item Variables created by C<xsubpp> and C<xsubpp> internal functions
5506 ax X<ax>, CLASS X<CLASS>, dAX X<dAX>, dAXMARK X<dAXMARK>, dITEMS X<dITEMS>,
5507 dUNDERBAR X<dUNDERBAR>, dXSARGS X<dXSARGS>, dXSI32 X<dXSI32>, items
5508 X<items>, ix X<ix>, newXSproto X<newXSproto>, RETVAL X<RETVAL>, ST X<ST>,
5509 THIS X<THIS>, UNDERBAR X<UNDERBAR>, XS X<XS>, XS_VERSION X<XS_VERSION>,
5510 XS_VERSION_BOOTCHECK X<XS_VERSION_BOOTCHECK>
5512 =item Warning and Dieing
5514 croak X<croak>, warn X<warn>
5522 =head2 perlintern - autogenerated documentation of purely B<internal>
5528 X<internal Perl functions> X<interpreter functions>
5530 =item CV reference counts and CvOUTSIDE
5532 CvWEAKOUTSIDE X<CvWEAKOUTSIDE>
5534 =item Functions in file pad.h
5536 CX_CURPAD_SAVE X<CX_CURPAD_SAVE>, CX_CURPAD_SV X<CX_CURPAD_SV>, PAD_BASE_SV
5537 X<PAD_BASE_SV>, PAD_CLONE_VARS X<PAD_CLONE_VARS>, PAD_COMPNAME_FLAGS
5538 X<PAD_COMPNAME_FLAGS>, PAD_COMPNAME_GEN X<PAD_COMPNAME_GEN>,
5539 PAD_COMPNAME_GEN_set X<PAD_COMPNAME_GEN_set>, PAD_COMPNAME_OURSTASH
5540 X<PAD_COMPNAME_OURSTASH>, PAD_COMPNAME_PV X<PAD_COMPNAME_PV>,
5541 PAD_COMPNAME_TYPE X<PAD_COMPNAME_TYPE>, PAD_DUP X<PAD_DUP>,
5542 PAD_RESTORE_LOCAL X<PAD_RESTORE_LOCAL>, PAD_SAVE_LOCAL X<PAD_SAVE_LOCAL>,
5543 PAD_SAVE_SETNULLPAD X<PAD_SAVE_SETNULLPAD>, PAD_SETSV X<PAD_SETSV>,
5544 PAD_SET_CUR X<PAD_SET_CUR>, PAD_SET_CUR_NOSAVE X<PAD_SET_CUR_NOSAVE>,
5545 PAD_SV X<PAD_SV>, PAD_SVl X<PAD_SVl>, SAVECLEARSV X<SAVECLEARSV>,
5546 SAVECOMPPAD X<SAVECOMPPAD>, SAVEPADSV X<SAVEPADSV>
5548 =item Functions in file pp_ctl.c
5550 find_runcv X<find_runcv>
5552 =item Global Variables
5554 PL_DBsingle X<PL_DBsingle>, PL_DBsub X<PL_DBsub>, PL_DBtrace X<PL_DBtrace>,
5555 PL_dowarn X<PL_dowarn>, PL_last_in_gv X<PL_last_in_gv>, PL_ofs_sv
5556 X<PL_ofs_sv>, PL_rs X<PL_rs>
5560 is_gv_magical X<is_gv_magical>, is_gv_magical_sv X<is_gv_magical_sv>
5564 start_glob X<start_glob>
5566 =item Magical Functions
5568 mg_localize X<mg_localize>
5570 =item Pad Data Structures
5572 CvPADLIST X<CvPADLIST>, cv_clone X<cv_clone>, cv_dump X<cv_dump>,
5573 do_dump_pad X<do_dump_pad>, intro_my X<intro_my>, pad_add_anon
5574 X<pad_add_anon>, pad_add_name X<pad_add_name>, pad_alloc X<pad_alloc>,
5575 pad_block_start X<pad_block_start>, pad_check_dup X<pad_check_dup>,
5576 pad_findlex X<pad_findlex>, pad_findmy X<pad_findmy>, pad_fixup_inner_anons
5577 X<pad_fixup_inner_anons>, pad_free X<pad_free>, pad_leavemy X<pad_leavemy>,
5578 pad_new X<pad_new>, pad_push X<pad_push>, pad_reset X<pad_reset>, pad_setsv
5579 X<pad_setsv>, pad_swipe X<pad_swipe>, pad_tidy X<pad_tidy>, pad_undef
5582 =item Stack Manipulation Macros
5584 djSP X<djSP>, LVRET X<LVRET>
5586 =item SV Manipulation Functions
5588 sv_add_arena X<sv_add_arena>, sv_clean_all X<sv_clean_all>, sv_clean_objs
5589 X<sv_clean_objs>, sv_free_arenas X<sv_free_arenas>
5591 =item Unicode Support
5593 find_uninit_var X<find_uninit_var>, report_uninit X<report_uninit>
5601 =head2 perliol - C API for Perl's implementation of IO in Layers.