# !!!!!!! DO NOT EDIT THIS FILE !!!!!!! # This file is autogenerated by buildtoc from all the other pods. # Edit those files and run buildtoc --build-toc to effect changes. =head1 NAME perltoc - perl documentation table of contents =head1 DESCRIPTION This page provides a brief table of contents for the rest of the Perl documentation set. It is meant to be scanned quickly or grepped through to locate the proper section you're looking for. =head1 BASIC DOCUMENTATION =head2 perl - The Perl language interpreter =over 4 =item SYNOPSIS =item GETTING HELP =over 4 =item Overview =item Tutorials =item Reference Manual =item Internals and C Language Interface =item Miscellaneous =item Language-Specific =item Platform-Specific =back =item DESCRIPTION =item AVAILABILITY =item ENVIRONMENT =item AUTHOR =item FILES =item SEE ALSO =item DIAGNOSTICS =item BUGS =item NOTES =back =head2 perlintro -- a brief introduction and overview of Perl =over 4 =item DESCRIPTION =over 4 =item What is Perl? =item Running Perl programs =item Safety net =item Basic syntax overview =item Perl variable types Scalars, Arrays, Hashes =item Variable scoping =item Conditional and looping constructs if, while, for, foreach =item Builtin operators and functions Arithmetic, Numeric comparison, String comparison, Boolean logic, Miscellaneous =item Files and I/O =item Regular expressions Simple matching, Simple substitution, More complex regular expressions, Parentheses for capturing, Other regexp features =item Writing subroutines =item OO Perl =item Using Perl modules =back =item AUTHOR =back =head2 perlreftut - Mark's very short tutorial about references =over 4 =item DESCRIPTION =item Who Needs Complicated Data Structures? =item The Solution =item Syntax =over 4 =item Making References =item Using References =item An Example =item Arrow Rule =back =item Solution =item The Rest =item Summary =item Credits =over 4 =item Distribution Conditions =back =back =head2 perldsc - Perl Data Structures Cookbook =over 4 =item DESCRIPTION arrays of arrays, hashes of arrays, arrays of hashes, hashes of hashes, more elaborate constructs =item REFERENCES X X X X =item COMMON MISTAKES =item CAVEAT ON PRECEDENCE X X =item WHY YOU SHOULD ALWAYS C =item DEBUGGING X X X X X X X X X X =item CODE EXAMPLES =item ARRAYS OF ARRAYS X X =over 4 =item Declaration of an ARRAY OF ARRAYS =item Generation of an ARRAY OF ARRAYS =item Access and Printing of an ARRAY OF ARRAYS =back =item HASHES OF ARRAYS X X =over 4 =item Declaration of a HASH OF ARRAYS =item Generation of a HASH OF ARRAYS =item Access and Printing of a HASH OF ARRAYS =back =item ARRAYS OF HASHES X X =over 4 =item Declaration of an ARRAY OF HASHES =item Generation of an ARRAY OF HASHES =item Access and Printing of an ARRAY OF HASHES =back =item HASHES OF HASHES X X =over 4 =item Declaration of a HASH OF HASHES =item Generation of a HASH OF HASHES =item Access and Printing of a HASH OF HASHES =back =item MORE ELABORATE RECORDS X X X =over 4 =item Declaration of MORE ELABORATE RECORDS =item Declaration of a HASH OF COMPLEX RECORDS =item Generation of a HASH OF COMPLEX RECORDS =back =item Database Ties =item SEE ALSO =item AUTHOR =back =head2 perllol - Manipulating Arrays of Arrays in Perl =over 4 =item DESCRIPTION =over 4 =item Declaration and Access of Arrays of Arrays =item Growing Your Own =item Access and Printing =item Slices =back =item SEE ALSO =item AUTHOR =back =head2 perlrequick - Perl regular expressions quick start =over 4 =item DESCRIPTION =item The Guide =over 4 =item Simple word matching =item Using character classes =item Matching this or that =item Grouping things and hierarchical matching =item Extracting matches =item Matching repetitions =item More matching =item Search and replace =item The split operator =back =item BUGS =item SEE ALSO =item AUTHOR AND COPYRIGHT =over 4 =item Acknowledgments =back =back =head2 perlretut - Perl regular expressions tutorial =over 4 =item DESCRIPTION =item Part 1: The basics =over 4 =item Simple word matching =item Using character classes =item Matching this or that =item Grouping things and hierarchical matching =item Extracting matches =item Backreferences =item Relative backreferences =item Named backreferences =item Alternative capture group numbering =item Position information =item Non-capturing groupings =item Matching repetitions =item Possessive quantifiers =item Building a regexp =item Using regular expressions in Perl =back =item Part 2: Power tools =over 4 =item More on characters, strings, and character classes =item Compiling and saving regular expressions =item Composing regular expressions at runtime =item Embedding comments and modifiers in a regular expression =item Looking ahead and looking behind =item Using independent subexpressions to prevent backtracking =item Conditional expressions =item Defining named patterns =item Recursive patterns =item A bit of magic: executing Perl code in a regular expression =item Backtracking control verbs =item Pragmas and debugging =back =item BUGS =item SEE ALSO =item AUTHOR AND COPYRIGHT =over 4 =item Acknowledgments =back =back =head2 perlboot - Beginner's Object-Oriented Tutorial =over 4 =item DESCRIPTION =over 4 =item If we could talk to the animals... =item Introducing the method invocation arrow =item Invoking a barnyard =item The extra parameter of method invocation =item Calling a second method to simplify things =item Inheriting the windpipes =item A few notes about @ISA =item Overriding the methods =item Starting the search from a different place =item The SUPER way of doing things =item Let's review... =item A horse is a horse, of course of course, or is it? =item Invoking an instance method =item Accessing the instance data =item How to build a horse =item Inheriting the constructor =item Making a method work with either classes or instances =item Adding parameters to a method =item More interesting instances =item A horse of a different color =item Summary =back =item SEE ALSO =item COPYRIGHT =back =head2 perltoot - Tom's object-oriented tutorial for perl =over 4 =item DESCRIPTION =item Creating a Class =over 4 =item Object Representation =item Class Interface =item Constructors and Instance Methods =item Planning for the Future: Better Constructors =item Destructors =item Other Object Methods =back =item Class Data =over 4 =item Accessing Class Data =item Debugging Methods =item Class Destructors =item Documenting the Interface =back =item Aggregation =item Inheritance =over 4 =item Overridden Methods =item Multiple Inheritance =item UNIVERSAL: The Root of All Objects =item Deeper UNIVERSAL details =back =item Alternate Object Representations =over 4 =item Arrays as Objects =item Closures as Objects =back =item AUTOLOAD: Proxy Methods =over 4 =item Autoloaded Data Methods =item Inherited Autoloaded Data Methods =back =item Metaclassical Tools =over 4 =item Class::Struct =item Data Members as Variables =back =item NOTES =over 4 =item Object Terminology =back =item SEE ALSO =item AUTHOR AND COPYRIGHT =item COPYRIGHT =over 4 =item Acknowledgments =back =back =head2 perltooc - Tom's OO Tutorial for Class Data in Perl =over 4 =item DESCRIPTION =item Class Data in a Can =item Class Data as Package Variables =over 4 =item Putting All Your Eggs in One Basket =item Inheritance Concerns =item The Eponymous Meta-Object =item Indirect References to Class Data =item Monadic Classes =item Translucent Attributes =back =item Class Data as Lexical Variables =over 4 =item Privacy and Responsibility =item File-Scoped Lexicals =item More Inheritance Concerns =item Locking the Door and Throwing Away the Key =item Translucency Revisited =back =item NOTES =item SEE ALSO =item AUTHOR AND COPYRIGHT =item ACKNOWLEDGEMENTS =item HISTORY =back =head2 perlbot - Bag'o Object Tricks (the BOT) =over 4 =item DESCRIPTION =item OO SCALING TIPS =item INSTANCE VARIABLES =item SCALAR INSTANCE VARIABLES =item INSTANCE VARIABLE INHERITANCE =item OBJECT RELATIONSHIPS =item OVERRIDING SUPERCLASS METHODS =item USING RELATIONSHIP WITH SDBM =item THINKING OF CODE REUSE =item CLASS CONTEXT AND THE OBJECT =item INHERITING A CONSTRUCTOR =item DELEGATION =item SEE ALSO =back =head2 perlperf - Perl Performance and Optimization Techniques =over 4 =item DESCRIPTION =item OVERVIEW =over 4 =item ONE STEP SIDEWAYS =item ONE STEP FORWARD =item ANOTHER STEP SIDEWAYS =back =item GENERAL GUIDELINES =item BENCHMARKS =over 4 =item Assigning and Dereferencing Variables. =item Search and replace or tr =back =item PROFILING TOOLS =over 4 =item Devel::DProf =item Devel::Profiler =item Devel::SmallProf =item Devel::FastProf =item Devel::NYTProf =back =item SORTING Elapsed Real Time, User CPU Time, System CPU Time =item LOGGING =over 4 =item Logging if DEBUG (constant) =back =item POSTSCRIPT =item SEE ALSO =over 4 =item PERLDOCS =item MAN PAGES =item MODULES =item URLS =back =item AUTHOR =back =head2 perlstyle - Perl style guide =over 4 =item DESCRIPTION =back =head2 perlcheat - Perl 5 Cheat Sheet =over 4 =item DESCRIPTION =over 4 =item The sheet =back =item ACKNOWLEDGEMENTS =item AUTHOR =item SEE ALSO =back =head2 perltrap - Perl traps for the unwary =over 4 =item DESCRIPTION =over 4 =item Awk Traps =item C/C++ Traps =item Sed Traps =item Shell Traps =item Perl Traps =item Perl4 to Perl5 Traps Discontinuance, Deprecation, and BugFix traps, Parsing Traps, Numerical Traps, General data type traps, Context Traps - scalar, list contexts, Precedence Traps, General Regular Expression Traps using s///, etc, Subroutine, Signal, Sorting Traps, OS Traps, DBM Traps, Unclassified Traps =item Discontinuance, Deprecation, and BugFix traps Symbols starting with "_" no longer forced into main, Double-colon valid package separator in variable name, 2nd and 3rd args to C are now in scalar context, Can't do C into a block that is optimized away, Can't use whitespace as variable name or quote delimiter, C gone, C<**> binds tighter than unary minus, C changed when iterating over a list, C with no args behavior changed, B<-e> behavior fixed, C returns number of elements in resulting list, Some error messages differ, C honors subroutine args, Bugs removed =item Parsing Traps Space between . and = triggers syntax error, Better parsing in perl 5, Function parsing, String interpolation of C<$#array> differs, Perl guesses on C, C followed by C<{> if it starts BLOCK or hash ref =item Numerical Traps Formatted output and significant digits, Auto-increment operator over signed int limit deleted, Assignment of return values from numeric equality tests doesn't work, Bitwise string ops =item General data type traps Negative array subscripts now count from the end of array, Setting C<$#array> lower now discards array elements, Hashes get defined before use, Glob assignment from localized variable to variable, Assigning C to glob, Changes in unary negation (of strings), Modifying of constants prohibited, C behavior changed, Variable Suicide =item Context Traps - scalar, list contexts Elements of argument lists for formats evaluated in list context, C returns false value in scalar context if no caller present, Comma operator in scalar context gives scalar context to args, C prototyped as C<($;@)> =item Precedence Traps LHS vs. RHS of any assignment operator, Semantic errors introduced due to precedence, Precedence of assignment operators same as the precedence of assignment, C requires parentheses around filehandle, C<$:> precedence over C<$::> gone, Precedence of file test operators documented, C, C, C are regular named unary operators =item General Regular Expression Traps using s///, etc. C interpolates on either side, C attaches its state to the searched string, C used within an anonymous sub, C<$+> isn't set to whole match, Substitution now returns null string if it fails, C is now a normal substitution, Stricter parsing of variables in regular expressions, C matches only once, Failed matches don't reset the match variables =item Subroutine, Signal, Sorting Traps Barewords that used to look like strings look like subroutine calls, Reverse is no longer allowed as the name of a sort subroutine, C won't let you specify a filehandle =item OS Traps SysV resets signal handler correctly, SysV C appends correctly =item Interpolation Traps C<@> always interpolates an array in double-quotish strings, Double-quoted strings may no longer end with an unescaped $, Arbitrary expressions are evaluated inside braces within double quotes, C<$$x> now tries to dereference $x, Creation of hashes on the fly with C requires protection, Bugs in earlier perl versions, Array and hash brackets during interpolation, Interpolation of C<\$$foo{bar}>, C string passed to C will not find string terminator =item DBM Traps Perl5 must have been linked with same dbm/ndbm as the default for C, DBM exceeding limit on the key/value size will cause perl5 to exit immediately =item Unclassified Traps C/C trap using returned value, C on empty string with LIMIT specified =back =back =head2 perldebtut - Perl debugging tutorial =over 4 =item DESCRIPTION =item use strict =item Looking at data and -w and v =item help =item Stepping through code =item Placeholder for a, w, t, T =item REGULAR EXPRESSIONS =item OUTPUT TIPS =item CGI =item GUIs =item SUMMARY =item SEE ALSO =item AUTHOR =item CONTRIBUTORS =back =head2 perlfaq - frequently asked questions about Perl =over 4 =item DESCRIPTION =over 4 =item Where to get the perlfaq =item How to contribute to the perlfaq =item What will happen if you mail your Perl programming problems to the authors? =back =item CREDITS =item AUTHOR AND COPYRIGHT =item Table of Contents perlfaq - this document, perlfaq1 - General Questions About Perl, perlfaq2 - Obtaining and Learning about Perl, perlfaq3 - Programming Tools, perlfaq4 - Data Manipulation, perlfaq5 - Files and Formats, perlfaq6 - Regular Expressions, perlfaq7 - General Perl Language Issues, perlfaq8 - System Interaction, perlfaq9 - Networking =item The Questions =over 4 =item L: General Questions About Perl =item L: Obtaining and Learning about Perl =item L: Programming Tools =item L: Data Manipulation =item L: Files and Formats =item L: Regular Expressions =item L: General Perl Language Issues =item L: System Interaction =item L: Networking =back =back =head2 perlfaq1 - General Questions About Perl =over 4 =item DESCRIPTION =over 4 =item What is Perl? =item Who supports Perl? Who develops it? Why is it free? =item Which version of Perl should I use? =item What are Perl 4, Perl 5, or Perl 6? =item What was Ponie? =item What is Perl 6? =item How stable is Perl? =item Is Perl difficult to learn? =item How does Perl compare with other languages like Java, Python, REXX, Scheme, or Tcl? =item Can I do [task] in Perl? =item When shouldn't I program in Perl? =item What's the difference between "perl" and "Perl"? =item Is it a Perl program or a Perl script? =item What is a JAPH? =item Where can I get a list of Larry Wall witticisms? =item How can I convince others to use Perl? http://perltraining.com.au/whyperl.html, http://www.perl.org/advocacy/whyperl.html =back =item AUTHOR AND COPYRIGHT =back =head2 perlfaq2 - Obtaining and Learning about Perl =over 4 =item DESCRIPTION =over 4 =item What machines support perl? Where do I get it? =item How can I get a binary version of perl? =item I don't have a C compiler. How can I build my own Perl interpreter? =item I copied the perl binary from one machine to another, but scripts don't work. =item I grabbed the sources and tried to compile but gdbm/dynamic loading/malloc/linking/... failed. How do I make it work? =item What modules and extensions are available for Perl? What is CPAN? What does CPAN/src/... mean? =item Is there an ISO or ANSI certified version of Perl? =item Where can I get information on Perl? =item What are the Perl newsgroups on Usenet? Where do I post questions? =item Where should I post source code? =item Perl Books References, Tutorials, Task-Oriented, Special Topics =item Which magazines have Perl content? =item What mailing lists are there for Perl? =item Where are the archives for comp.lang.perl.misc? =item Where can I buy a commercial version of perl? =item Where do I send bug reports? =item What is perl.com? Perl Mongers? pm.org? perl.org? cpan.org? =back =item AUTHOR AND COPYRIGHT =back =head2 perlfaq3 - Programming Tools =over 4 =item DESCRIPTION =over 4 =item How do I do (anything)? =item How can I use Perl interactively? =item Is there a Perl shell? =item How do I find which modules are installed on my system? =item How do I debug my Perl programs? =item How do I profile my Perl programs? =item How do I cross-reference my Perl programs? =item Is there a pretty-printer (formatter) for Perl? =item Is there a ctags for Perl? =item Is there an IDE or Windows Perl Editor? Eclipse, Enginsite, Komodo, Notepad++, Open Perl IDE, OptiPerl, Padre, PerlBuilder, visiPerl+, Visual Perl, Zeus, GNU Emacs, MicroEMACS, XEmacs, Jed, Elvis, Vile, Vim, Codewright, MultiEdit, SlickEdit, ConTEXT, Bash, Ksh, Tcsh, Zsh, Affrus, Alpha, BBEdit and BBEdit Lite =item Where can I get Perl macros for vi? =item Where can I get perl-mode for emacs? =item How can I use curses with Perl? =item How can I write a GUI (X, Tk, Gtk, etc.) in Perl? X X X X X X X X Tk, Wx, Gtk and Gtk2, Win32::GUI, CamelBones, Qt, Athena =item How can I make my Perl program run faster? =item How can I make my Perl program take less memory? Don't slurp!, Use map and grep selectively, Avoid unnecessary quotes and stringification, Pass by reference, Tie large variables to disk =item Is it safe to return a reference to local or lexical data? =item How can I free an array or hash so my program shrinks? =item How can I make my CGI script more efficient? =item How can I hide the source for my Perl program? =item How can I compile my Perl program into byte code or C? =item How can I get C<#!perl> to work on [MS-DOS,NT,...]? =item Can I write useful Perl programs on the command line? =item Why don't Perl one-liners work on my DOS/Mac/VMS system? =item Where can I learn about CGI or Web programming in Perl? =item Where can I learn about object-oriented Perl programming? =item Where can I learn about linking C with Perl? =item I've read perlembed, perlguts, etc., but I can't embed perl in my C program; what am I doing wrong? =item When I tried to run my script, I got this message. What does it mean? =item What's MakeMaker? =back =item AUTHOR AND COPYRIGHT =back =head2 perlfaq4 - Data Manipulation =over 4 =item DESCRIPTION =item Data: Numbers =over 4 =item Why am I getting long decimals (eg, 19.9499999999999) instead of the numbers I should be getting (eg, 19.95)? =item Why is int() broken? =item Why isn't my octal data interpreted correctly? =item Does Perl have a round() function? What about ceil() and floor()? Trig functions? =item How do I convert between numeric representations/bases/radixes? How do I convert hexadecimal into decimal, How do I convert from decimal to hexadecimal, How do I convert from octal to decimal, How do I convert from decimal to octal, How do I convert from binary to decimal, How do I convert from decimal to binary =item Why doesn't & work the way I want it to? =item How do I multiply matrices? =item How do I perform an operation on a series of integers? =item How can I output Roman numerals? =item Why aren't my random numbers random? =item How do I get a random number between X and Y? =back =item Data: Dates =over 4 =item How do I find the day or week of the year? =item How do I find the current century or millennium? =item How can I compare two dates and find the difference? =item How can I take a string and turn it into epoch seconds? =item How can I find the Julian Day? =item How do I find yesterday's date? X X X X X X X X X X =item Does Perl have a Year 2000 or 2038 problem? Is Perl Y2K compliant? =back =item Data: Strings =over 4 =item How do I validate input? =item How do I unescape a string? =item How do I remove consecutive pairs of characters? =item How do I expand function calls in a string? =item How do I find matching/nesting anything? =item How do I reverse a string? =item How do I expand tabs in a string? =item How do I reformat a paragraph? =item How can I access or change N characters of a string? =item How do I change the Nth occurrence of something? =item How can I count the number of occurrences of a substring within a string? =item How do I capitalize all the words on one line? X X X X =item How can I split a [character] delimited string except when inside [character]? =item How do I strip blank space from the beginning/end of a string? =item How do I pad a string with blanks or pad a number with zeroes? =item How do I extract selected columns from a string? =item How do I find the soundex value of a string? =item How can I expand variables in text strings? =item What's wrong with always quoting "$vars"? =item Why don't my EEHERE documents work? There must be no space after the EE part, There (probably) should be a semicolon at the end, You can't (easily) have any space in front of the tag =back =item Data: Arrays =over 4 =item What is the difference between a list and an array? =item What is the difference between $array[1] and @array[1]? =item How can I remove duplicate elements from a list or array? =item How can I tell whether a certain element is contained in a list or array? =item How do I compute the difference of two arrays? How do I compute the intersection of two arrays? =item How do I test whether two arrays or hashes are equal? =item How do I find the first array element for which a condition is true? =item How do I handle linked lists? =item How do I handle circular lists? X X X X X X =item How do I shuffle an array randomly? =item How do I process/modify each element of an array? =item How do I select a random element from an array? =item How do I permute N elements of a list? X X X X X X =item How do I sort an array by (anything)? =item How do I manipulate arrays of bits? =item Why does defined() return true on empty arrays and hashes? =back =item Data: Hashes (Associative Arrays) =over 4 =item How do I process an entire hash? =item How do I merge two hashes? X X X =item What happens if I add or remove keys from a hash while iterating over it? =item How do I look up a hash element by value? =item How can I know how many entries are in a hash? =item How do I sort a hash (optionally by value instead of key)? =item How can I always keep my hash sorted? X =item What's the difference between "delete" and "undef" with hashes? =item Why don't my tied hashes make the defined/exists distinction? =item How do I reset an each() operation part-way through? =item How can I get the unique keys from two hashes? =item How can I store a multidimensional array in a DBM file? =item How can I make my hash remember the order I put elements into it? =item Why does passing a subroutine an undefined element in a hash create it? =item How can I make the Perl equivalent of a C structure/C++ class/hash or array of hashes or arrays? =item How can I use a reference as a hash key? =back =item Data: Misc =over 4 =item How do I handle binary data correctly? =item How do I determine whether a scalar is a number/whole/integer/float? =item How do I keep persistent data across program calls? =item How do I print out or copy a recursive data structure? =item How do I define methods for every class/object? =item How do I verify a credit card checksum? =item How do I pack arrays of doubles or floats for XS code? =back =item AUTHOR AND COPYRIGHT =back =head2 perlfaq5 - Files and Formats =over 4 =item DESCRIPTION =over 4 =item How do I flush/unbuffer an output filehandle? Why must I do this? X X X X =item How do I change, delete, or insert a line in a file, or append to the beginning of a file? X =item How do I count the number of lines in a file? X X X =item How do I delete the last N lines from a file? X X =item How can I use Perl's C<-i> option from within a program? X<-i> X =item How can I copy a file? X X X =item How do I make a temporary file name? X =item How can I manipulate fixed-record-length files? X X =item How can I make a filehandle local to a subroutine? How do I pass filehandles between subroutines? How do I make an array of filehandles? X X X =item How can I use a filehandle indirectly? X =item How can I set up a footer format to be used with write()? X