Product Documentation

ActivePerl 5.10 Documentation

perltoc - perl documentation table of contents


NAME

perltoc - perl documentation table of contents


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.


BASIC DOCUMENTATION

perl - Practical Extraction and Report Language

SYNOPSIS
Overview
Tutorials
Reference Manual
Internals and C Language Interface
Miscellaneous
Language-Specific
Platform-Specific
DESCRIPTION
AVAILABILITY
ENVIRONMENT
AUTHOR
FILES
SEE ALSO
DIAGNOSTICS
BUGS
NOTES

perlintro -- a brief introduction and overview of Perl

DESCRIPTION
What is Perl?
Running Perl programs
Safety net
Basic syntax overview
Perl variable types

Scalars, Arrays, Hashes

Variable scoping
Conditional and looping constructs

if, while, for, foreach

Builtin operators and functions

Arithmetic, Numeric comparison, String comparison, Boolean logic, Miscellaneous

Files and I/O
Regular expressions

Simple matching, Simple substitution, More complex regular expressions, Parentheses for capturing, Other regexp features

Writing subroutines
OO Perl
Using Perl modules
AUTHOR

perlreftut - Mark's very short tutorial about references

DESCRIPTION
Who Needs Complicated Data Structures?
The Solution
Syntax
Making References
Using References
An Example
Arrow Rule
Solution
The Rest
Summary
Credits
Distribution Conditions

perldsc - Perl Data Structures Cookbook

DESCRIPTION

arrays of arrays, hashes of arrays, arrays of hashes, hashes of hashes, more elaborate constructs

REFERENCES
COMMON MISTAKES
CAVEAT ON PRECEDENCE
WHY YOU SHOULD ALWAYS use strict
DEBUGGING
CODE EXAMPLES
ARRAYS OF ARRAYS
Declaration of an ARRAY OF ARRAYS
Generation of an ARRAY OF ARRAYS
Access and Printing of an ARRAY OF ARRAYS
HASHES OF ARRAYS
Declaration of a HASH OF ARRAYS
Generation of a HASH OF ARRAYS
Access and Printing of a HASH OF ARRAYS
ARRAYS OF HASHES
Declaration of an ARRAY OF HASHES
Generation of an ARRAY OF HASHES
Access and Printing of an ARRAY OF HASHES
HASHES OF HASHES
Declaration of a HASH OF HASHES
Generation of a HASH OF HASHES
Access and Printing of a HASH OF HASHES
MORE ELABORATE RECORDS
Declaration of MORE ELABORATE RECORDS
Declaration of a HASH OF COMPLEX RECORDS
Generation of a HASH OF COMPLEX RECORDS
Database Ties
SEE ALSO
AUTHOR

perllol - Manipulating Arrays of Arrays in Perl

DESCRIPTION
Declaration and Access of Arrays of Arrays
Growing Your Own
Access and Printing
Slices
SEE ALSO
AUTHOR

perlrequick - Perl regular expressions quick start

DESCRIPTION
The Guide
Simple word matching
Using character classes
Matching this or that
Grouping things and hierarchical matching
Extracting matches
Matching repetitions
More matching
Search and replace
The split operator
BUGS
SEE ALSO
AUTHOR AND COPYRIGHT
Acknowledgments

perlretut - Perl regular expressions tutorial

DESCRIPTION
Part 1: The basics
Simple word matching
Using character classes
Matching this or that
Grouping things and hierarchical matching
Extracting matches
Backreferences
Relative backreferences
Named backreferences
Alternative capture group numbering
Position information
Non-capturing groupings
Matching repetitions
Possessive quantifiers
Building a regexp
Using regular expressions in Perl
Part 2: Power tools
More on characters, strings, and character classes
Compiling and saving regular expressions
Composing regular expressions at runtime
Embedding comments and modifiers in a regular expression
Looking ahead and looking behind
Using independent subexpressions to prevent backtracking
Conditional expressions
Defining named patterns
Recursive patterns
A bit of magic: executing Perl code in a regular expression
Backtracking control verbs
Pragmas and debugging
BUGS
SEE ALSO
AUTHOR AND COPYRIGHT
Acknowledgments

perlboot - Beginner's Object-Oriented Tutorial

DESCRIPTION
If we could talk to the animals...
Introducing the method invocation arrow
Invoking a barnyard
The extra parameter of method invocation
Calling a second method to simplify things
Inheriting the windpipes
A few notes about @ISA
Overriding the methods
Starting the search from a different place
The SUPER way of doing things
Let's review...
A horse is a horse, of course of course -- or is it?
Invoking an instance method
Accessing the instance data
How to build a horse
Inheriting the constructor
Making a method work with either classes or instances
Adding parameters to a method
More interesting instances
A horse of a different color
Summary
SEE ALSO
COPYRIGHT

perltoot - Tom's object-oriented tutorial for perl

DESCRIPTION
Creating a Class
Object Representation
Class Interface
Constructors and Instance Methods
Planning for the Future: Better Constructors
Destructors
Other Object Methods
Class Data
Accessing Class Data
Debugging Methods
Class Destructors
Documenting the Interface
Aggregation
Inheritance
Overridden Methods
Multiple Inheritance
UNIVERSAL: The Root of All Objects
Deeper UNIVERSAL details
Alternate Object Representations
Arrays as Objects
Closures as Objects
AUTOLOAD: Proxy Methods
Autoloaded Data Methods
Inherited Autoloaded Data Methods
Metaclassical Tools
Class::Struct
Data Members as Variables
NOTES
Object Terminology
SEE ALSO
AUTHOR AND COPYRIGHT
COPYRIGHT
Acknowledgments

perltooc - Tom's OO Tutorial for Class Data in Perl

DESCRIPTION
Class Data in a Can
Class Data as Package Variables
Putting All Your Eggs in One Basket
Inheritance Concerns
The Eponymous Meta-Object
Indirect References to Class Data
Monadic Classes
Translucent Attributes
Class Data as Lexical Variables
Privacy and Responsibility
File-Scoped Lexicals
More Inheritance Concerns
Locking the Door and Throwing Away the Key
Translucency Revisited
NOTES
SEE ALSO
AUTHOR AND COPYRIGHT
ACKNOWLEDGEMENTS
HISTORY

perlbot - Bag'o Object Tricks (the BOT)

DESCRIPTION
OO SCALING TIPS
INSTANCE VARIABLES
SCALAR INSTANCE VARIABLES
INSTANCE VARIABLE INHERITANCE
OBJECT RELATIONSHIPS
OVERRIDING SUPERCLASS METHODS
USING RELATIONSHIP WITH SDBM
THINKING OF CODE REUSE
CLASS CONTEXT AND THE OBJECT
INHERITING A CONSTRUCTOR
DELEGATION
SEE ALSO

perlperf - Perl Performance and Optimization Techniques

DESCRIPTION
OVERVIEW
ONE STEP SIDEWAYS
ONE STEP FORWARD
ANOTHER STEP SIDEWAYS
GENERAL GUIDELINES
BENCHMARKS
Assigning and Dereferencing Variables.
Search and replace or tr
PROFILING TOOLS
Devel::DProf
Devel::Profiler
Devel::SmallProf
Devel::FastProf
Devel::NYTProf
SORTING

Elapsed Real Time, User CPU Time, System CPU Time

LOGGING
Logging if DEBUG (constant)
POSTSCRIPT
SEE ALSO
PERLDOCS
MAN PAGES
MODULES
URLS
AUTHOR

perlstyle - Perl style guide

DESCRIPTION

perlcheat - Perl 5 Cheat Sheet

DESCRIPTION
The sheet
ACKNOWLEDGEMENTS
AUTHOR
SEE ALSO

perltrap - Perl traps for the unwary

DESCRIPTION
Awk Traps
C/C++ Traps
Sed Traps
Shell Traps
Perl Traps
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

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 splice() are now in scalar context, Can't do goto into a block that is optimized away, Can't use whitespace as variable name or quote delimiter, while/if BLOCK BLOCK gone, ** binds tighter than unary minus, foreach changed when iterating over a list, split with no args behavior changed, -e behavior fixed, push returns number of elements in resulting list, Some error messages differ, split() honors subroutine args, Bugs removed

Parsing Traps

Space between . and = triggers syntax error, Better parsing in perl 5, Function parsing, String interpolation of $#array differs, Perl guesses on map, grep followed by { if it starts BLOCK or hash ref

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

General data type traps

Negative array subscripts now count from the end of array, Setting $#array lower now discards array elements, Hashes get defined before use, Glob assignment from localized variable to variable, Assigning undef to glob, Changes in unary negation (of strings), Modifying of constants prohibited, defined $var behavior changed, Variable Suicide

Context Traps - scalar, list contexts

Elements of argument lists for formats evaluated in list context, caller() returns false value in scalar context if no caller present, Comma operator in scalar context gives scalar context to args, sprintf() prototyped as ($;@)

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, open requires parentheses around filehandle, $: precedence over $:: gone, Precedence of file test operators documented, keys, each, values are regular named unary operators

General Regular Expression Traps using s///, etc.

s'$lhs'$rhs' interpolates on either side, m//g attaches its state to the searched string, m//o used within an anonymous sub, $+ isn't set to whole match, Substitution now returns null string if it fails, s`lhs`rhs` is now a normal substitution, Stricter parsing of variables in regular expressions, m?x? matches only once, Failed matches don't reset the match variables

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, warn() won't let you specify a filehandle

OS Traps

SysV resets signal handler correctly, SysV seek() appends correctly

Interpolation Traps

@ 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, $$x now tries to dereference $x, Creation of hashes on the fly with eval "EXPR" requires protection, Bugs in earlier perl versions, Array and hash brackets during interpolation, Interpolation of \$$foo{bar}, qq() string passed to eval will not find string terminator

DBM Traps

Perl5 must have been linked with same dbm/ndbm as the default for dbmopen(), DBM exceeding limit on the key/value size will cause perl5 to exit immediately

Unclassified Traps

require/do trap using returned value, split on empty string with LIMIT specified

perldebtut - Perl debugging tutorial

DESCRIPTION
use strict
Looking at data and -w and v
help
Stepping through code
Placeholder for a, w, t, T
REGULAR EXPRESSIONS
OUTPUT TIPS
CGI
GUIs
SUMMARY
SEE ALSO
AUTHOR
CONTRIBUTORS

perlfaq - frequently asked questions about Perl

DESCRIPTION
Where to get the perlfaq
How to contribute to the perlfaq
What will happen if you mail your Perl programming problems to the authors?
CREDITS
AUTHOR AND COPYRIGHT
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

The Questions
the perlfaq1 manpage: General Questions About Perl
the perlfaq2 manpage: Obtaining and Learning about Perl
the perlfaq3 manpage: Programming Tools
the perlfaq4 manpage: Data Manipulation
the perlfaq5 manpage: Files and Formats
the perlfaq6 manpage: Regular Expressions
the perlfaq7 manpage: General Perl Language Issues
the perlfaq8 manpage: System Interaction
the perlfaq9 manpage: Networking

perlfaq1 - General Questions About Perl

DESCRIPTION
What is Perl?
Who supports Perl? Who develops it? Why is it free?
Which version of Perl should I use?
What are Perl 4, Perl 5, or Perl 6?
What was Ponie?
What is Perl 6?
How stable is Perl?
Is Perl difficult to learn?
How does Perl compare with other languages like Java, Python, REXX, Scheme, or Tcl?
Can I do [task] in Perl?
When shouldn't I program in Perl?
What's the difference between "perl" and "Perl"?
Is it a Perl program or a Perl script?
What is a JAPH?
Where can I get a list of Larry Wall witticisms?
How can I convince others to use Perl?

http://perltraining.com.au/whyperl.html, http://www.perl.org/advocacy/whyperl.html

REVISION
AUTHOR AND COPYRIGHT

perlfaq2 - Obtaining and Learning about Perl

DESCRIPTION
What machines support perl? Where do I get it?
How can I get a binary version of perl?
I don't have a C compiler. How can I build my own Perl interpreter?
I copied the perl binary from one machine to another, but scripts don't work.
I grabbed the sources and tried to compile but gdbm/dynamic loading/malloc/linking/... failed. How do I make it work?
What modules and extensions are available for Perl? What is CPAN? What does CPAN/src/... mean?
Is there an ISO or ANSI certified version of Perl?
Where can I get information on Perl?
What are the Perl newsgroups on Usenet? Where do I post questions?
Where should I post source code?
Perl Books

References, Tutorials, Task-Oriented, Special Topics

Which magazines have Perl content?
What mailing lists are there for Perl?
Where are the archives for comp.lang.perl.misc?
Where can I buy a commercial version of perl?
Where do I send bug reports?
What is perl.com? Perl Mongers? pm.org? perl.org? cpan.org?
REVISION
AUTHOR AND COPYRIGHT

perlfaq3 - Programming Tools

DESCRIPTION
How do I do (anything)?
How can I use Perl interactively?
Is there a Perl shell?
How do I find which modules are installed on my system?
How do I debug my Perl programs?
How do I profile my Perl programs?
How do I cross-reference my Perl programs?
Is there a pretty-printer (formatter) for Perl?
Is there a ctags for Perl?
Is there an IDE or Windows Perl Editor?

Eclipse, Enginsite, Komodo, 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

Where can I get Perl macros for vi?
Where can I get perl-mode for emacs?
How can I use curses with Perl?
How can I write a GUI (X, Tk, Gtk, etc.) in Perl?

Tk, Wx, Gtk and Gtk2, Win32::GUI, CamelBones, Qt, Athena

How can I make my Perl program run faster?
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

Is it safe to return a reference to local or lexical data?
How can I free an array or hash so my program shrinks?
How can I make my CGI script more efficient?
How can I hide the source for my Perl program?
How can I compile my Perl program into byte code or C?
How can I get #!perl to work on [MS-DOS,NT,...]?
Can I write useful Perl programs on the command line?
Why don't Perl one-liners work on my DOS/Mac/VMS system?
Where can I learn about CGI or Web programming in Perl?
Where can I learn about object-oriented Perl programming?
Where can I learn about linking C with Perl?
I've read perlembed, perlguts, etc., but I can't embed perl in my C program; what am I doing wrong?
When I tried to run my script, I got this message. What does it mean?
What's MakeMaker?
REVISION
AUTHOR AND COPYRIGHT

perlfaq4 - Data Manipulation

DESCRIPTION
Data: Numbers
Why am I getting long decimals (eg, 19.9499999999999) instead of the numbers I should be getting (eg, 19.95)?
Why is int() broken?
Why isn't my octal data interpreted correctly?
Does Perl have a round() function? What about ceil() and floor()? Trig functions?
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

Why doesn't & work the way I want it to?
How do I multiply matrices?
How do I perform an operation on a series of integers?
How can I output Roman numerals?
Why aren't my random numbers random?
How do I get a random number between X and Y?
Data: Dates
How do I find the day or week of the year?
How do I find the current century or millennium?
How can I compare two dates and find the difference?
How can I take a string and turn it into epoch seconds?
How can I find the Julian Day?
How do I find yesterday's date?
Does Perl have a Year 2000 problem? Is Perl Y2K compliant?
Data: Strings
How do I validate input?
How do I unescape a string?
How do I remove consecutive pairs of characters?
How do I expand function calls in a string?
How do I find matching/nesting anything?
How do I reverse a string?
How do I expand tabs in a string?
How do I reformat a paragraph?
How can I access or change N characters of a string?
How do I change the Nth occurrence of something?
How can I count the number of occurrences of a substring within a string?
Does Perl have a Year 2038 problem?
How do I capitalize all the words on one line?
How can I split a [character] delimited string except when inside [character]?
How do I strip blank space from the beginning/end of a string?
How do I pad a string with blanks or pad a number with zeroes?
How do I extract selected columns from a string?
How do I find the soundex value of a string?
How can I expand variables in text strings?
What's wrong with always quoting "$vars"?
Why don't my <<HERE documents work?

There must be no space after the << part, There (probably) should be a semicolon at the end, You can't (easily) have any space in front of the tag

Data: Arrays
What is the difference between a list and an array?
What is the difference between $array[1] and @array[1]?
How can I remove duplicate elements from a list or array?
How can I tell whether a certain element is contained in a list or array?
How do I compute the difference of two arrays? How do I compute the intersection of two arrays?
How do I test whether two arrays or hashes are equal?
How do I find the first array element for which a condition is true?
How do I handle linked lists?
How do I handle circular lists?
How do I shuffle an array randomly?
How do I process/modify each element of an array?
How do I select a random element from an array?
How do I permute N elements of a list?
How do I sort an array by (anything)?
How do I manipulate arrays of bits?
Why does defined() return true on empty arrays and hashes?
Data: Hashes (Associative Arrays)
How do I process an entire hash?
How do I merge two hashes?
What happens if I add or remove keys from a hash while iterating over it?
How do I look up a hash element by value?
How can I know how many entries are in a hash?
How do I sort a hash (optionally by value instead of key)?
How can I always keep my hash sorted?
What's the difference between "delete" and "undef" with hashes?
Why don't my tied hashes make the defined/exists distinction?
How do I reset an each() operation part-way through?
How can I get the unique keys from two hashes?
How can I store a multidimensional array in a DBM file?
How can I make my hash remember the order I put elements into it?
Why does passing a subroutine an undefined element in a hash create it?
How can I make the Perl equivalent of a C structure/C++ class/hash or array of hashes or arrays?
How can I use a reference as a hash key?
Data: Misc
How do I handle binary data correctly?
How do I determine whether a scalar is a number/whole/integer/float?
How do I keep persistent data across program calls?
How do I print out or copy a recursive data structure?
How do I define methods for every class/object?
How do I verify a credit card checksum?
How do I pack arrays of doubles or floats for XS code?
REVISION
AUTHOR AND COPYRIGHT

perlfaq5 - Files and Formats

DESCRIPTION
How do I flush/unbuffer an output filehandle? Why must I do this?
How do I change, delete, or insert a line in a file, or append to the beginning of a file?
How do I count the number of lines in a file?
How can I use Perl's -i option from within a program?
How can I copy a file?
How do I make a temporary file name?
How can I manipulate fixed-record-length files?
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?
How can I use a filehandle indirectly?
How can I set up a footer format to be used with write()?
How can I write() into a string?
How can I open a filehandle to a string?
How can I output my numbers with commas added?
How can I translate tildes (~) in a filename?
How come when I open a file read-write it wipes it out?
Why do I sometimes get an "Argument list too long" when I use <*>?
Is there a leak/bug in glob()?
How can I open a file with a leading ">" or trailing blanks?
How can I reliably rename a file?
How can I lock a file?
Why can't I just open(FH, ">file.lock")?
I still don't get locking. I just want to increment the number in the file. How can I do this?
All I want to do is append a small amount of text to the end of a file. Do I still have to use locking?
How do I randomly update a binary file?
How do I get a file's timestamp in perl?
How do I set a file's timestamp in perl?
How do I print to more than one file at once?
How can I read in an entire file all at once?
How can I read in a file by paragraphs?
How can I read a single character from a file? From the keyboard?
How can I tell whether there's a character waiting on a filehandle?
How do I do a tail -f in perl?
How do I dup() a filehandle in Perl?
How do I close a file descriptor by number?
Why can't I use "C:\temp\foo" in DOS paths? Why doesn't `C:\temp\foo.exe` work?
Why doesn't glob("*.*") get all the files?
Why does Perl let me delete read-only files? Why does -i clobber protected files? Isn't this a bug in Perl?
How do I select a random line from a file?
Why do I get weird spaces when I print an array of lines?
How do I traverse a directory tree?
How do I delete a directory tree?
How do I copy an entire directory?
AUTHOR AND COPYRIGHT

perlfaq6 - Regular Expressions

DESCRIPTION
How can I hope to use regular expressions without creating illegible and unmaintainable code?

Comments Outside the Regex, Comments Inside the Regex, Different Delimiters

I'm having trouble matching over more than one line. What's wrong?
How can I pull out lines between two patterns that are themselves on different lines?
How do I match XML, HTML, or other nasty, ugly things with a regex?

Solve the balanced text problem from another question in the perlfaq6 manpage, Try the recursive regex features in Perl 5.10 and later. See the perlre manpage, Try defining a grammar using Perl 5.10's (?DEFINE) feature, Break the problem down into sub-problems instead of trying to use a single regex, Convince everyone not to use XML or HTML in the first place

I put a regular expression into $/ but it didn't work. What's wrong?
How do I substitute case insensitively on the LHS while preserving case on the RHS?
How can I make \w match national character sets?
How can I match a locale-smart version of /[a-zA-Z]/?
How can I quote a variable to use in a regex?
What is /o really for?
How do I use a regular expression to strip C style comments from a file?
Can I use Perl regular expressions to match balanced text?
What does it mean that regexes are greedy? How can I get around it?
How do I process each word on each line?
How can I print out a word-frequency or line-frequency summary?
How can I do approximate matching?
How do I efficiently match many regular expressions at once?
Why don't word-boundary searches with \b work for me?
Why does using $&, $`, or $' slow my program down?
What good is \G in a regular expression?
Are Perl regexes DFAs or NFAs? Are they POSIX compliant?
What's wrong with using grep in a void context?
How can I match strings with multibyte characters?
How do I match a regular expression that's in a variable? ,
REVISION
AUTHOR AND COPYRIGHT

perlfaq7 - General Perl Language Issues

DESCRIPTION
Can I get a BNF/yacc/RE for the Perl language?
What are all these $@%&* punctuation signs, and how do I know when to use them?
Do I always/never have to quote my strings or use semicolons and commas?
How do I skip some return values?
How do I temporarily block warnings?
What's an extension?
Why do Perl operators have different precedence than C operators?
How do I declare/create a structure?
How do I create a module?
How do I adopt or take over a module already on CPAN?
How do I create a class?
How can I tell if a variable is tainted?
What's a closure?
What is variable suicide and how can I prevent it?
How can I pass/return a {Function, FileHandle, Array, Hash, Method, Regex}?

Passing Variables and Functions, Passing Filehandles, Passing Regexes, Passing Methods

How do I create a static variable?
What's the difference between dynamic and lexical (static) scoping? Between local() and my()?
How can I access a dynamic variable while a similarly named lexical is in scope?
What's the difference between deep and shallow binding?
Why doesn't "my($foo) = <FILE>;" work right?
How do I redefine a builtin function, operator, or method?
What's the difference between calling a function as &foo and foo()?
How do I create a switch or case statement?
How can I catch accesses to undefined variables, functions, or methods?
Why can't a method included in this same file be found?
How can I find out my current or calling package?
How can I comment out a large block of Perl code?
How do I clear a package?
How can I use a variable as a variable name?
What does "bad interpreter" mean?
REVISION
AUTHOR AND COPYRIGHT

perlfaq8 - System Interaction

DESCRIPTION
How do I find out which operating system I'm running under?
How come exec() doesn't return?
How do I do fancy stuff with the keyboard/screen/mouse?

Keyboard, Screen, Mouse

How do I print something out in color?
How do I read just one key without waiting for a return key?
How do I check whether input is ready on the keyboard?
How do I clear the screen?
How do I get the screen size?
How do I ask the user for a password?
How do I read and write the serial port?

lockfiles, open mode, end of line, flushing output, non-blocking input

How do I decode encrypted password files?
How do I start a process in the background?

STDIN, STDOUT, and STDERR are shared, Signals, Zombies

How do I trap control characters/signals?
How do I modify the shadow password file on a Unix system?
How do I set the time and date?
How can I sleep() or alarm() for under a second?
How can I measure time under a second?
How can I do an atexit() or setjmp()/longjmp()? (Exception handling)
Why doesn't my sockets program work under System V (Solaris)? What does the error message "Protocol not supported" mean?
How can I call my system's unique C functions from Perl?
Where do I get the include files to do ioctl() or syscall()?
Why do setuid perl scripts complain about kernel problems?
How can I open a pipe both to and from a command?
Why can't I get the output of a command with system()?
How can I capture STDERR from an external command?
Why doesn't open() return an error when a pipe open fails?
What's wrong with using backticks in a void context?
How can I call backticks without shell processing?
Why can't my script read from STDIN after I gave it EOF (^D on Unix, ^Z on MS-DOS)?
How can I convert my shell script to perl?
Can I use perl to run a telnet or ftp session?
How can I write expect in Perl?
Is there a way to hide perl's command line from programs such as "ps"?
I {changed directory, modified my environment} in a perl script. How come the change disappeared when I exited the script? How do I get my changes to be visible?

Unix

How do I close a process's filehandle without waiting for it to complete?
How do I fork a daemon process?
How do I find out if I'm running interactively or not?
How do I timeout a slow event?
How do I set CPU limits?
How do I avoid zombies on a Unix system?
How do I use an SQL database?
How do I make a system() exit on control-C?
How do I open a file without blocking?
How do I tell the difference between errors from the shell and perl?
How do I install a module from CPAN?
What's the difference between require and use?
How do I keep my own module/library directory?
How do I add the directory my program lives in to the module/library search path?
How do I add a directory to my include path (@INC) at runtime?

the PERLLIB environment variable, the PERL5LIB environment variable, the perl -Idir command line flag, the use lib pragma:

What is socket.ph and where do I get it?
REVISION
AUTHOR AND COPYRIGHT

perlfaq9 - Networking

DESCRIPTION
What is the correct form of response from a CGI script?
My CGI script runs from the command line but not the browser. (500 Server Error)
How can I get better error messages from a CGI program?
How do I remove HTML from a string?
How do I extract URLs?
How do I download a file from the user's machine? How do I open a file on another machine?
How do I make an HTML pop-up menu with Perl?
How do I fetch an HTML file?
How do I automate an HTML form submission?
How do I decode or create those %-encodings on the web?
How do I redirect to another page?
How do I put a password on my web pages?
How do I edit my .htpasswd and .htgroup files with Perl?
How do I make sure users can't enter values into a form that cause my CGI script to do bad things?
How do I parse a mail header?
How do I decode a CGI form?
How do I check a valid mail address?
How do I decode a MIME/BASE64 string?
How do I return the user's mail address?
How do I send mail?
How do I use MIME to make an attachment to a mail message?
How do I read mail?
How do I find out my hostname, domainname, or IP address?
How do I fetch a news article or the active newsgroups?
How do I fetch/put an FTP file?
How can I do RPC in Perl?
REVISION
AUTHOR AND COPYRIGHT

perlsyn - Perl syntax

DESCRIPTION
Declarations
Comments
Simple Statements
Truth and Falsehood
Statement Modifiers
Compound Statements
Loop Control
For Loops
Foreach Loops
Basic BLOCKs
Switch statements
Goto
PODs: Embedded Documentation
Plain Old Comments (Not!)

perldata - Perl data types

DESCRIPTION
Variable names
Context
Scalar values
Scalar value constructors
List value constructors
Subscripts
Slices
Typeglobs and Filehandles
SEE ALSO

perlop - Perl operators and precedence

DESCRIPTION
Operator Precedence and Associativity
Terms and List Operators (Leftward)
The Arrow Operator >>
Auto-increment and Auto-decrement
Exponentiation
Symbolic Unary Operators
Binding Operators
Multiplicative Operators
Additive Operators
Shift Operators >> > >>>
Named Unary Operators
Relational Operators
Equality Operators
Bitwise And
Bitwise Or and Exclusive Or
C-style Logical And
C-style Logical Or
C-style Logical Defined-Or
Range Operators
Conditional Operator
Assignment Operators >> >= >>>
Comma Operator
List Operators (Rightward)
Logical Not
Logical And
Logical or, Defined or, and Exclusive Or
C Operators Missing From Perl

unary &, unary *, (TYPE)

Quote and Quote-like Operators >>
Regexp Quote-Like Operators

qr/STRING/msixpo , m/PATTERN/msixpogc , /PATTERN/msixpogc, The empty pattern //, Matching in list context, \G assertion, ?PATTERN? , s/PATTERN/REPLACEMENT/msixpogce

Quote-Like Operators

q/STRING/ , 'STRING', qq/STRING/ , "STRING", qx/STRING/ , `STRING`, qw/STRING/ , tr/SEARCHLIST/REPLACEMENTLIST/cds , y/SEARCHLIST/REPLACEMENTLIST/cds, <<EOF >>, Double Quotes, Single Quotes, Backticks

Gory details of parsing quoted constructs

Finding the end, Interpolation , <<'EOF', m'', the pattern of s''', '', q//, tr''', y''', the replacement of s''', tr///, y///, "", ``, qq//, qx//, <file*glob>, <<"EOF", the replacement of s///, RE in ?RE?, /RE/, m/RE/, s/RE/foo/,, parsing regular expressions , Optimization of regular expressions

I/O Operators >>
Constant Folding
No-ops
Bitwise String Operators
Integer Arithmetic
Floating-point Arithmetic
Bigger Numbers

perlsub - Perl subroutines

SYNOPSIS
DESCRIPTION
Private Variables via my()
Persistent Private Variables
Temporary Values via local()
Lvalue subroutines

Lvalue subroutines are EXPERIMENTAL

Passing Symbol Table Entries (typeglobs)
When to Still Use local()
Pass by Reference
Prototypes
Constant Functions
Overriding Built-in Functions
Autoloading
Subroutine Attributes
SEE ALSO

perlfunc - Perl builtin functions

DESCRIPTION
Perl Functions by Category

Functions for SCALARs or strings , Regular expressions and pattern matching , Numeric functions , Functions for real @ARRAYs , Functions for list data , Functions for real %HASHes , Input and output functions , Functions for fixed length data or records, Functions for filehandles, files, or directories , Keywords related to the control flow of your Perl program , Keywords related to switch, Keywords related to scoping, Miscellaneous functions, Functions for processes and process groups , Keywords related to perl modules , Keywords related to classes and object-orientation , Low-level socket functions , System V interprocess communication functions , Fetching user and group info , Fetching network info , Time-related functions , Functions new in perl5 , Functions obsoleted in perl5

Portability
Alphabetical Listing of Perl Functions

-X FILEHANDLE , -X EXPR, -X DIRHANDLE, -X, abs VALUE , abs, accept NEWSOCKET,GENERICSOCKET , alarm SECONDS , alarm, atan2 Y,X , bind SOCKET,NAME , binmode FILEHANDLE, LAYER , binmode FILEHANDLE, bless REF,CLASSNAME , bless REF, break, caller EXPR , caller, chdir EXPR , chdir FILEHANDLE, chdir DIRHANDLE, chdir, chmod LIST , chomp VARIABLE , chomp( LIST ), chomp, chop VARIABLE , chop( LIST ), chop, chown LIST , chr NUMBER , chr, chroot FILENAME , chroot, close FILEHANDLE , close, closedir DIRHANDLE , connect SOCKET,NAME , continue BLOCK , continue, cos EXPR , cos, crypt PLAINTEXT,SALT , dbmclose HASH , dbmopen HASH,DBNAME,MASK , defined EXPR , defined, delete EXPR , die LIST , do BLOCK , do SUBROUTINE(LIST) , do EXPR , dump LABEL , dump, each HASH , eof FILEHANDLE , eof (), eof, eval EXPR , eval BLOCK, eval, exec LIST , exec PROGRAM LIST, exists EXPR , exit EXPR , exit, exp EXPR , exp, fcntl FILEHANDLE,FUNCTION,SCALAR , fileno FILEHANDLE , flock FILEHANDLE,OPERATION , fork , format , formline PICTURE,LIST , getc FILEHANDLE , getc, getlogin , getpeername SOCKET , getpgrp PID , getppid , getpriority WHICH,WHO , getpwnam NAME , getgrnam NAME, gethostbyname NAME, getnetbyname NAME, getprotobyname NAME, getpwuid UID, getgrgid GID, getservbyname NAME,PROTO, gethostbyaddr ADDR,ADDRTYPE, getnetbyaddr ADDR,ADDRTYPE, getprotobynumber NUMBER, getservbyport PORT,PROTO, getpwent, getgrent, gethostent, getnetent, getprotoent, getservent, setpwent, setgrent, sethostent STAYOPEN, setnetent STAYOPEN, setprotoent STAYOPEN, setservent STAYOPEN, endpwent, endgrent, endhostent, endnetent, endprotoent, endservent, getsockname SOCKET , getsockopt SOCKET,LEVEL,OPTNAME , glob EXPR , glob, gmtime EXPR , gmtime, goto LABEL , goto EXPR, goto &NAME, grep BLOCK LIST , grep EXPR,LIST, hex EXPR , hex, import LIST , index STR,SUBSTR,POSITION , index STR,SUBSTR, int EXPR , int, ioctl FILEHANDLE,FUNCTION,SCALAR , join EXPR,LIST , keys HASH , kill SIGNAL, LIST , last LABEL , last, lc EXPR , lc, lcfirst EXPR , lcfirst, length EXPR , length, link OLDFILE,NEWFILE , listen SOCKET,QUEUESIZE , local EXPR , localtime EXPR , localtime, lock THING , log EXPR , log, lstat EXPR , lstat, m//, map BLOCK LIST , map EXPR,LIST, mkdir FILENAME,MASK , mkdir FILENAME, mkdir, msgctl ID,CMD,ARG , msgget KEY,FLAGS , msgrcv ID,VAR,SIZE,TYPE,FLAGS , msgsnd ID,MSG,FLAGS , my EXPR , my TYPE EXPR, my EXPR : ATTRS, my TYPE EXPR : ATTRS, next LABEL , next, no Module VERSION LIST , no Module VERSION, no Module LIST, no Module, no VERSION, oct EXPR , oct, open FILEHANDLE,EXPR , open FILEHANDLE,MODE,EXPR, open FILEHANDLE,MODE,EXPR,LIST, open FILEHANDLE,MODE,REFERENCE, open FILEHANDLE, opendir DIRHANDLE,EXPR , ord EXPR , ord, our EXPR , our TYPE EXPR, our EXPR : ATTRS, our TYPE EXPR : ATTRS, pack TEMPLATE,LIST , package NAMESPACE , package, pipe READHANDLE,WRITEHANDLE , pop ARRAY , pop, pos SCALAR , pos, print FILEHANDLE LIST , print LIST, print, printf FILEHANDLE FORMAT, LIST , printf FORMAT, LIST, prototype FUNCTION , push ARRAY,LIST , q/STRING/, qq/STRING/, qx/STRING/, qw/STRING/, qr/STRING/, quotemeta EXPR , quotemeta, rand EXPR , rand, read FILEHANDLE,SCALAR,LENGTH,OFFSET , read FILEHANDLE,SCALAR,LENGTH, readdir DIRHANDLE , readline EXPR, readline , readlink EXPR , readlink, readpipe EXPR, readpipe , recv SOCKET,SCALAR,LENGTH,FLAGS , redo LABEL , redo, ref EXPR , ref, rename OLDNAME,NEWNAME , require VERSION , require EXPR, require, reset EXPR , reset, return EXPR , return, reverse LIST , rewinddir DIRHANDLE , rindex STR,SUBSTR,POSITION , rindex STR,SUBSTR, rmdir FILENAME , rmdir, s///, say FILEHANDLE LIST , say LIST, say, scalar EXPR , seek FILEHANDLE,POSITION,WHENCE , seekdir DIRHANDLE,POS , select FILEHANDLE , select, select RBITS,WBITS,EBITS,TIMEOUT , semctl ID,SEMNUM,CMD,ARG , semget KEY,NSEMS,FLAGS , semop KEY,OPSTRING , send SOCKET,MSG,FLAGS,TO , send SOCKET,MSG,FLAGS, setpgrp PID,PGRP , setpriority WHICH,WHO,PRIORITY , setsockopt SOCKET,LEVEL,OPTNAME,OPTVAL , shift ARRAY , shift, shmctl ID,CMD,ARG , shmget KEY,SIZE,FLAGS , shmread ID,VAR,POS,SIZE , shmwrite ID,STRING,POS,SIZE, shutdown SOCKET,HOW , sin EXPR , sin, sleep EXPR , sleep, socket SOCKET,DOMAIN,TYPE,PROTOCOL , socketpair SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL , sort SUBNAME LIST , sort BLOCK LIST, sort LIST, splice ARRAY,OFFSET,LENGTH,LIST , splice ARRAY,OFFSET,LENGTH, splice ARRAY,OFFSET, splice ARRAY, split /PATTERN/,EXPR,LIMIT , split /PATTERN/,EXPR, split /PATTERN/, split, sprintf FORMAT, LIST , format parameter index, flags, vector flag, (minimum) width, precision, or maximum width , size, order of arguments, sqrt EXPR , sqrt, srand EXPR , srand, stat FILEHANDLE , stat EXPR, stat DIRHANDLE, stat, state EXPR , state TYPE EXPR, state EXPR : ATTRS, state TYPE EXPR : ATTRS, study SCALAR , study, sub NAME BLOCK , sub NAME (PROTO) BLOCK, sub NAME : ATTRS BLOCK, sub NAME (PROTO) : ATTRS BLOCK, substr EXPR,OFFSET,LENGTH,REPLACEMENT , substr EXPR,OFFSET,LENGTH, substr EXPR,OFFSET, symlink OLDFILE,NEWFILE , syscall NUMBER, LIST , sysopen FILEHANDLE,FILENAME,MODE , sysopen FILEHANDLE,FILENAME,MODE,PERMS, sysread FILEHANDLE,SCALAR,LENGTH,OFFSET , sysread FILEHANDLE,SCALAR,LENGTH, sysseek FILEHANDLE,POSITION,WHENCE , system LIST , system PROGRAM LIST, syswrite FILEHANDLE,SCALAR,LENGTH,OFFSET , syswrite FILEHANDLE,SCALAR,LENGTH, syswrite FILEHANDLE,SCALAR, tell FILEHANDLE , tell, telldir DIRHANDLE , tie VARIABLE,CLASSNAME,LIST , tied VARIABLE , time , times , tr///, truncate FILEHANDLE,LENGTH , truncate EXPR,LENGTH, uc EXPR , uc, ucfirst EXPR , ucfirst, umask EXPR , umask, undef EXPR , undef, unlink LIST , unlink, unpack TEMPLATE,EXPR , unpack TEMPLATE, untie VARIABLE , unshift ARRAY,LIST , use Module VERSION LIST , use Module VERSION, use Module LIST, use Module, use VERSION, utime LIST , values HASH , vec EXPR,OFFSET,BITS , wait , waitpid PID,FLAGS , wantarray , warn LIST , write FILEHANDLE , write EXPR, write, y///

perlopentut - tutorial on opening things in Perl

DESCRIPTION
Open à la shell
Simple Opens
Indirect Filehandles
Pipe Opens
The Minus File
Mixing Reads and Writes
Filters
Open à la C
Permissions à la mode
Obscure Open Tricks
Re-Opening Files (dups)
Dispelling the Dweomer
Paths as Opens
Single Argument Open
Playing with STDIN and STDOUT
Other I/O Issues
Opening Non-File Files
Opening Named Pipes
Opening Sockets
Binary Files
File Locking
IO Layers
SEE ALSO
AUTHOR and COPYRIGHT
HISTORY

perlpacktut - tutorial on pack and unpack

DESCRIPTION
The Basic Principle
Packing Text
Packing Numbers
Integers
Unpacking a Stack Frame
How to Eat an Egg on a Net
Byte-order modifiers
Floating point Numbers
Exotic Templates
Bit Strings
Uuencoding
Doing Sums
Unicode
Another Portable Binary Encoding
Template Grouping
Lengths and Widths
String Lengths
Dynamic Templates
Counting Repetitions
Intel HEX
Packing and Unpacking C Structures
The Alignment Pit
Dealing with Endian-ness
Alignment, Take 2
Alignment, Take 3
Pointers for How to Use Them
Pack Recipes
Funnies Section
Authors

perlpod - the Plain Old Documentation format

DESCRIPTION
Ordinary Paragraph
Verbatim Paragraph
Command Paragraph

=head1 Heading Text , =head2 Heading Text, =head3 Heading Text, =head4 Heading Text, =over indentlevel , =item stuff..., =back, =cut , =pod , =begin formatname , =end formatname, =for formatname text..., =encoding encodingname

Formatting Codes

I<text> -- italic text <> >> , B<text> -- bold text <> >> , C<code> -- code text <> >> , L<name> -- a hyperlink <> >> , E<escape> -- a character escape <> >> , F<filename> -- used for filenames <> >> , S<text> -- text contains non-breaking spaces <> >> , X<topic name> -- an index entry <> >> , Z<> -- a null (zero-effect) formatting code <> >>

The Intent
Embedding Pods in Perl Modules
Hints for Writing Pod

SEE ALSO
AUTHOR

perlpodspec - Plain Old Documentation: format specification and notes

DESCRIPTION
Pod Definitions
Pod Commands

"=head1", "=head2", "=head3", "=head4", "=pod", "=cut", "=over", "=item", "=back", "=begin formatname", "=end formatname", "=for formatname text...", "=encoding encodingname"

Pod Formatting Codes

I<text> -- italic text, B<text> -- bold text, C<code> -- code text, F<filename> -- style for filenames, X<topic name> -- an index entry, Z<> -- a null (zero-effect) formatting code, L<name> -- a hyperlink, E<escape> -- a character escape, S<text> -- text contains non-breaking spaces

Notes on Implementing Pod Processors
About L<...> Codes

First:, Second:, Third:, Fourth:, Fifth:, Sixth:

About =over...=back Regions
About Data Paragraphs and "=begin/=end" Regions
SEE ALSO
AUTHOR

perlrun - how to execute the Perl interpreter

SYNOPSIS
DESCRIPTION
#! and quoting on non-Unix systems

OS/2, MS-DOS, Win95/NT, Macintosh, VMS

Location of Perl
Command Switches

-0[octal/hexadecimal] , -a , -C [number/list] , -c , -d , -dt, -d:foo[=bar,baz] , -dt:foo[=bar,baz], -Dletters , -Dnumber, -e commandline , -E commandline , -f , -Fpattern , -h , -i[extension] , -Idirectory , -l[octnum] , -m[-]module , -M[-]module, -M[-]'module ...', -[mM][-]module=arg[,arg]..., -n , -p , -P , -s , -S , -t , -T , -u , -U , -v , -V , -V:configvar, -w , -W , -X , -x , -xdirectory

ENVIRONMENT

HOME , LOGDIR , PATH , PERL5LIB , PERL5OPT , PERLIO , :bytes , :crlf , :mmap , :perlio , :pop , :raw , :stdio , :unix , :utf8 , :win32 , PERLIO_DEBUG , PERLLIB , PERL5DB , PERL5DB_THREADED , PERL5SHELL (specific to the Win32 port) , PERL_ALLOW_NON_IFS_LSP (specific to the Win32 port) , PERL_DEBUG_MSTATS , PERL_DESTRUCT_LEVEL , PERL_DL_NONLAZY , PERL_ENCODING , PERL_HASH_SEED , PERL_HASH_SEED_DEBUG , PERL_ROOT (specific to the VMS port) , PERL_SIGNALS , PERL_UNICODE , SYS$LOGIN (specific to the VMS port)

perldiag - various Perl diagnostics

DESCRIPTION
SEE ALSO

perllexwarn - Perl Lexical Warnings

DESCRIPTION
Default Warnings and Optional Warnings
What's wrong with -w and $^W
Controlling Warnings from the Command Line

-w , -W , -X

Backward Compatibility
Category Hierarchy
Fatal Warnings
Reporting Warnings from a Module
SEE ALSO
AUTHOR

perldebug - Perl debugging

DESCRIPTION
The Perl Debugger
Calling the debugger

perl -d program_name, perl -d -e 0, perl -d:Ptkdb program_name, perl -dt threaded_program_name

Debugger Commands

h , h [command], h h, p expr , x [maxdepth] expr , V [pkg [vars]] , X [vars] , y [level [vars]] , T , s [expr] , n [expr] , r , <CR>, c [line|sub] , l , l min+incr, l min-max, l line, l subname, - , v [line] , . , f filename , /pattern/, ?pattern?, L [abw] , S [[!]regex] , t , t expr , b , b [line] [condition] , b subname [condition] , b postpone subname [condition] , b load filename , b compile subname , B line , B * , a [line] command , A line , A * , w expr , W expr , W * , o , o booloption ... , o anyoption? ... , o option=value ... , < ? >, < [ command ] >, < * >, << command >, > ? >>, > command >>, > * >>, >> command > >>>, { ? , { [ command ], { * , {{ command , ! number , ! -number , ! pattern , !! cmd , source file , H -number , q or ^D , R , |dbcmd , ||dbcmd , command, m expr , M , man [manpage]

Configurable Options

recallCommand, ShellBang , pager , tkRunning , signalLevel, warnLevel, dieLevel , AutoTrace , LineInfo , inhibit_exit , PrintRet , ornaments , frame , maxTraceLen , windowSize , arrayDepth, hashDepth , dumpDepth , compactDump, veryCompact , globPrint , DumpDBFiles , DumpPackages , DumpReused , quote, HighBit, undefPrint , UsageOnly , TTY , noTTY , ReadLine , NonStop

Debugger input/output

Prompt, Multiline commands, Stack backtrace , Line Listing Format, Frame listing

Debugging compile-time statements
Debugger Customization
Readline Support / History in the debugger
Editor Support for Debugging
The Perl Profiler
Debugging regular expressions
Debugging memory usage
SEE ALSO
BUGS

perlvar - Perl predefined variables

DESCRIPTION
Predefined Names

$ARG, $_ , $a, $b , $<digits> , $MATCH, $& , ${^MATCH} , $PREMATCH, $` , ${^PREMATCH} , $POSTMATCH, $' , ${^POSTMATCH} , $LAST_PAREN_MATCH, $+ , $LAST_SUBMATCH_RESULT, $^N , @LAST_MATCH_END, @+ , %LAST_PAREN_MATCH, %+ , HANDLE->input_line_number(EXPR), $INPUT_LINE_NUMBER, $NR, $. , IO::Handle->input_record_separator(EXPR), $INPUT_RECORD_SEPARATOR, $RS, $/ , HANDLE->autoflush(EXPR), $OUTPUT_AUTOFLUSH, $| , IO::Handle->output_field_separator EXPR, $OUTPUT_FIELD_SEPARATOR, $OFS, $, , IO::Handle->output_record_separator EXPR, $OUTPUT_RECORD_SEPARATOR, $ORS, $\ , $LIST_SEPARATOR, $" , $SUBSCRIPT_SEPARATOR, $SUBSEP, $; , HANDLE->format_page_number(EXPR), $FORMAT_PAGE_NUMBER, $% , HANDLE->format_lines_per_page(EXPR), $FORMAT_LINES_PER_PAGE, $= , HANDLE->format_lines_left(EXPR), $FORMAT_LINES_LEFT, $- , @LAST_MATCH_START, @- , $` is the same as substr($var, 0, $-[0]), $& is the same as substr($var, $-[0], $+[0] - $-[0]), $' is the same as substr($var, $+[0]), $1 is the same as substr($var, $-[1], $+[1] - $-[1]), $2 is the same as substr($var, $-[2], $+[2] - $-[2]), $3 is the same as substr($var, $-[3], $+[3] - $-[3]), %- , HANDLE->format_name(EXPR), $FORMAT_NAME, $~ , HANDLE->format_top_name(EXPR), $FORMAT_TOP_NAME, $^ , IO::Handle->format_line_break_characters EXPR, $FORMAT_LINE_BREAK_CHARACTERS, $: , IO::Handle->format_formfeed EXPR, $FORMAT_FORMFEED, $^L , $ACCUMULATOR, $^A , $CHILD_ERROR, $? , ${^CHILD_ERROR_NATIVE} , ${^ENCODING} , $OS_ERROR, $ERRNO, $! , %OS_ERROR, %ERRNO, %! , $EXTENDED_OS_ERROR, $^E , $EVAL_ERROR, $@ , $PROCESS_ID, $PID, $$ , $REAL_USER_ID, $UID, $< > , $EFFECTIVE_USER_ID, $EUID, $> >> , $REAL_GROUP_ID, $GID, $( , $EFFECTIVE_GROUP_ID, $EGID, $) , $PROGRAM_NAME, $0 , $[ , $] , $COMPILING, $^C , $DEBUGGING, $^D , ${^RE_DEBUG_FLAGS}, ${^RE_TRIE_MAXBUF}, $SYSTEM_FD_MAX, $^F , $^H, %^H, $INPLACE_EDIT, $^I , $^M , $OSNAME, $^O , ${^OPEN}, $PERLDB, $^P , 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x100, 0x200, 0x400, $LAST_REGEXP_CODE_RESULT, $^R , $EXCEPTIONS_BEING_CAUGHT, $^S , $BASETIME, $^T , ${^TAINT}, ${^UNICODE}, ${^UTF8CACHE}, ${^UTF8LOCALE}, $PERL_VERSION, $^V , $WARNING, $^W , ${^WARNING_BITS}, ${^WIN32_SLOPPY_STAT}, $EXECUTABLE_NAME, $^X , ARGV , $ARGV , @ARGV , ARGVOUT , @F , @INC , @ARG, @_ , %INC , %ENV, $ENV{expr} , %SIG, $SIG{expr}

Error Indicators
Technical Note on the Syntax of Variable Names
BUGS

perlre - Perl regular expressions

DESCRIPTION
Modifiers

m , s , i , x , p , g and c

Regular Expressions

[1], [2], [3], [1], [2], [3], $, + < = > | ~, ^ `, cntrl , graph , print , punct , xdigit

Extended Patterns

(?#text) , (?pimsx-imsx) , (?:pattern) , (?imsx-imsx:pattern), (?|pattern) , Look-Around Assertions , (?=pattern) , (?!pattern) , (?<=pattern) \K , (?<!pattern) , (?'NAME'pattern), (?<NAME>pattern) ) >> , \k<NAME>, \k'NAME', (?{ code }) , (??{ code }) , (?PARNO) (?-PARNO) (?+PARNO) (?R) (?0) , (?&NAME) , (?(condition)yes-pattern|no-pattern) , (?(condition)yes-pattern), (1) (2) .., (<NAME>) ('NAME'), (?{ CODE }), (R), (R1) (R2) .., (R&NAME), (DEFINE), (?>pattern)

Special Backtracking Control Verbs

Verbs that take an argument, (*PRUNE) (*PRUNE:NAME) , (*SKIP) (*SKIP:NAME) , (*MARK:NAME) (*:NAME) (*MARK:NAME) (*:NAME), (*THEN) (*THEN:NAME), (*COMMIT) , Verbs without an argument, (*FAIL) (*F) , (*ACCEPT)

Backtracking
Version 8 Regular Expressions
Warning on \1 Instead of $1
Repeated Patterns Matching a Zero-length Substring
Combining RE Pieces

ST, S|T, S{REPEAT_COUNT}, S{min,max}, S{min,max}?, S?, S*, S+, S??, S*?, S+?, (?>S), (?=S), (?<=S), (?!S), (?<!S), (??{ EXPR }), (?PARNO), (?(condition)yes-pattern|no-pattern)

Creating Custom RE Engines
PCRE/Python Support

(?P<NAME>pattern), (?P=NAME), (?P>NAME)

BUGS
SEE ALSO

perlrebackslash - Perl Regular Expression Backslash Sequences and Escapes

DESCRIPTION
The backslash

[1]

All the sequences and escapes
Character Escapes

[1], [2]

Modifiers
Character classes
Referencing
Assertions

\A, \z, \Z, \G, \b, \B

Misc

\C, \K, \R, \X

perlrecharclass - Perl Regular Expression Character Classes

DESCRIPTION
The dot
Backslashed sequences

[1]

Bracketed Character Classes

cntrl, graph, print, punct

Locale, Unicode and UTF-8

perlreref - Perl Regular Expressions Reference

DESCRIPTION
OPERATORS
SYNTAX
ESCAPE SEQUENCES
CHARACTER CLASSES
ANCHORS
QUANTIFIERS
EXTENDED CONSTRUCTS
VARIABLES
FUNCTIONS
TERMINOLOGY
AUTHOR
SEE ALSO
THANKS

perlref - Perl references and nested data structures

NOTE
DESCRIPTION
Making References

1. , 2. , 3. , 4. , 5. , 6. , 7.

Using References
Symbolic references
Not-so-symbolic references
Pseudo-hashes: Using an array as a hash
Function Templates
WARNING
SEE ALSO

perlform - Perl formats

DESCRIPTION
Text Fields
Numeric Fields
The Field @* for Variable Width Multi-Line Text
The Field ^* for Variable Width One-line-at-a-time Text
Specifying Values
Using Fill Mode
Suppressing Lines Where All Fields Are Void
Repeating Format Lines
Top of Form Processing
Format Variables
NOTES
Footers
Accessing Formatting Internals
WARNINGS

perlobj - Perl objects

DESCRIPTION
An Object is Simply a Reference
A Class is Simply a Package
A Method is Simply a Subroutine
Method Invocation >>
Indirect Object Syntax
Default UNIVERSAL methods

isa(CLASS) , DOES(ROLE) , can(METHOD) , VERSION( [NEED] )

Destructors
Summary
Two-Phased Garbage Collection
SEE ALSO

perltie - how to hide an object class in a simple variable

SYNOPSIS
DESCRIPTION
Tying Scalars

TIESCALAR classname, LIST , FETCH this , STORE this, value , UNTIE this , DESTROY this

Tying Arrays

TIEARRAY classname, LIST , FETCH this, index , STORE this, index, value , FETCHSIZE this , STORESIZE this, count , EXTEND this, count , EXISTS this, key , DELETE this, key , CLEAR this , PUSH this, LIST , POP this , SHIFT this , UNSHIFT this, LIST , SPLICE this, offset, length, LIST , UNTIE this , DESTROY this

Tying Hashes

USER, HOME, CLOBBER, LIST, TIEHASH classname, LIST , FETCH this, key , STORE this, key, value , DELETE this, key , CLEAR this , EXISTS this, key , FIRSTKEY this , NEXTKEY this, lastkey , SCALAR this , UNTIE this , DESTROY this

Tying FileHandles

TIEHANDLE classname, LIST , WRITE this, LIST , PRINT this, LIST , PRINTF this, LIST , READ this, LIST , READLINE this , GETC this , CLOSE this , UNTIE this , DESTROY this

UNTIE this
The untie Gotcha
SEE ALSO
BUGS
AUTHOR

perldbmfilter - Perl DBM Filters

SYNOPSIS
DESCRIPTION

filter_store_key, filter_store_value, filter_fetch_key, filter_fetch_value

The Filter
An Example -- the NULL termination problem.
Another Example -- Key is a C int.
SEE ALSO
AUTHOR

perlipc - Perl interprocess communication (signals, fifos, pipes, safe subprocesses, sockets, and semaphores)

DESCRIPTION
Signals
Handling the SIGHUP Signal in Daemons
Named Pipes
Deferred Signals (Safe Signals)

Long-running opcodes, Interrupting IO, Restartable system calls, Signals as "faults", Signals triggered by operating system state

Using open() for IPC
Filehandles
Background Processes
Complete Dissociation of Child from Parent
Safe Pipe Opens
Avoiding Pipe Deadlocks
Bidirectional Communication with Another Process
Bidirectional Communication with Yourself
Sockets: Client/Server Communication
Internet Line Terminators
Internet TCP Clients and Servers
Unix-Domain TCP Clients and Servers
TCP Clients with IO::Socket
A Simple Client

Proto, PeerAddr, PeerPort

A Webget Client
Interactive Client with IO::Socket
TCP Servers with IO::Socket

Proto, LocalPort, Listen, Reuse

UDP: Message Passing
SysV IPC
NOTES
BUGS
AUTHOR
SEE ALSO

perlfork - Perl's fork() emulation

SYNOPSIS
DESCRIPTION
Behavior of other Perl features in forked pseudo-processes

$$ or $PROCESS_ID, %ENV, chdir() and all other builtins that accept filenames, wait() and waitpid(), kill(), exec(), exit(), Open handles to files, directories and network sockets

Resource limits
Killing the parent process
Lifetime of the parent process and pseudo-processes
CAVEATS AND LIMITATIONS

BEGIN blocks, Open filehandles, Forking pipe open() not yet implemented, Global state maintained by XSUBs, Interpreter embedded in larger application, Thread-safety of extensions

BUGS
AUTHOR
SEE ALSO

perlnumber - semantics of numbers and numeric operations in Perl

SYNOPSIS
DESCRIPTION
Storing numbers
Numeric operators and numeric conversions
Flavors of Perl numeric operations

Arithmetic operators, ++, Arithmetic operators during use integer, Other mathematical operators, Bitwise operators, Bitwise operators during use integer, Operators which expect an integer, Operators which expect a string

AUTHOR
SEE ALSO

perlthrtut - Tutorial on threads in Perl

DESCRIPTION
What Is A Thread Anyway?
Threaded Program Models
Boss/Worker
Work Crew
Pipeline
What kind of threads are Perl threads?
Thread-Safe Modules
Thread Basics
Basic Thread Support
A Note about the Examples
Creating Threads
Waiting For A Thread To Exit
Ignoring A Thread
Process and Thread Termination
Threads And Data
Shared And Unshared Data
Thread Pitfalls: Races
Synchronization and control
Controlling access: lock()
A Thread Pitfall: Deadlocks
Queues: Passing Data Around
Semaphores: Synchronizing Data Access
Basic semaphores
Advanced Semaphores
Waiting for a Condition
Giving up control
General Thread Utility Routines
What Thread Am I In?
Thread IDs
Are These Threads The Same?
What Threads Are Running?
A Complete Example
Different implementations of threads
Performance considerations
Process-scope Changes
Thread-Safety of System Libraries
Conclusion
SEE ALSO
Bibliography
Introductory Texts
OS-Related References
Other References
Acknowledgements
AUTHOR
Copyrights

perlothrtut - old tutorial on threads in Perl

DESCRIPTION
What Is A Thread Anyway?
Threaded Program Models
Boss/Worker
Work Crew
Pipeline
Native threads
What kind of threads are perl threads?
Threadsafe Modules
Thread Basics
Basic Thread Support
Creating Threads
Giving up control
Waiting For A Thread To Exit
Errors In Threads
Ignoring A Thread
Threads And Data
Shared And Unshared Data
Thread Pitfall: Races
Controlling access: lock()
Thread Pitfall: Deadlocks
Queues: Passing Data Around
Threads And Code
Semaphores: Synchronizing Data Access

Basic semaphores, Advanced Semaphores

Attributes: Restricting Access To Subroutines
Subroutine Locks
Methods
Locking A Subroutine
General Thread Utility Routines
What Thread Am I In?
Thread IDs
Are These Threads The Same?
What Threads Are Running?
A Complete Example
Conclusion
Bibliography
Introductory Texts
OS-Related References
Other References
Acknowledgements
AUTHOR
Copyrights

perlport - Writing portable Perl

DESCRIPTION

Not all Perl programs have to be portable, Nearly all of Perl already is portable

ISSUES
Newlines
Numbers endianness and Width
Files and Filesystems
System Interaction
Command names versus file pathnames
Networking
Interprocess Communication (IPC)
External Subroutines (XS)
Standard Modules
Time and Date
Character sets and character encoding
Internationalisation
System Resources
Security
Style
CPAN Testers
PLATFORMS
Unix
DOS and Derivatives
Mac OS
VMS
VOS
EBCDIC Platforms
Acorn RISC OS
Other perls
FUNCTION IMPLEMENTATIONS
Alphabetical Listing of Perl Functions

-X, atan2, binmode, chmod, chown, chroot, crypt, dbmclose, dbmopen, dump, exec, exit, fcntl, flock, fork, getlogin, getpgrp, getppid, getpriority, getpwnam, getgrnam, getnetbyname, getpwuid, getgrgid, getnetbyaddr, getprotobynumber, getservbyport, getpwent, getgrent, gethostbyname, gethostent, getnetent, getprotoent, getservent, sethostent, setnetent, setprotoent, setservent, endpwent, endgrent, endhostent, endnetent, endprotoent, endservent, getsockopt SOCKET,LEVEL,OPTNAME, glob, gmtime, ioctl FILEHANDLE,FUNCTION,SCALAR, kill, link, localtime, lstat, msgctl, msgget, msgsnd, msgrcv, open, pipe, readlink, rename, select, semctl, semget, semop, setgrent, setpgrp, setpriority, setpwent, setsockopt, shmctl, shmget, shmread, shmwrite, sockatmark, socketpair, stat, symlink, syscall, sysopen, system, times, truncate, umask, utime, wait, waitpid

Supported Platforms
SEE ALSO
AUTHORS / CONTRIBUTORS

perllocale - Perl locale handling (internationalization and localization)

DESCRIPTION
PREPARING TO USE LOCALES
USING LOCALES
The use locale pragma
The setlocale function
Finding locales
LOCALE PROBLEMS
Temporarily fixing locale problems
Permanently fixing locale problems
Permanently fixing your system's locale configuration
Fixing system locale configuration
The localeconv function
I18N::Langinfo
LOCALE CATEGORIES
Category LC_COLLATE: Collation
Category LC_CTYPE: Character Types
Category LC_NUMERIC: Numeric Formatting
Category LC_MONETARY: Formatting of monetary amounts
LC_TIME
Other categories
SECURITY
ENVIRONMENT

PERL_BADLANG, LC_ALL, LANGUAGE, LC_CTYPE, LC_COLLATE, LC_MONETARY, LC_NUMERIC, LC_TIME, LANG

Examples
NOTES
Backward compatibility
I18N:Collate obsolete
Sort speed and memory use impacts
write() and LC_NUMERIC
Freely available locale definitions
I18n and l10n
An imperfect standard
Unicode and UTF-8
BUGS
Broken systems
SEE ALSO
HISTORY

perluniintro - Perl Unicode introduction

DESCRIPTION
Unicode
Perl's Unicode Support
Perl's Unicode Model
Unicode and EBCDIC
Creating Unicode
Handling Unicode
Legacy Encodings
Unicode I/O
Displaying Unicode As Text
Special Cases
Advanced Topics
Miscellaneous
Questions With Answers
Hexadecimal Notation
Further Resources
UNICODE IN OLDER PERLS
SEE ALSO
ACKNOWLEDGMENTS
AUTHOR, COPYRIGHT, AND LICENSE

perlunicode - Unicode support in Perl

DESCRIPTION
Important Caveats

Input and Output Layers, Regular Expressions, use utf8 still needed to enable UTF-8/UTF-EBCDIC in scripts, BOM-marked scripts and UTF-16 scripts autodetected, use encoding needed to upgrade non-Latin-1 byte strings

Byte and Character Semantics
Effects of Character Semantics
Unicode Character Properties

General Category, Bidirectional Character Types, Scripts, Extended property classes, Use of "Is" Prefix, Blocks

User-Defined Character Properties
User-Defined Case Mappings
Character Encodings for Input and Output
Unicode Regular Expression Support Level
Unicode Encodings
Security Implications of Unicode
Unicode in Perl on EBCDIC
Locales
When Unicode Does Not Happen
Forcing Unicode in Perl (Or Unforcing Unicode in Perl)
Using Unicode in XS
BUGS
Interaction with Locales
Problems with characters whose ordinal numbers are in the range 128 - 255 with no Locale specified
Interaction with Extensions
Speed
Possible problems on EBCDIC platforms
Porting code from perl-5.6.X
SEE ALSO

perlunifaq - Perl Unicode FAQ

Q and A
perlunitut isn't really a Unicode tutorial, is it?
What character encodings does Perl support?
Which version of perl should I use?
What about binary data, like images?
When should I decode or encode?
What if I don't decode?
What if I don't encode?
Is there a way to automatically decode or encode?
What if I don't know which encoding was used?
Can I use Unicode in my Perl sources?
Data::Dumper doesn't restore the UTF8 flag; is it broken?
Why do regex character classes sometimes match only in the ASCII range?
Why do some characters not uppercase or lowercase correctly?
How can I determine if a string is a text string or a binary string?
How do I convert from encoding FOO to encoding BAR?
What are decode_utf8 and encode_utf8?
What is a "wide character"?
INTERNALS
What is "the UTF8 flag"?
What about the use bytes pragma?
What about the use encoding pragma?
What is the difference between :encoding and :utf8?
What's the difference between UTF-8 and utf8?
I lost track; what encoding is the internal format really?
AUTHOR
SEE ALSO

perlunitut - Perl Unicode Tutorial

DESCRIPTION
Definitions
Your new toolkit
I/O flow (the actual 5 minute tutorial)
SUMMARY
Q and A (or FAQ)
ACKNOWLEDGEMENTS
AUTHOR
SEE ALSO

perlebcdic - Considerations for running Perl on EBCDIC platforms

DESCRIPTION
COMMON CHARACTER CODE SETS
ASCII
ISO 8859
Latin 1 (ISO 8859-1)
EBCDIC
The 13 variant characters
  • POSIX-BC
    Unicode code points versus EBCDIC code points
    Remaining Perl Unicode problems in EBCDIC
    Unicode and UTF
    Using Encode
    SINGLE OCTET TABLES

    recipe 0, recipe 1, recipe 2, recipe 3, recipe 4, recipe 5, recipe 6

    IDENTIFYING CHARACTER CODE SETS
    CONVERSIONS
    tr///
    iconv
    C RTL
    OPERATOR DIFFERENCES
    FUNCTION DIFFERENCES

    chr(), ord(), pack(), print(), printf(), sort(), sprintf(), unpack()

    REGULAR EXPRESSION DIFFERENCES
    SOCKETS
    SORTING
    Ignore ASCII vs. EBCDIC sort differences.
    MONO CASE then sort data.
    Convert, sort data, then re convert.
    Perform sorting on one type of platform only.
    TRANSFORMATION FORMATS
    URL decoding and encoding
    uu encoding and decoding
    Quoted-Printable encoding and decoding
    Caesarian ciphers
    Hashing order and checksums
    I18N AND L10N
    MULTI OCTET CHARACTER SETS
    OS ISSUES
    OS/400

    PASE, IFS access

    OS/390, z/OS

    chcp, dataset access, OS/390, z/OS iconv, locales

    VM/ESA?
    POSIX-BC?
    BUGS
    SEE ALSO
    REFERENCES
    HISTORY
    AUTHOR

    perlsec - Perl security

    DESCRIPTION
    SECURITY VULNERABILITY CONTACT INFORMATION
    SECURITY MECHANISMS AND CONCERNS
    Taint mode
    Laundering and Detecting Tainted Data
    Switches On the "#!" Line
    Taint mode and @INC
    Cleaning Up Your Path
    Security Bugs
    Protecting Your Programs
    Unicode
    Algorithmic Complexity Attacks
    SEE ALSO

    perlmod - Perl modules (packages and symbol tables)

    DESCRIPTION
    Packages
    Symbol Tables
    BEGIN, UNITCHECK, CHECK, INIT and END
    Perl Classes
    Perl Modules
    Making your module threadsafe
    SEE ALSO

    perlmodlib - constructing new Perl modules and finding existing ones

    THE PERL MODULE LIBRARY
    Pragmatic Modules

    attributes, attrs, autodie, autodie::exception, autodie::exception::system, autodie::hints, autouse, base, bigint, bignum, bigrat, blib, bytes, charnames, constant, diagnostics, encoding, encoding::warnings, feature, fields, filetest, if, integer, less, lib, locale, mro, open, ops, overload, overloading, parent, re, sigtrap, sort, strict, subs, threads, threads::shared, utf8, vars, version, vmsish, warnings, warnings::register

    Standard Modules

    ActivePerl, AnyDBM_File, App::Prove, App::Prove::State, App::Prove::State::Result, App::Prove::State::Result::Test, Archive::Extract, Archive::Tar, Archive::Tar::File, Attribute::Handlers, AutoLoader, AutoSplit, B, B::Concise, B::Debug, B::Deparse, B::Lint, B::Lint::Debug, B::Showlex, B::Terse, B::Xref, Benchmark, CGI, CGI::Apache, CGI::Carp, CGI::Cookie, CGI::Fast, CGI::Pretty, CGI::Push, CGI::Switch, CGI::Util, CORE, CPAN, CPAN::API::HOWTO, CPAN::Distroprefs, CPAN::FirstTime, CPAN::Kwalify, CPAN::Nox, CPAN::Version, CPANPLUS, CPANPLUS::Dist::Base, CPANPLUS::Dist::Build, CPANPLUS::Dist::Build::Constants, CPANPLUS::Dist::Sample, CPANPLUS::Internals::Source::Memory, CPANPLUS::Internals::Source::SQLite, CPANPLUS::Shell::Classic, CPANPLUS::Shell::Default::Plugins::HOWTO, Carp, Carp::Heavy, Class::ISA, Class::Struct, Compress::Raw::Bzip2, Compress::Raw::Bzip2::FAQ, Compress::Raw::Zlib, Compress::Raw::Zlib::FAQ, Compress::Zlib, Config, Cwd, DB, DBM_Filter, DBM_Filter::compress, DBM_Filter::encode, DBM_Filter::int32, DBM_Filter::null, DBM_Filter::utf8, DB_File, Data::Dumper, Devel::DProf, Devel::InnerPackage, Devel::PPPort, Devel::Peek, Devel::SelfStubber, Digest, Digest::MD5, Digest::SHA, Digest::base, Digest::file, DirHandle, Dumpvalue, DynaLoader, Encode, Encode::Alias, Encode::Byte, Encode::CJKConstants, Encode::CN, Encode::CN::HZ, Encode::Config, Encode::EBCDIC, Encode::Encoder, Encode::Encoding, Encode::GSM0338, Encode::Guess, Encode::JP, Encode::JP::H2Z, Encode::JP::JIS7, Encode::KR, Encode::KR::2022_KR, Encode::MIME::Header, Encode::MIME::Name, Encode::PerlIO, Encode::Supported, Encode::Symbol, Encode::TW, Encode::Unicode, Encode::Unicode::UTF7, English, Env, Errno, Exporter, Exporter::Heavy, ExtUtils::CBuilder, ExtUtils::CBuilder::Platform::Windows, ExtUtils::Command, ExtUtils::Command::MM, ExtUtils::Constant, ExtUtils::Constant::Base, ExtUtils::Constant::Utils, ExtUtils::Constant::XS, ExtUtils::Embed, ExtUtils::Install, ExtUtils::Installed, ExtUtils::Liblist, ExtUtils::MM, ExtUtils::MM_AIX, ExtUtils::MM_Any, ExtUtils::MM_BeOS, ExtUtils::MM_Cygwin, ExtUtils::MM_DOS, ExtUtils::MM_Darwin, ExtUtils::MM_MacOS, ExtUtils::MM_NW5, ExtUtils::MM_OS2, ExtUtils::MM_QNX, ExtUtils::MM_UWIN, ExtUtils::MM_Unix, ExtUtils::MM_VMS, ExtUtils::MM_VOS, ExtUtils::MM_Win32, ExtUtils::MM_Win95, ExtUtils::MY, ExtUtils::MakeMaker, ExtUtils::MakeMaker::Config, ExtUtils::MakeMaker::FAQ, ExtUtils::MakeMaker::Tutorial, ExtUtils::Manifest, ExtUtils::Mkbootstrap, ExtUtils::Mksymlists, ExtUtils::Packlist, ExtUtils::ParseXS, ExtUtils::XSSymSet, ExtUtils::testlib, Fatal, Fcntl, File::Basename, File::CheckTree, File::Compare, File::Copy, File::DosGlob, File::Fetch, File::Find, File::Glob, File::GlobMapper, File::Path, File::Spec, File::Spec::Cygwin, File::Spec::Epoc, File::Spec::Functions, File::Spec::Mac, File::Spec::OS2, File::Spec::Unix, File::Spec::VMS, File::Spec::Win32, File::Temp, File::stat, FileCache, FileHandle, Filter::Simple, Filter::Util::Call, FindBin, GDBM_File, Getopt::Long, Getopt::Std, Hash::Util, Hash::Util::FieldHash, I18N::Collate, I18N::LangTags, I18N::LangTags::Detect, I18N::LangTags::List, I18N::Langinfo, IO, IO::Compress::Base, IO::Compress::Bzip2, IO::Compress::Deflate, IO::Compress::FAQ, IO::Compress::Gzip, IO::Compress::RawDeflate, IO::Compress::Zip, IO::Dir, IO::File, IO::Handle, IO::Pipe, IO::Poll, IO::Seekable, IO::Select, IO::Socket, IO::Socket::INET, IO::Socket::UNIX, IO::Uncompress::AnyInflate, IO::Uncompress::AnyUncompress, IO::Uncompress::Base, IO::Uncompress::Bunzip2, IO::Uncompress::Gunzip, IO::Uncompress::Inflate, IO::Uncompress::RawInflate, IO::Uncompress::Unzip, IO::Zlib, IPC::Cmd, IPC::Msg, IPC::Open2, IPC::Open3, IPC::Semaphore, IPC::SharedMem, IPC::SysV, List::Util, List::Util::XS, Locale::Constants, Locale::Country, Locale::Currency, Locale::Language, Locale::Maketext, Locale::Maketext::Simple, Locale::Maketext::TPJ13, Locale::Script, Log::Message, Log::Message::Config, Log::Message::Handlers, Log::Message::Item, MIME::Base64, MIME::QuotedPrint, Math::BigFloat, Math::BigInt, Math::BigInt::Calc, Math::BigInt::CalcEmu, Math::BigInt::FastCalc, Math::BigRat, Math::Complex, Math::Trig, Memoize, Memoize::AnyDBM_File, Memoize::Expire, Memoize::ExpireFile, Memoize::ExpireTest, Memoize::NDBM_File, Memoize::SDBM_File, Memoize::Storable, Module::Build, Module::Build::API, Module::Build::Authoring, Module::Build::Base, Module::Build::Compat, Module::Build::ConfigData, Module::Build::Cookbook, Module::Build::ModuleInfo, Module::Build::Notes, Module::Build::PPMMaker, Module::Build::Platform::Amiga, Module::Build::Platform::Default, Module::Build::Platform::EBCDIC, Module::Build::Platform::MPEiX, Module::Build::Platform::MacOS, Module::Build::Platform::RiscOS, Module::Build::Platform::Unix, Module::Build::Platform::VMS, Module::Build::Platform::VOS, Module::Build::Platform::Windows, Module::Build::Platform::aix, Module::Build::Platform::cygwin, Module::Build::Platform::darwin, Module::Build::Platform::os2, Module::Build::YAML, Module::CoreList, Module::Load, Module::Load::Conditional, Module::Loaded, Module::Pluggable, Module::Pluggable::Object, NDBM_File, NEXT, Net::Cmd, Net::Config, Net::Domain, Net::FTP, Net::NNTP, Net::Netrc, Net::POP3, Net::Ping, Net::SMTP, Net::Time, Net::hostent, Net::libnetFAQ, Net::netent, Net::protoent, Net::servent, O, ODBM_File, Opcode, POSIX, Package::Constants, Params::Check, Parse::CPAN::Meta, PerlIO, PerlIO::encoding, PerlIO::scalar, PerlIO::via, PerlIO::via::QuotedPrint, Pod::Checker, Pod::Escapes, Pod::Find, Pod::Functions, Pod::Html, Pod::InputObjects, Pod::LaTeX, Pod::Man, Pod::ParseLink, Pod::ParseUtils, Pod::Parser, Pod::Perldoc::ToChecker, Pod::Perldoc::ToMan, Pod::Perldoc::ToNroff, Pod::Perldoc::ToPod, Pod::Perldoc::ToRtf, Pod::Perldoc::ToText, Pod::Perldoc::ToTk, Pod::Perldoc::ToXml, Pod::PlainText, Pod::Plainer, Pod::Select, Pod::Simple, Pod::Simple::Checker, Pod::Simple::Debug, Pod::Simple::DumpAsText, Pod::Simple::DumpAsXML, Pod::Simple::HTML, Pod::Simple::HTMLBatch, Pod::Simple::LinkSection, Pod::Simple::Methody, Pod::Simple::PullParser, Pod::Simple::PullParserEndToken, Pod::Simple::PullParserStartToken, Pod::Simple::PullParserTextToken, Pod::Simple::PullParserToken, Pod::Simple::RTF, Pod::Simple::Search, Pod::Simple::SimpleTree, Pod::Simple::Subclassing, Pod::Simple::Text, Pod::Simple::TextContent, Pod::Simple::XHTML, Pod::Simple::XMLOutStream, Pod::Text, Pod::Text::Color, Pod::Text::Termcap, Pod::Usage, SDBM_File, Safe, Scalar::Util, Search::Dict, SelectSaver, SelfLoader, Shell, Socket, Storable, Switch, Symbol, Sys::Hostname, Sys::Syslog, Sys::Syslog::Win32, TAP::Base, TAP::Formatter::Color, TAP::Formatter::Console, TAP::Formatter::Console, TAP::Formatter::Console::ParallelSession, TAP::Formatter::Console::Session, TAP::Formatter::File, TAP::Formatter::File::Session, TAP::Formatter::Session, TAP::Harness, TAP::Object, TAP::Parser, TAP::Parser::Aggregator, TAP::Parser::Grammar, TAP::Parser::Iterator, TAP::Parser::Iterator::Array, TAP::Parser::Iterator::Process, TAP::Parser::Iterator::Stream, TAP::Parser::IteratorFactory, TAP::Parser::Multiplexer, TAP::Parser::Result, TAP::Parser::Result::Bailout, TAP::Parser::Result::Comment, TAP::Parser::Result::Plan, TAP::Parser::Result::Pragma, TAP::Parser::Result::Test, TAP::Parser::Result::Unknown, TAP::Parser::Result::Version, TAP::Parser::Result::YAML, TAP::Parser::ResultFactory, TAP::Parser::Scheduler, TAP::Parser::Scheduler::Job, TAP::Parser::Scheduler::Spinner, TAP::Parser::Source, TAP::Parser::Source::Perl, TAP::Parser::Utils, TAP::Parser::YAMLish::Reader, TAP::Parser::YAMLish::Writer, Term::ANSIColor, Term::Cap, Term::Complete, Term::ReadLine, Term::UI, Test, Test::Builder, Test::Builder::Module, Test::Builder::Tester, Test::Builder::Tester::Color, Test::Harness, Test::More, Test::Simple, Test::Tutorial, Text::Abbrev, Text::Balanced, Text::ParseWords, Text::Soundex, Text::Tabs, Text::Wrap, Thread, Thread::Queue, Thread::Semaphore, Tie::Array, Tie::File, Tie::Handle, Tie::Hash, Tie::Hash::NamedCapture, Tie::Memoize, Tie::RefHash, Tie::Scalar, Tie::StdHandle, Tie::SubstrHash, Time::HiRes, Time::Local, Time::Piece, Time::Seconds, Time::gmtime, Time::localtime, Time::tm, UNIVERSAL, Unicode::Collate, Unicode::Normalize, Unicode::UCD, User::grent, User::pwent, Win32, Win32API::File, Win32CORE, XS::APItest, XS::Typemap, XSLoader, version::Internal

    Extension Modules
    CPAN
    Africa

    South Africa

    Asia

    China, Indonesia, Israel, Japan, Malaysia, Russian Federation, Saudi Arabia, Singapore, South Korea, Taiwan, Thailand

    Central America

    Costa Rica

    Europe

    Austria, Belgium, Bosnia and Herzegovina, Bulgaria, Croatia, Czech Republic, Denmark, Estonia, Finland, France, Germany, Greece, Hungary, Iceland, Ireland, Italy, Latvia, Lithuania, Netherlands, Norway, Poland, Portugal, Romania, Russia, Slovakia, Slovenia, Spain, Sweden, Switzerland, Turkey, Ukraine, United Kingdom

    North America

    Canada, Alberta, Manitoba, Nova Scotia, Ontario, Mexico, United States, Alabama, California, Colorado, Delaware, District of Columbia, Florida, Indiana, Kentucky, Massachusetts, Michigan, Nevada, New Jersey, New York, North Carolina, Oklahoma, Oregon, Pennsylvania, Tennessee, Texas, Utah, Virginia, Washington, Wisconsin

    Oceania

    Australia, New Zealand, United States

    South America

    Argentina, Brazil, Chile

    RSYNC Mirrors
    Modules: Creation, Use, and Abuse
    Guidelines for Module Creation
    Guidelines for Converting Perl 4 Library Scripts into Modules
    Guidelines for Reusing Application Code
    NOTE

    perlmodstyle - Perl module style guide

    INTRODUCTION
    QUICK CHECKLIST
    Before you start
    The API
    Stability
    Documentation
    Release considerations
    BEFORE YOU START WRITING A MODULE
    Has it been done before?
    Do one thing and do it well
    What's in a name?
    DESIGNING AND WRITING YOUR MODULE
    To OO or not to OO?
    Designing your API

    Write simple routines to do simple things, Separate functionality from output, Provide sensible shortcuts and defaults, Naming conventions, Parameter passing

    Strictness and warnings
    Backwards compatibility
    Error handling and messages
    DOCUMENTING YOUR MODULE
    POD
    README, INSTALL, release notes, changelogs

    perl Makefile.PL, make, make test, make install, perl Build.PL, perl Build, perl Build test, perl Build install

    RELEASE CONSIDERATIONS
    Version numbering
    Pre-requisites
    Testing
    Packaging
    Licensing
    COMMON PITFALLS
    Reinventing the wheel
    Trying to do too much
    Inappropriate documentation
    SEE ALSO

    the perlstyle manpage, the perlnewmod manpage, the perlpod manpage, podchecker, Packaging Tools, Testing tools, http://pause.perl.org/, Any good book on software engineering

    AUTHOR

    perlmodinstall - Installing CPAN Modules

    DESCRIPTION
    PREAMBLE

    DECOMPRESS the file, UNPACK the file into a directory, BUILD the module (sometimes unnecessary), INSTALL the module

    PORTABILITY
    HEY
    AUTHOR
    COPYRIGHT

    perlnewmod - preparing a new module for distribution

    DESCRIPTION
    Warning
    What should I make into a module?
    Step-by-step: Preparing the ground

    Look around, Check it's new, Discuss the need, Choose a name, Check again

    Step-by-step: Making the module

    Start with module-starter or h2xs, Use strict and warnings, Use Carp, Use Exporter - wisely!, Use plain old documentation, Write tests, Write the README

    Step-by-step: Distributing your module

    Get a CPAN user ID, perl Makefile.PL; make test; make dist, Upload the tarball, Announce to the modules list, Announce to clpa, Fix bugs!

    AUTHOR
    SEE ALSO

    perlpragma - how to write a user pragma

    DESCRIPTION
    A basic example
    Implementation details

    perlutil - utilities packaged with the Perl distribution

    DESCRIPTION
    LIST OF UTILITIES
    Documentation

    perldoc, pod2man and pod2text, pod2html and pod2latex, pod2usage, podselect, podchecker, splain, roffitall

    Convertors

    a2p, s2p and psed, find2perl

    Administration

    config_data, libnetcfg, perlivp

    Development

    perlbug, perlthanks, h2ph, c2ph and pstruct, h2xs, enc2xs, the xsubpp manpage, dprofpp, prove, corelist

    General tools

    piconv, the ptar manpage, the ptardiff manpage, shasum

    Installation

    the cpan manpage, cpanp, cpan2dist, instmodsh

    SEE ALSO

    perlcompile - Introduction to the Perl Compiler-Translator

    DESCRIPTION
    Layout

    B::Lint, B::Deparse, B::Xref

    Using The Back Ends
    The Cross Referencing Back End

    i, &, s, r

    The Decompiling Back End
    The Lint Back End
    Module List for the Compiler Suite

    B, O, B::Concise, B::Debug, B::Deparse, B::Lint, B::Showlex, B::Terse, B::Xref

    KNOWN PROBLEMS
    AUTHOR

    perlfilter - Source Filters

    DESCRIPTION
    CONCEPTS
    USING FILTERS
    WRITING A SOURCE FILTER
    WRITING A SOURCE FILTER IN C

    Decryption Filters

    CREATING A SOURCE FILTER AS A SEPARATE EXECUTABLE
    WRITING A SOURCE FILTER IN PERL
    USING CONTEXT: THE DEBUG FILTER
    CONCLUSION
    THINGS TO LOOK OUT FOR

    Some Filters Clobber the DATA Handle

    REQUIREMENTS
    AUTHOR
    Copyrights

    perlglossary - Perl Glossary

    DESCRIPTION
    A

    accessor methods, actual arguments, address operator, algorithm, alias, alternatives, anonymous, architecture, argument, ARGV, arithmetical operator, array, array context, ASCII, assertion, assignment, assignment operator, associative array, associativity, asynchronous, atom, atomic operation, attribute, autogeneration, autoincrement, autoload, autosplit, autovivification, AV, awk

    B

    backreference, backtracking, backward compatibility, bareword, base class, big-endian, binary, binary operator, bind, bit, bit shift, bit string, bless, block, BLOCK, block buffering, Boolean, Boolean context, breakpoint, broadcast, BSD, bucket, buffer, built-in, bundle, byte, bytecode

    C

    C, C preprocessor, call by reference, call by value, callback, canonical, capturing, character, character class, character property, circumfix operator, class, class method, client, cloister, closure, cluster, CODE, code generator, code subpattern, collating sequence, command, command buffering, command name, command-line arguments, comment, compilation unit, compile phase, compile time, compiler, composer, concatenation, conditional, connection, construct, constructor, context, continuation, core dump, CPAN, cracker, current package, current working directory, currently selected output channel, CV

    D

    dangling statement, data structure, data type, datagram, DBM, declaration, decrement, default, defined, delimiter, deprecated modules and features, dereference, derived class, descriptor, destroy, destructor, device, directive, directory, directory handle, dispatch, distribution, (to be) dropped modules, dweomer, dwimmer, dynamic scoping

    E

    eclectic, element, embedding, empty subclass test, en passant, encapsulation, endian, environment, environment variable, EOF, errno, error, escape sequence, exception, exception handling, exec, executable file, execute, execute bit, exit status, export, expression, extension

    F

    false, FAQ, fatal error, field, FIFO, file, file descriptor, file test operator, fileglob, filehandle, filename, filesystem, filter, flag, floating point, flush, FMTEYEWTK, fork, formal arguments, format, freely available, freely redistributable, freeware, function, funny character, garbage collection

    G

    GID, glob, global, global destruction, glue language, granularity, greedy, grep, group, GV

    H

    hacker, handler, hard reference, hash, hash table, header file, here document, hexadecimal, home directory, host, hubris, HV

    I

    identifier, impatience, implementation, import, increment, indexing, indirect filehandle, indirect object, indirect object slot, indirection, infix, inheritance, instance, instance variable, integer, interface, interpolation, interpreter, invocant, invocation, I/O, IO, IP, IPC, is-a, iteration, iterator, IV

    J

    JAPH

    K

    key, keyword

    L

    label, laziness, left shift, leftmost longest, lexeme, lexer, lexical analysis, lexical scoping, lexical variable, library, LIFO, line, line buffering, line number, link, LIST, list, list context, list operator, list value, literal, little-endian, local, logical operator, lookahead, lookbehind, loop, loop control statement, loop label, lvaluable, lvalue, lvalue modifier

    M

    magic, magical increment, magical variables, Makefile, man, manpage, matching, member data, memory, metacharacter, metasymbol, method, minimalism, mode, modifier, module, modulus, monger, mortal, multidimensional array, multiple inheritance

    N

    named pipe, namespace, network address, newline, NFS, null character, null list, null string, numeric context, NV, nybble

    O

    object, octal, offset, one-liner, open source software, operand, operating system, operator, operator overloading, options, overloading, overriding, owner

    P

    package, pad, parameter, parent class, parse tree, parsing, patch, PATH, pathname, pattern, pattern matching, permission bits, Pern, pipe, pipeline, platform, pod, pointer, polymorphism, port, portable, porter, POSIX, postfix, pp, pragma, precedence, prefix, preprocessing, procedure, process, program generator, progressive matching, property, protocol, prototype, pseudofunction, pseudohash, pseudoliteral, public domain, pumpkin, pumpking, PV

    Q

    qualified, quantifier

    R

    readable, reaping, record, recursion, reference, referent, regex, regular expression, regular expression modifier, regular file, relational operator, reserved words, return value, RFC, right shift, root, RTFM, run phase, run time, run-time pattern, RV, rvalue

    S

    scalar, scalar context, scalar literal, scalar value, scalar variable, scope, scratchpad, script, script kiddie, sed, semaphore, separator, serialization, server, service, setgid, setuid, shared memory, shebang, shell, side effects, signal, signal handler, single inheritance, slice, slurp, socket, soft reference, source filter, stack, standard, standard error, standard I/O, standard input, standard output, stat structure, statement, statement modifier, static, static method, static scoping, static variable, status, STDERR, STDIN, STDIO, STDOUT, stream, string, string context, stringification, struct, structure, subclass, subpattern, subroutine, subscript, substitution, substring, superclass, superuser, SV, switch, switch cluster, switch statement, symbol, symbol table, symbolic debugger, symbolic link, symbolic reference, synchronous, syntactic sugar, syntax, syntax tree, syscall

    T

    tainted, TCP, term, terminator, ternary, text, thread, tie, TMTOWTDI, token, tokener, tokenizing, toolbox approach, transliterate, trigger, trinary, troff, true, truncating, type, type casting, typed lexical, typedef, typeglob, typemap

    U

    UDP, UID, umask, unary operator, Unicode, Unix

    V

    value, variable, variable interpolation, variadic, vector, virtual, void context, v-string

    W

    warning, watch expression, whitespace, word, working directory, wrapper, WYSIWYG

    X

    XS, XSUB

    Y

    yacc

    Z

    zero width, zombie

    AUTHOR AND COPYRIGHT

    perlembed - how to embed perl in your C program

    DESCRIPTION
    PREAMBLE

    Use C from Perl?, Use a Unix program from Perl?, Use Perl from Perl?, Use C from C?, Use Perl from C?

    ROADMAP
    Compiling your C program
    Adding a Perl interpreter to your C program
    Calling a Perl subroutine from your C program
    Evaluating a Perl statement from your C program
    Performing Perl pattern matches and substitutions from your C program
    Fiddling with the Perl stack from your C program
    Maintaining a persistent interpreter
    Execution of END blocks
    $0 assignments
    Maintaining multiple interpreter instances
    Using Perl modules, which themselves use C libraries, from your C program
    Embedding Perl under Win32
    Hiding Perl_
    MORAL
    AUTHOR
    COPYRIGHT

    perldebguts - Guts of Perl debugging

    DESCRIPTION
    Debugger Internals
    Writing Your Own Debugger
    Frame Listing Output Examples
    Debugging regular expressions
    Compile-time output

    anchored STRING at POS, floating STRING at POS1..POS2, matching floating/anchored, minlen, stclass TYPE, noscan, isall, GPOS, plus, implicit, with eval, anchored(TYPE)

    Types of nodes
    Run-time output
    Debugging Perl memory usage
    Using $ENV{PERL_DEBUG_MSTATS}

    buckets SMALLEST(APPROX)..GREATEST(APPROX), Free/Used, Total sbrk(): SBRKed/SBRKs:CONTINUOUS, pad: 0, heads: 2192, chain: 0, tail: 6144

    SEE ALSO

    perlxstut, perlXStut - Tutorial for writing XSUBs

    DESCRIPTION
    SPECIAL NOTES
    make
    Version caveat
    Dynamic Loading versus Static Loading
    TUTORIAL
    EXAMPLE 1
    EXAMPLE 2
    What has gone on?
    Writing good test scripts
    EXAMPLE 3
    What's new here?
    Input and Output Parameters
    The XSUBPP Program
    The TYPEMAP file
    Warning about Output Arguments
    EXAMPLE 4
    What has happened here?
    Anatomy of .xs file
    Getting the fat out of XSUBs
    More about XSUB arguments
    The Argument Stack
    Extending your Extension
    Documenting your Extension
    Installing your Extension
    EXAMPLE 5
    New Things in this Example
    EXAMPLE 6
    New Things in this Example
    EXAMPLE 7 (Coming Soon)
    EXAMPLE 8 (Coming Soon)
    EXAMPLE 9 Passing open files to XSes
    Troubleshooting these Examples
    See also
    Author
    Last Changed

    perlxs - XS language reference manual

    DESCRIPTION
    Introduction
    On The Road
    The Anatomy of an XSUB
    The Argument Stack
    The RETVAL Variable
    Returning SVs, AVs and HVs through RETVAL
    The MODULE Keyword
    The PACKAGE Keyword
    The PREFIX Keyword
    The OUTPUT: Keyword
    The NO_OUTPUT Keyword
    The CODE: Keyword
    The INIT: Keyword
    The NO_INIT Keyword
    Initializing Function Parameters
    Default Parameter Values
    The PREINIT: Keyword
    The SCOPE: Keyword
    The INPUT: Keyword
    The IN/OUTLIST/IN_OUTLIST/OUT/IN_OUT Keywords
    The length(NAME) Keyword
    Variable-length Parameter Lists
    The C_ARGS: Keyword
    The PPCODE: Keyword
    Returning Undef And Empty Lists
    The REQUIRE: Keyword
    The CLEANUP: Keyword
    The POSTCALL: Keyword
    The BOOT: Keyword
    The VERSIONCHECK: Keyword
    The PROTOTYPES: Keyword
    The PROTOTYPE: Keyword
    The ALIAS: Keyword
    The OVERLOAD: Keyword
    The FALLBACK: Keyword
    The INTERFACE: Keyword
    The INTERFACE_MACRO: Keyword
    The INCLUDE: Keyword
    The CASE: Keyword
    The & Unary Operator
    Inserting POD, Comments and C Preprocessor Directives
    Using XS With C++
    Interface Strategy
    Perl Objects And C Structures
    The Typemap
    Safely Storing Static Data in XS

    MY_CXT_KEY, typedef my_cxt_t, START_MY_CXT, MY_CXT_INIT, dMY_CXT, MY_CXT, aMY_CXT/pMY_CXT, MY_CXT_CLONE, MY_CXT_INIT_INTERP(my_perl), dMY_CXT_INTERP(my_perl)

    Thread-aware system interfaces
    EXAMPLES
    XS VERSION
    AUTHOR

    perlclib - Internal replacements for standard C library functions

    DESCRIPTION
    Conventions

    t, p, n, s

    File Operations
    File Input and Output
    File Positioning
    Memory Management and String Handling
    Character Class Tests
    stdlib.h functions
    Miscellaneous functions
    SEE ALSO

    perlguts - Introduction to the Perl API

    DESCRIPTION
    Variables
    Datatypes
    What is an "IV"?
    Working with SVs
    Offsets
    What's Really Stored in an SV?
    Working with AVs
    Working with HVs
    Hash API Extensions
    AVs, HVs and undefined values
    References
    Blessed References and Class Objects
    Creating New Variables

    GV_ADDMULTI, GV_ADDWARN

    Reference Counts and Mortality
    Stashes and Globs
    Double-Typed SVs
    Magic Variables
    Assigning Magic
    Magic Virtual Tables
    Finding Magic
    Understanding the Magic of Tied Hashes and Arrays
    Localizing changes

    SAVEINT(int i), SAVEIV(IV i), SAVEI32(I32 i), SAVELONG(long i), SAVESPTR(s), SAVEPPTR(p), SAVEFREESV(SV *sv), SAVEMORTALIZESV(SV *sv), SAVEFREEOP(OP *op), SAVEFREEPV(p), SAVECLEARSV(SV *sv), SAVEDELETE(HV *hv, char *key, I32 length), SAVEDESTRUCTOR(DESTRUCTORFUNC_NOCONTEXT_t f, void *p), SAVEDESTRUCTOR_X(DESTRUCTORFUNC_t f, void *p), SAVESTACK_POS(), SV* save_scalar(GV *gv), AV* save_ary(GV *gv), HV* save_hash(GV *gv), void save_item(SV *item), void save_list(SV **sarg, I32 maxsarg), SV* save_svref(SV **sptr), void save_aptr(AV **aptr), void save_hptr(HV **hptr)

    Subroutines
    XSUBs and the Argument Stack
    Calling Perl Routines from within C Programs
    Memory Allocation
    PerlIO
    Putting a C value on Perl stack
    Scratchpads
    Scratchpads and recursion
    Compiled code
    Code tree
    Examining the tree
    Compile pass 1: check routines
    Compile pass 1a: constant folding
    Compile pass 2: context propagation
    Compile pass 3: peephole optimization
    Pluggable runops
    Examining internal data structures with the dump functions
    How multiple interpreters and concurrency are supported
    Background and PERL_IMPLICIT_CONTEXT
    So what happened to dTHR?
    How do I use all this in extensions?
    Should I do anything special if I call perl from multiple threads?
    Future Plans and PERL_IMPLICIT_SYS
    Internal Functions

    A, p, d, s, n, r, f, M, o, x, m, X, E, b, others

    Formatted Printing of IVs, UVs, and NVs
    Pointer-To-Integer and Integer-To-Pointer
    Exception Handling
    Source Documentation
    Backwards compatibility
    Unicode Support
    What is Unicode, anyway?
    How can I recognise a UTF-8 string?
    How does UTF-8 represent Unicode characters?
    How does Perl store UTF-8 strings?
    How do I convert a string to UTF-8?
    Is there anything else I need to know?
    Custom Operators
    AUTHORS
    SEE ALSO

    perlcall - Perl calling conventions from C

    DESCRIPTION

    An Error Handler, An Event Driven Program

    THE CALL_ FUNCTIONS

    call_sv, call_pv, call_method, call_argv

    FLAG VALUES
    G_VOID
    G_SCALAR
    G_ARRAY
    G_DISCARD
    G_NOARGS
    G_EVAL
    G_KEEPERR
    Determining the Context
    EXAMPLES
    No Parameters, Nothing returned
    Passing Parameters
    Returning a Scalar
    Returning a list of values
    Returning a list in a scalar context
    Returning Data from Perl via the parameter list
    Using G_EVAL
    Using G_KEEPERR
    Using call_sv
    Using call_argv
    Using call_method
    Using GIMME_V
    Using Perl to dispose of temporaries
    Strategies for storing Callback Context Information

    1. Ignore the problem - Allow only 1 callback, 2. Create a sequence of callbacks - hard wired limit, 3. Use a parameter to map to the Perl callback

    Alternate Stack Manipulation
    Creating and calling an anonymous subroutine in C
    LIGHTWEIGHT CALLBACKS
    SEE ALSO
    AUTHOR
    DATE

    perlmroapi - Perl method resolution plugin interface

    DESCRIPTION

    resolve, name, length, kflags, hash

    Callbacks
    Caching
    Examples
    AUTHORS

    perlreapi - perl regular expression plugin interface

    DESCRIPTION
    Callbacks
    comp

    /m - RXf_PMf_MULTILINE, /s - RXf_PMf_SINGLELINE, /i - RXf_PMf_FOLD, /x - RXf_PMf_EXTENDED, /p - RXf_PMf_KEEPCOPY, RXf_PMf_LOCALE, RXf_UTF8, RXf_SPLIT, RXf_SKIPWHITE, RXf_START_ONLY, RXf_WHITE, RXf_NULL

    exec
    intuit
    checkstr
    free
    Numbered capture callbacks
    Named capture callbacks
    qr_package
    dupe
    The REGEXP structure
    engine
    mother_re
    extflags
    minlen minlenret
    gofs
    substrs
    nparens, lasparen, and lastcloseparen
    intflags
    pprivate
    swap
    offs
    precomp prelen
    paren_names
    substrs
    subbeg sublen saved_copy
    wrapped wraplen
    seen_evals
    refcnt
    HISTORY
    AUTHORS
    LICENSE

    perlreguts - Description of the Perl regular expression engine.

    DESCRIPTION
    OVERVIEW
    A quick note on terms
    What is a regular expression engine?
    Structure of a Regexp Program

    regnode_1, regnode_2, regnode_string, regnode_charclass, regnode_charclass_class

    Process Overview

    A. Compilation, 1. Parsing for size, 2. Parsing for construction, 3. Peep-hole optimisation and analysis, B. Execution, 4. Start position and no-match optimisations, 5. Program execution

    Compilation

    anchored fixed strings, floating fixed strings, minimum and maximum length requirements, start class, Beginning/End of line positions

    Execution
    MISCELLANEOUS
    Unicode and Localisation Support
    Base Structures

    swap, offsets, regstclass, data, program

    SEE ALSO
    AUTHOR
    LICENCE
    REFERENCES

    perlapi - autogenerated documentation for the perl public API

    DESCRIPTION
    "Gimme" Values

    GIMME , GIMME_V , G_ARRAY , G_DISCARD , G_EVAL , G_NOARGS , G_SCALAR , G_VOID

    Array Manipulation Functions

    AvFILL , av_clear , av_create_and_push , av_create_and_unshift_one , av_delete , av_exists , av_extend , av_fetch , av_fill , av_len , av_make , av_pop , av_push , av_shift , av_store , av_undef , av_unshift , get_av , newAV , sortsv , sortsv_flags

    Callback Functions

    call_argv , call_method , call_pv , call_sv , ENTER , eval_pv , eval_sv , FREETMPS , LEAVE , SAVETMPS

    Character classes

    isALNUM , isALPHA , isDIGIT , isLOWER , isSPACE , isUPPER , toLOWER , toUPPER

    Cloning an interpreter

    perl_clone

    CV Manipulation Functions

    CvSTASH , get_cv , get_cvn_flags

    Embedding Functions

    cv_undef , load_module , nothreadhook , perl_alloc , perl_construct , perl_destruct , perl_free , perl_parse , perl_run , require_pv

    Functions in file dump.c

    pv_display , pv_escape , pv_pretty

    Functions in file mathoms.c

    gv_fetchmethod , pack_cat , sv_2pvbyte_nolen , sv_2pvutf8_nolen , sv_2pv_nolen , sv_catpvn_mg , sv_catsv_mg , sv_force_normal , sv_iv , sv_nolocking , sv_nounlocking , sv_nv , sv_pv , sv_pvbyte , sv_pvbyten , sv_pvn , sv_pvutf8 , sv_pvutf8n , sv_taint , sv_unref , sv_usepvn , sv_usepvn_mg , sv_uv , unpack_str

    Functions in file perl.h

    PERL_SYS_INIT , PERL_SYS_INIT3 , PERL_SYS_TERM

    Functions in file pp_ctl.c

    find_runcv

    Functions in file pp_pack.c

    packlist , unpackstring

    GV Functions

    GvSV , gv_const_sv , gv_fetchmeth , gv_fetchmethod_autoload , gv_fetchmeth_autoload , gv_stashpv , gv_stashpvn , gv_stashpvs , gv_stashsv

    Handy Values

    Nullav , Nullch , Nullcv , Nullhv , Nullsv

    Hash Manipulation Functions

    get_hv , HEf_SVKEY , HeHASH , HeKEY , HeKLEN , HePV , HeSVKEY , HeSVKEY_force , HeSVKEY_set , HeUTF8 , HeVAL , HvNAME , hv_assert , hv_clear , hv_clear_placeholders , hv_delete , hv_delete_ent , hv_exists , hv_exists_ent , hv_fetch , hv_fetchs , hv_fetch_ent , hv_iterinit , hv_iterkey , hv_iterkeysv , hv_iternext , hv_iternextsv , hv_iternext_flags , hv_iterval , hv_magic , hv_scalar , hv_store , hv_stores , hv_store_ent , hv_undef , newHV

    Magical Functions

    mg_clear , mg_copy , mg_find , mg_free , mg_get , mg_length , mg_magical , mg_set , SvGETMAGIC , SvLOCK , SvSETMAGIC , SvSetMagicSV , SvSetMagicSV_nosteal , SvSetSV , SvSetSV_nosteal , SvSHARE , SvUNLOCK

    Memory Management

    Copy , CopyD , Move , MoveD , Newx , Newxc , Newxz , Poison , PoisonFree , PoisonNew , PoisonWith , Renew , Renewc , Safefree , savepv , savepvn , savepvs , savesharedpv , savesharedpvn , savesvpv , StructCopy , Zero , ZeroD

    Miscellaneous Functions

    fbm_compile , fbm_instr , form , getcwd_sv , my_snprintf , my_sprintf , my_vsnprintf , new_version , scan_version , strEQ , strGE , strGT , strLE , strLT , strNE , strnEQ , strnNE , sv_destroyable , sv_nosharing , upg_version , vcmp , vnormal , vnumify , vstringify , vverify

    MRO Functions

    mro_get_linear_isa , mro_method_changed_in

    Multicall Functions

    dMULTICALL , MULTICALL , POP_MULTICALL , PUSH_MULTICALL

    Numeric functions

    grok_bin , grok_hex , grok_number , grok_numeric_radix , grok_oct , Perl_signbit , scan_bin , scan_hex , scan_oct

    Optree Manipulation Functions

    cv_const_sv , newCONSTSUB , newXS

    Pad Data Structures

    pad_sv

    Per-Interpreter Variables

    PL_modglobal , PL_na , PL_sv_no , PL_sv_undef , PL_sv_yes

    REGEXP Functions

    SvRX , SvRXOK

    Simple Exception Handling Macros

    dXCPT , XCPT_CATCH , XCPT_RETHROW , XCPT_TRY_END , XCPT_TRY_START

    Stack Manipulation Macros

    dMARK , dORIGMARK , dSP , EXTEND , MARK , mPUSHi , mPUSHn , mPUSHp , mPUSHs , mPUSHu , mXPUSHi , mXPUSHn , mXPUSHp , mXPUSHs , mXPUSHu , ORIGMARK , POPi , POPl , POPn , POPp , POPpbytex , POPpx , POPs , PUSHi , PUSHMARK , PUSHmortal , PUSHn , PUSHp , PUSHs , PUSHu , PUTBACK , SP , SPAGAIN , XPUSHi , XPUSHmortal , XPUSHn , XPUSHp , XPUSHs , XPUSHu , XSRETURN , XSRETURN_EMPTY , XSRETURN_IV , XSRETURN_NO , XSRETURN_NV , XSRETURN_PV , XSRETURN_UNDEF , XSRETURN_UV , XSRETURN_YES , XST_mIV , XST_mNO , XST_mNV , XST_mPV , XST_mUNDEF , XST_mYES

    SV Flags

    svtype , SVt_IV , SVt_NV , SVt_PV , SVt_PVAV , SVt_PVCV , SVt_PVHV , SVt_PVMG

    SV Manipulation Functions

    croak_xs_usage , get_sv , newRV_inc , newSVpvn_utf8 , SvCUR , SvCUR_set , SvEND , SvGAMAGIC , SvGROW , SvIOK , SvIOKp , SvIOK_notUV , SvIOK_off , SvIOK_on , SvIOK_only , SvIOK_only_UV , SvIOK_UV , SvIsCOW , SvIsCOW_shared_hash , SvIV , SvIVX , SvIVx , SvIV_nomg , SvIV_set , SvLEN , SvLEN_set , SvMAGIC_set , SvNIOK , SvNIOKp , SvNIOK_off , SvNOK , SvNOKp , SvNOK_off , SvNOK_on , SvNOK_only , SvNV , SvNVX , SvNVx , SvNV_set , SvOK , SvOOK , SvPOK , SvPOKp , SvPOK_off , SvPOK_on , SvPOK_only , SvPOK_only_UTF8 , SvPV , SvPVbyte , SvPVbytex , SvPVbytex_force , SvPVbyte_force , SvPVbyte_nolen , SvPVutf8 , SvPVutf8x , SvPVutf8x_force , SvPVutf8_force , SvPVutf8_nolen , SvPVX , SvPVx , SvPV_force , SvPV_force_nomg , SvPV_nolen , SvPV_nomg , SvPV_set , SvREFCNT , SvREFCNT_dec , SvREFCNT_inc , SvREFCNT_inc_NN , SvREFCNT_inc_simple , SvREFCNT_inc_simple_NN , SvREFCNT_inc_simple_void , SvREFCNT_inc_simple_void_NN , SvREFCNT_inc_void , SvREFCNT_inc_void_NN , SvROK , SvROK_off , SvROK_on , SvRV , SvRV_set , SvSTASH , SvSTASH_set , SvTAINT , SvTAINTED , SvTAINTED_off , SvTAINTED_on , SvTRUE , SvTYPE , SvUOK , SvUPGRADE , SvUTF8 , SvUTF8_off , SvUTF8_on , SvUV , SvUVX , SvUVx , SvUV_nomg , SvUV_set , SvVOK , sv_catpvn_nomg , sv_catsv_nomg , sv_derived_from , sv_does , sv_report_used , sv_setsv_nomg , sv_utf8_upgrade_nomg

    SV-Body Allocation

    looks_like_number , newRV_noinc , newSV , newSVhek , newSViv , newSVnv , newSVpv , newSVpvf , newSVpvn , newSVpvn_flags , newSVpvn_share , newSVpvs , newSVpvs_flags , newSVpvs_share , newSVrv , newSVsv , newSVuv , newSV_type , sv_2bool , sv_2cv , sv_2io , sv_2iv_flags , sv_2mortal , sv_2nv , sv_2pvbyte , sv_2pvutf8 , sv_2pv_flags , sv_2uv_flags , sv_backoff , sv_bless , sv_catpv , sv_catpvf , sv_catpvf_mg , sv_catpvn , sv_catpvn_flags , sv_catpvs , sv_catpv_mg , sv_catsv , sv_catsv_flags , sv_chop , sv_clear , sv_cmp , sv_cmp_locale , sv_collxfrm , sv_copypv , sv_dec , sv_eq , sv_force_normal_flags , sv_free , sv_gets , sv_grow , sv_inc , sv_insert , sv_insert_flags , sv_isa , sv_isobject , sv_len , sv_len_utf8 , sv_magic , sv_magicext , sv_mortalcopy , sv_newmortal , sv_newref , sv_pos_b2u , sv_pos_u2b , sv_pvbyten_force , sv_pvn_force , sv_pvn_force_flags , sv_pvutf8n_force , sv_reftype , sv_replace , sv_reset , sv_rvweaken , sv_setiv , sv_setiv_mg , sv_setnv , sv_setnv_mg , sv_setpv , sv_setpvf , sv_setpvf_mg , sv_setpviv , sv_setpviv_mg , sv_setpvn , sv_setpvn_mg , sv_setpvs , sv_setpv_mg , sv_setref_iv , sv_setref_nv , sv_setref_pv , sv_setref_pvn , sv_setref_uv , sv_setsv , sv_setsv_flags , sv_setsv_mg , sv_setuv , sv_setuv_mg , sv_tainted , sv_true , sv_unmagic , sv_unref_flags , sv_untaint , sv_upgrade , sv_usepvn_flags , sv_utf8_decode , sv_utf8_downgrade , sv_utf8_encode , sv_utf8_upgrade , sv_utf8_upgrade_flags , sv_utf8_upgrade_nomg , sv_vcatpvf , sv_vcatpvfn , sv_vcatpvf_mg , sv_vsetpvf , sv_vsetpvfn , sv_vsetpvf_mg

    Unicode Support

    bytes_from_utf8 , bytes_to_utf8 , ibcmp_utf8 , is_utf8_char , is_utf8_string , is_utf8_string_loc , is_utf8_string_loclen , pv_uni_display , sv_cat_decode , sv_recode_to_utf8 , sv_uni_display , to_utf8_case , to_utf8_fold , to_utf8_lower , to_utf8_title , to_utf8_upper , utf8n_to_uvchr , utf8n_to_uvuni , utf8_distance , utf8_hop , utf8_length , utf8_to_bytes , utf8_to_uvchr , utf8_to_uvuni , uvchr_to_utf8 , uvuni_to_utf8_flags

    Variables created by xsubpp and xsubpp internal functions

    ax , CLASS , dAX , dAXMARK , dITEMS , dUNDERBAR , dXSARGS , dXSI32 , items , ix , newXSproto , RETVAL , ST , THIS , UNDERBAR , XS , XS_VERSION , XS_VERSION_BOOTCHECK

    Warning and Dieing

    croak , warn

    AUTHORS
    SEE ALSO

    perlintern - autogenerated documentation of purely internal Perl functions

    DESCRIPTION
    CV reference counts and CvOUTSIDE

    CvWEAKOUTSIDE

    Functions in file pad.h

    CX_CURPAD_SAVE , CX_CURPAD_SV , PAD_BASE_SV , PAD_CLONE_VARS , PAD_COMPNAME_FLAGS , PAD_COMPNAME_GEN , PAD_COMPNAME_GEN_set , PAD_COMPNAME_OURSTASH , PAD_COMPNAME_PV , PAD_COMPNAME_TYPE , PAD_DUP , PAD_RESTORE_LOCAL , PAD_SAVE_LOCAL , PAD_SAVE_SETNULLPAD , PAD_SETSV , PAD_SET_CUR , PAD_SET_CUR_NOSAVE , PAD_SV , PAD_SVl , SAVECLEARSV , SAVECOMPPAD , SAVEPADSV

    GV Functions

    is_gv_magical , is_gv_magical_sv

    Hash Manipulation Functions

    refcounted_he_chain_2hv , refcounted_he_free , refcounted_he_new

    IO Functions

    start_glob

    Magical Functions

    magic_clearhint , magic_sethint , mg_localize

    MRO Functions

    mro_get_linear_isa_dfs , mro_isa_changed_in

    Pad Data Structures

    CvPADLIST , cv_clone , cv_dump , do_dump_pad , intro_my , pad_add_anon , pad_add_name , pad_alloc , pad_block_start , pad_check_dup , pad_findlex , pad_findmy , pad_fixup_inner_anons , pad_free , pad_leavemy , pad_new , pad_push , pad_reset , pad_setsv , pad_swipe , pad_tidy , pad_undef

    Per-Interpreter Variables

    PL_DBsingle , PL_DBsub , PL_DBtrace , PL_dowarn , PL_last_in_gv , PL_ofs_sv , PL_rs

    Stack Manipulation Macros

    djSP , LVRET

    SV Manipulation Functions

    sv_add_arena , sv_clean_all , sv_clean_objs , sv_free_arenas

    SV-Body Allocation

    sv_2num

    Unicode Support

    find_uninit_var , report_uninit

    AUTHORS
    SEE ALSO

    perliol - C API for Perl's implementation of IO in Layers.

    SYNOPSIS
    DESCRIPTION
    History and Background
    Basic Structure
    Layers vs Disciplines
    Data Structures
    Functions and Attributes
    Per-instance Data
    Layers in action.
    Per-instance flag bits

    PERLIO_F_EOF, PERLIO_F_CANWRITE, PERLIO_F_CANREAD, PERLIO_F_ERROR, PERLIO_F_TRUNCATE, PERLIO_F_APPEND, PERLIO_F_CRLF, PERLIO_F_UTF8, PERLIO_F_UNBUF, PERLIO_F_WRBUF, PERLIO_F_RDBUF, PERLIO_F_LINEBUF, PERLIO_F_TEMP, PERLIO_F_OPEN, PERLIO_F_FASTGETS

    Methods in Detail

    fsize, name, size, kind, PERLIO_K_BUFFERED, PERLIO_K_RAW, PERLIO_K_CANCRLF, PERLIO_K_FASTGETS, PERLIO_K_MULTIARG, Pushed, Popped, Open, Binmode, Getarg, Fileno, Dup, Read, Write, Seek, Tell, Close, Flush, Fill, Eof, Error, Clearerr, Setlinebuf, Get_base, Get_bufsiz, Get_ptr, Get_cnt, Set_ptrcnt

    Utilities
    Implementing PerlIO Layers

    C implementations, Perl implementations

    Core Layers

    "unix", "perlio", "stdio", "crlf", "mmap", "pending", "raw", "utf8"

    Extension Layers

    ":encoding", ":scalar", ":via"

    TODO

    perlapio - perl's IO abstraction interface.

    SYNOPSIS
    DESCRIPTION

    1. USE_STDIO, 2. USE_SFIO, 3. USE_PERLIO, PerlIO_stdin(), PerlIO_stdout(), PerlIO_stderr(), PerlIO_open(path, mode), PerlIO_fdopen(fd,mode), PerlIO_reopen(path,mode,f), PerlIO_printf(f,fmt,...), PerlIO_vprintf(f,fmt,a), PerlIO_stdoutf(fmt,...), PerlIO_read(f,buf,count), PerlIO_write(f,buf,count), PerlIO_close(f), PerlIO_puts(f,s), PerlIO_putc(f,c), PerlIO_ungetc(f,c), PerlIO_getc(f), PerlIO_eof(f), PerlIO_error(f), PerlIO_fileno(f), PerlIO_clearerr(f), PerlIO_flush(f), PerlIO_seek(f,offset,whence), PerlIO_tell(f), PerlIO_getpos(f,p), PerlIO_setpos(f,p), PerlIO_rewind(f), PerlIO_tmpfile(), PerlIO_setlinebuf(f)

    Co-existence with stdio

    PerlIO_importFILE(f,mode), PerlIO_exportFILE(f,mode), PerlIO_releaseFILE(p,f), PerlIO_findFILE(f)

    "Fast gets" Functions

    PerlIO_fast_gets(f), PerlIO_has_cntptr(f), PerlIO_get_cnt(f), PerlIO_get_ptr(f), PerlIO_set_ptrcnt(f,p,c), PerlIO_canset_cnt(f), PerlIO_set_cnt(f,c), PerlIO_has_base(f), PerlIO_get_base(f), PerlIO_get_bufsiz(f)

    Other Functions

    PerlIO_apply_layers(f,mode,layers), PerlIO_binmode(f,ptype,imode,layers), '<' read, '>' write, '+' read/write, PerlIO_debug(fmt,...)

    perlhack - How to hack at the Perl internals

    DESCRIPTION

    Does concept match the general goals of Perl?, Where is the implementation?, Backwards compatibility, Could it be a module instead?, Is the feature generic enough?, Does it potentially introduce new bugs?, Does it preclude other desirable features?, Is the implementation robust?, Is the implementation generic enough to be portable?, Is the implementation tested?, Is there enough documentation?, Is there another way to do it?, Does it create too much work?, Patches speak louder than words

    Keeping in sync
    Perlbug administration
    Submitting patches

    the perlguts manpage, the perlxstut manpage and the perlxs manpage, the perlapi manpage, Porting/pumpkin.pod, The perl5-porters FAQ

    Finding Your Way Around

    Core modules, Tests, Documentation, Configure, Interpreter

    Elements of the interpreter

    Startup, Parsing, Optimization, Running, Exception handing

    Internal Variable Types
    Op Trees
    Stacks

    Argument stack, Mark stack, Save stack

    Millions of Macros
    The .i Targets
    SOURCE CODE STATIC ANALYSIS
    lint, splint
    Coverity
    cpd (cut-and-paste detector)
    gcc warnings
    Warnings of other C compilers
    DEBUGGING
    Poking at Perl
    Using a source-level debugger

    run [args], break function_name, break source.c:xxx, step, next, continue, finish, 'enter', print

    gdb macro support
    Dumping Perl Data Structures
    Patching
    Patching a core module
    Adding a new function to the core
    Writing a test

    t/base/, t/cmd/, t/comp/, t/io/, t/lib/, t/mro/, t/op/, t/pod/, t/run/, t/uni/, t/win32/, t/x2p, t/base t/comp, t/cmd t/run t/io t/op, t/lib ext lib

    Special Make Test Targets

    coretest, test.deparse, test.taintwarn, minitest, test.valgrind check.valgrind utest.valgrind ucheck.valgrind, test.third check.third utest.third ucheck.third, test.torture torturetest, utest ucheck test.utf8 check.utf8, minitest.utf16 test.utf16, test_harness, test-notty test_notty

    Running tests by hand

    -v, -torture, -re=PATTERN, -re LIST OF PATTERNS, PERL_CORE=1, PERL_DESTRUCT_LEVEL=2, PERL, PERL_SKIP_TTY_TEST, PERL_TEST_Net_Ping, PERL_TEST_NOVREXX, PERL_TEST_NUMCONVERTS

    Common problems when patching Perl source code
    Perl environment problems
    Portability problems
    Problematic System Interfaces
    Security problems
    EXTERNAL TOOLS FOR DEBUGGING PERL
    Rational Software's Purify
    Purify on Unix

    -Accflags=-DPURIFY, -Doptimize='-g', -Uusemymalloc, -Dusemultiplicity

    Purify on NT

    DEFINES, USE_MULTI = define, #PERL_MALLOC = define, CFG = Debug

    valgrind
    Compaq's/Digital's/HP's Third Degree
    PERL_DESTRUCT_LEVEL
    PERL_MEM_LOG
    Profiling
    Gprof Profiling

    -a, -b, -e routine, -f routine, -s, -z

    GCC gcov Profiling
    Pixie Profiling

    -h, -l, -p[rocedures], -h[eavy], -i[nvocations], -l[ines], -testcoverage, -z[ero]

    Miscellaneous tricks
    CONCLUSION

    The Road goes ever on and on, down from the door where it began.

    Metaphoric Quotations
    AUTHOR
    SEE ALSO

    perlrepository - Using the Perl source repository

    SYNOPSIS
    GETTING ACCESS TO THE REPOSITORY
    READ ACCESS VIA THE WEB
    READ ACCESS VIA GIT
    WRITE ACCESS TO THE REPOSITORY
    OVERVIEW OF THE REPOSITORY
    FINDING OUT YOUR STATUS
    SUBMITTING A PATCH
    A note on derived files
    A note on binary files
    Getting your patch accepted

    Comments, Comments, Comments, Style, Testsuite

    ACCEPTING A PATCH
    CLEANING A WORKING DIRECTORY
    BISECTING
    SUBMITTING A PATCH VIA GITHUB
    MERGING FROM A BRANCH VIA GITHUB
    COMMITTING TO MAINTENANCE VERSIONS
    SEE ALSO

    perlbook - Perl book information

    DESCRIPTION

    perlcommunity - a brief overview of the Perl community

    DESCRIPTION
    Where to find the community
    Mailing lists and Newsgroups
    IRC
    Websites

    http://perl.com/, http://use.perl.org/, http://www.perlmonks.org/

    User Groups
    Workshops
    Hackathons
    Conventions
    Calendar of Perl Events
    AUTHOR

    perltodo - Perl TO-DO List

    DESCRIPTION
    Tasks that only need Perl knowledge
    Remove macperl references from tests
    Remove duplication of test setup.
    POD -> HTML conversion in the core still sucks
    Make ExtUtils::ParseXS use strict;
    Parallel testing
    Make Schwern poorer
    Improve the coverage of the core tests
    test B
    A decent benchmark
    fix tainting bugs
    Dual life everything
    Bundle dual life modules in ext/
    POSIX memory footprint
    embed.pl/makedef.pl
    use strict; and AutoLoad
    profile installman
    Tasks that need a little sysadmin-type knowledge
    make HTML install work
    compressed man pages
    Add a code coverage target to the Makefile
    Make Config.pm cope with differences between built and installed perl
    linker specification files
    Cross-compile support
    roffitall
    Split "linker" from "compiler"

    cc (in cc.U), ld (in dlsrc.U)

    Configure Windows using PowerShell
    decouple -g and -DDEBUGGING
    Tasks that need a little C knowledge
    Weed out needless PERL_UNUSED_ARG
    Modernize the order of directories in @INC
    -Duse32bit*
    Profile Perl - am I hot or not?
    Allocate OPs from arenas
    Improve win32/wince.c
    Use secure CRT functions when building with VC8 on Win32
    Fix POSIX::access() and chdir() on Win32
    strcat(), strcpy(), strncat(), strncpy(), sprintf(), vsprintf()
    -D_FORTIFY_SOURCE=2, -fstack-protector
    Arenas for GPs? For MAGIC?
    Shared arenas
    Tasks that need a knowledge of XS
    Remove the use of SVs as temporaries in dump.c
    safely supporting POSIX SA_SIGINFO
    autovivification
    Unicode in Filenames
    Unicode in %ENV
    Unicode and glob()
    Unicode and lc/uc operators
    use less 'memory'
    Re-implement :unique in a way that is actually thread-safe
    Make tainting consistent
    readpipe(LIST)
    Audit the code for destruction ordering assumptions
    Extend PerlIO and PerlIO::Scalar
    -C on the #! line
    Duplicate logic in S_method_common() and Perl_gv_fetchmethod_autoload()
    Organize error messages
    Tasks that need a knowledge of the interpreter
    forbid labels with keyword names
    truncate() prototype
    decapsulation of smart match argument
    error reporting of [$a ; $b]
    lexicals used only once
    UTF-8 revamp
    Properly Unicode safe tokeniser and pads.
    state variable initialization in list context
    Implement $value ~~ 0 .. $range
    A does() built-in
    Tied filehandles and write() don't mix
    Propagate compilation hints to the debugger
    Attach/detach debugger from running program
    LVALUE functions for lists
    regexp optimiser optional
    delete &function
    /w regex modifier
    optional optimizer
    You WANT *how* many
    lexical aliases
    entersub XS vs Perl
    Self-ties
    Optimize away @_
    The yada yada yada operators
    Virtualize operating system access
    Investigate PADTMP hash pessimisation
    Store the current pad in the OP slab allocator
    repack the optree
    eliminate incorrect line numbers in warnings
    optimize tail-calls
    \N
    Big projects
    make ithreads more robust
    iCOW
    (?{...}) closures in regexps
    A re-entrant regexp engine
    Add class set operations to regexp engine
    Tasks for microperl
    make creating uconfig.sh automatic
    make creating Makefile.micro automatic
    do away with fork/exec/wait?
    some of the uconfig.sh really needs to be probed (using cc) in buildtime:

    perldoc - Look up Perl documentation in Pod format.

    SYNOPSIS
    DESCRIPTION
    OPTIONS

    -h, -v, -t, -u, -m module, -l, -F, -f perlfunc, -q perlfaq-search-regexp, -T, -d destination-filename, -o output-formatname, -M module-name, -w option:value or -w option, -X, -L language_code, PageName|ModuleName|ProgramName, -n some-formatter, -r, -i, -V

    SECURITY
    ENVIRONMENT
    SEE ALSO
    AUTHOR

    perlhist - the Perl history records

    DESCRIPTION
    INTRODUCTION
    THE KEEPERS OF THE PUMPKIN
    PUMPKIN?
    THE RECORDS
    SELECTED RELEASE SIZES
    SELECTED PATCH SIZES
    THE KEEPERS OF THE RECORDS

    perldelta - what is new for perl v5.10.1

    DESCRIPTION
    Incompatible Changes
    Switch statement changes

    flip-flop operators, defined-or operator

    Smart match changes
    Other incompatible changes
    Core Enhancements
    Unicode Character Database 5.1.0
    A proper interface for pluggable Method Resolution Orders
    The overloading pragma
    Parallel tests
    DTrace support
    Support for configure_requires in CPAN module metadata
    Modules and Pragmata
    New Modules and Pragmata

    autodie, Compress::Raw::Bzip2, parent, Parse::CPAN::Meta

    Pragmata Changes

    attributes, attrs, base, bigint, bignum, bigrat, charnames, constant, feature, fields, lib, open, overload, overloading, version

    Updated Modules

    Archive::Extract, Archive::Tar, Attribute::Handlers, AutoLoader, AutoSplit, B, B::Debug, B::Deparse, B::Lint, B::Xref, Benchmark, Carp, CGI, Compress::Zlib, CPAN, CPANPLUS, CPANPLUS::Dist::Build, Cwd, Data::Dumper, DB, DB_File, Devel::PPPort, Digest::MD5, Digest::SHA, DirHandle, Dumpvalue, DynaLoader, Encode, Errno, Exporter, ExtUtils::CBuilder, ExtUtils::Command, ExtUtils::Constant, ExtUtils::Embed, ExtUtils::Install, ExtUtils::MakeMaker, ExtUtils::Manifest, ExtUtils::ParseXS, Fatal, File::Basename, File::Compare, File::Copy, File::Fetch, File::Find, File::Path, File::Spec, File::stat, File::Temp, FileCache, FileHandle, Filter::Simple, Filter::Util::Call, FindBin, GDBM_File, Getopt::Long, Hash::Util::FieldHash, I18N::Collate, IO, IO::Compress::*, IO::Dir, IO::Handle, IO::Socket, IO::Zlib, IPC::Cmd, IPC::Open3, IPC::SysV, lib, List::Util, Locale::MakeText, Log::Message, Math::BigFloat, Math::BigInt, Math::BigInt::FastCalc, Math::BigRat, Math::Complex, Math::Trig, Memoize, Module::Build, Module::CoreList, Module::Load, Module::Load::Conditional, Module::Loaded, Module::Pluggable, NDBM_File, Net::Ping, NEXT, Object::Accessor, OS2::REXX, Package::Constants, PerlIO, PerlIO::via, Pod::Man, Pod::Parser, Pod::Simple, Pod::Text, POSIX, Safe, Scalar::Util, SelectSaver, SelfLoader, Socket, Storable, Switch, Symbol, Sys::Syslog, Term::ANSIColor, Term::ReadLine, Term::UI, Test::Harness, Test::Simple, Text::ParseWords, Text::Tabs, Text::Wrap, Thread::Queue, Thread::Semaphore, threads, threads::shared, Tie::RefHash, Tie::StdHandle, Time::HiRes, Time::Local, Time::Piece, Unicode::Normalize, Unicode::UCD, UNIVERSAL, Win32, Win32API::File, XSLoader

    Utility Changes

    h2ph, h2xs, perl5db.pl, perlthanks

    New Documentation

    the perlhaiku manpage, the perlmroapi manpage, the perlperf manpage, the perlrepository manpage, perlthanks

    Changes to Existing Documentation
    Performance Enhancements
    Installation and Configuration Improvements
    ext/ reorganisation
    Configuration improvements
    Compilation improvements
    Platform Specific Changes

    AIX, Cygwin, FreeBSD, Irix, Haiku, MirOS BSD, NetBSD, Stratus VOS, Symbian, Win32, VMS

    Selected Bug Fixes
    New or Changed Diagnostics

    panic: sv_chop %s, Can't locate package %s for the parents of %s, v-string in use/require is non-portable, Deep recursion on subroutine "%s"

    Changed Internals

    SVf_UTF8, SVs_TEMP

    New Tests

    t/comp/retainedlines.t, t/io/perlio_fail.t, t/io/perlio_leaks.t, t/io/perlio_open.t, t/io/perlio.t, t/io/pvbm.t, t/mro/package_aliases.t, t/op/dbm.t, t/op/index_thr.t, t/op/pat_thr.t, t/op/qr_gc.t, t/op/reg_email_thr.t, t/op/regexp_qr_embed_thr.t, t/op/regexp_unicode_prop.t, t/op/regexp_unicode_prop_thr.t, t/op/reg_nc_tie.t, t/op/reg_posixcc.t, t/op/re.t, t/op/setpgrpstack.t, t/op/substr_thr.t, t/op/upgrade.t, t/uni/lex_utf8.t, t/uni/tie.t

    Known Problems
    Deprecations
    Acknowledgements
    Reporting Bugs
    SEE ALSO

    perl5101delta, perldelta - what is new for perl v5.10.1

    DESCRIPTION
    Incompatible Changes
    Switch statement changes

    flip-flop operators, defined-or operator

    Smart match changes
    Other incompatible changes
    Core Enhancements
    Unicode Character Database 5.1.0
    A proper interface for pluggable Method Resolution Orders
    The overloading pragma
    Parallel tests
    DTrace support
    Support for configure_requires in CPAN module metadata
    Modules and Pragmata
    New Modules and Pragmata

    autodie, Compress::Raw::Bzip2, parent, Parse::CPAN::Meta

    Pragmata Changes

    attributes, attrs, base, bigint, bignum, bigrat, charnames, constant, feature, fields, lib, open, overload, overloading, version

    Updated Modules

    Archive::Extract, Archive::Tar, Attribute::Handlers, AutoLoader, AutoSplit, B, B::Debug, B::Deparse, B::Lint, B::Xref, Benchmark, Carp, CGI, Compress::Zlib, CPAN, CPANPLUS, CPANPLUS::Dist::Build, Cwd, Data::Dumper, DB, DB_File, Devel::PPPort, Digest::MD5, Digest::SHA, DirHandle, Dumpvalue, DynaLoader, Encode, Errno, Exporter, ExtUtils::CBuilder, ExtUtils::Command, ExtUtils::Constant, ExtUtils::Embed, ExtUtils::Install, ExtUtils::MakeMaker, ExtUtils::Manifest, ExtUtils::ParseXS, Fatal, File::Basename, File::Compare, File::Copy, File::Fetch, File::Find, File::Path, File::Spec, File::stat, File::Temp, FileCache, FileHandle, Filter::Simple, Filter::Util::Call, FindBin, GDBM_File, Getopt::Long, Hash::Util::FieldHash, I18N::Collate, IO, IO::Compress::*, IO::Dir, IO::Handle, IO::Socket, IO::Zlib, IPC::Cmd, IPC::Open3, IPC::SysV, lib, List::Util, Locale::MakeText, Log::Message, Math::BigFloat, Math::BigInt, Math::BigInt::FastCalc, Math::BigRat, Math::Complex, Math::Trig, Memoize, Module::Build, Module::CoreList, Module::Load, Module::Load::Conditional, Module::Loaded, Module::Pluggable, NDBM_File, Net::Ping, NEXT, Object::Accessor, OS2::REXX, Package::Constants, PerlIO, PerlIO::via, Pod::Man, Pod::Parser, Pod::Simple, Pod::Text, POSIX, Safe, Scalar::Util, SelectSaver, SelfLoader, Socket, Storable, Switch, Symbol, Sys::Syslog, Term::ANSIColor, Term::ReadLine, Term::UI, Test::Harness, Test::Simple, Text::ParseWords, Text::Tabs, Text::Wrap, Thread::Queue, Thread::Semaphore, threads, threads::shared, Tie::RefHash, Tie::StdHandle, Time::HiRes, Time::Local, Time::Piece, Unicode::Normalize, Unicode::UCD, UNIVERSAL, Win32, Win32API::File, XSLoader

    Utility Changes

    h2ph, h2xs, perl5db.pl, perlthanks

    New Documentation

    the perlhaiku manpage, the perlmroapi manpage, the perlperf manpage, the perlrepository manpage, perlthanks

    Changes to Existing Documentation
    Performance Enhancements
    Installation and Configuration Improvements
    ext/ reorganisation
    Configuration improvements
    Compilation improvements
    Platform Specific Changes

    AIX, Cygwin, FreeBSD, Irix, Haiku, MirOS BSD, NetBSD, Stratus VOS, Symbian, Win32, VMS

    Selected Bug Fixes
    New or Changed Diagnostics

    panic: sv_chop %s, Can't locate package %s for the parents of %s, v-string in use/require is non-portable, Deep recursion on subroutine "%s"

    Changed Internals

    SVf_UTF8, SVs_TEMP

    New Tests

    t/comp/retainedlines.t, t/io/perlio_fail.t, t/io/perlio_leaks.t, t/io/perlio_open.t, t/io/perlio.t, t/io/pvbm.t, t/mro/package_aliases.t, t/op/dbm.t, t/op/index_thr.t, t/op/pat_thr.t, t/op/qr_gc.t, t/op/reg_email_thr.t, t/op/regexp_qr_embed_thr.t, t/op/regexp_unicode_prop.t, t/op/regexp_unicode_prop_thr.t, t/op/reg_nc_tie.t, t/op/reg_posixcc.t, t/op/re.t, t/op/setpgrpstack.t, t/op/substr_thr.t, t/op/upgrade.t, t/uni/lex_utf8.t, t/uni/tie.t

    Known Problems
    Deprecations
    Acknowledgements
    Reporting Bugs
    SEE ALSO

    perl5100delta - what is new for perl 5.10.0

    DESCRIPTION
    Core Enhancements
    The feature pragma
    New -E command-line switch
    Defined-or operator
    Switch and Smart Match operator
    Regular expressions

    Recursive Patterns, Named Capture Buffers, Possessive Quantifiers, Backtracking control verbs, Relative backreferences, \K escape, Vertical and horizontal whitespace, and linebreak

    say()
    Lexical $_
    The _ prototype
    UNITCHECK blocks
    New Pragma, mro
    readdir() may return a "short filename" on Windows
    readpipe() is now overridable
    Default argument for readline()
    state() variables
    Stacked filetest operators
    UNIVERSAL::DOES()
    Formats
    Byte-order modifiers for pack() and unpack()
    no VERSION
    chdir, chmod and chown on filehandles
    OS groups
    Recursive sort subs
    Exceptions in constant folding
    Source filters in @INC
    New internal variables

    ${^RE_DEBUG_FLAGS}, ${^CHILD_ERROR_NATIVE}, ${^RE_TRIE_MAXBUF}, ${^WIN32_SLOPPY_STAT}

    Miscellaneous
    UCD 5.0.0
    MAD
    kill() on Windows
    Incompatible Changes
    Packing and UTF-8 strings
    Byte/character count feature in unpack()
    The $* and $# variables have been removed
    substr() lvalues are no longer fixed-length
    Parsing of -f _
    :unique
    Effect of pragmas in eval
    chdir FOO
    Handling of .pmc files
    $^V is now a version object instead of a v-string
    @- and @+ in patterns
    $AUTOLOAD can now be tainted
    Tainting and printf
    undef and signal handlers
    strictures and dereferencing in defined()
    (?p{}) has been removed
    Pseudo-hashes have been removed
    Removal of the bytecode compiler and of perlcc
    Removal of the JPL
    Recursive inheritance detected earlier
    Modules and Pragmata
    Upgrading individual core modules
    Pragmata Changes

    feature, mro, Scoping of the sort pragma, Scoping of bignum, bigint, bigrat, base, strict and warnings, version, warnings, less

    New modules
    Selected Changes to Core Modules

    Attribute::Handlers, B::Lint, B, Thread

    Utility Changes

    perl -d, ptar, ptardiff, shasum, corelist, h2ph and h2xs, perlivp, find2perl, config_data, cpanp, cpan2dist, pod2html

    New Documentation
    Performance Enhancements
    In-place sorting
    Lexical array access
    XS-assisted SWASHGET
    Constant subroutines
    PERL_DONT_CREATE_GVSV
    Weak references are cheaper
    sort() enhancements
    Memory optimisations
    UTF-8 cache optimisation
    Sloppy stat on Windows
    Regular expressions optimisations

    Engine de-recursivised, Single char char-classes treated as literals, Trie optimisation of literal string alternations, Aho-Corasick start-point optimisation

    Installation and Configuration Improvements
    Configuration improvements

    -Dusesitecustomize, Relocatable installations, strlcat() and strlcpy(), d_pseudofork and d_printf_format_null, Configure help

    Compilation improvements

    Parallel build, Borland's compilers support, Static build on Windows, ppport.h files, C++ compatibility, Support for Microsoft 64-bit compiler, Visual C++, Win32 builds

    Installation improvements

    Module auxiliary files

    New Or Improved Platforms
    Selected Bug Fixes

    strictures in regexp-eval blocks, Calling CORE::require(), Subscripts of slices, no warnings 'category' works correctly with -w, threads improvements, chr() and negative values, PERL5SHELL and tainting, Using *FILE{IO}, Overloading and reblessing, Overloading and UTF-8, eval memory leaks fixed, Random device on Windows, PERLIO_DEBUG, PerlIO::scalar and read-only scalars, study() and UTF-8, Critical signals, @INC-hook fix, -t switch fix, Duping UTF-8 filehandles, Localisation of hash elements

    New or Changed Diagnostics

    Use of uninitialized value, Deprecated use of my() in false conditional, !=~ should be !~, Newline in left-justified string, Too late for "-T" option, "%s" variable %s masks earlier declaration, readdir()/closedir()/etc. attempted on invalid dirhandle, Opening dirhandle/filehandle %s also as a file/directory, Use of -P is deprecated, v-string in use/require is non-portable, perl -V

    Changed Internals
    Reordering of SVt_* constants
    Elimination of SVt_PVBM
    New type SVt_BIND
    Removal of CPP symbols
    Less space is used by ops
    New parser
    Use of const
    Mathoms
    AvFLAGS has been removed
    av_* changes
    $^H and %^H
    B:: modules inheritance changed
    Anonymous hash and array constructors
    Known Problems
    UTF-8 problems
    Platform Specific Problems
    Reporting Bugs
    SEE ALSO

    perl595delta - what is new for perl v5.9.5

    DESCRIPTION
    Incompatible Changes
    Tainting and printf
    undef and signal handlers
    strictures and array/hash dereferencing in defined()
    (?p{}) has been removed
    Pseudo-hashes have been removed
    Removal of the bytecode compiler and of perlcc
    Removal of the JPL
    Recursive inheritance detected earlier
    Core Enhancements
    Regular expressions

    Recursive Patterns, Named Capture Buffers, Possessive Quantifiers, Backtracking control verbs, Relative backreferences, \K escape, Vertical and horizontal whitespace, and linebreak

    The _ prototype
    UNITCHECK blocks
    readpipe() is now overridable
    default argument for readline()
    UCD 5.0.0
    Smart match
    Implicit loading of feature
    Modules and Pragmas
    New Pragma, mro
    bignum, bigint, bigrat
    Math::BigInt/Math::BigFloat

    config(), import(), roundmode common, bpi(), bcos(), bsin(), batan(), batan2(), bmuladd(), bexp(), bnok(), from_hex(), from_oct(), and from_bin(), as_oct()

    New Core Modules
    Module changes

    assertions, base, strict and warnings, warnings, less, Attribute::Handlers, B::Lint, B, Thread

    Utility Changes
    cpanp
    cpan2dist
    pod2html
    Documentation
    New manpage, perlunifaq
    Installation and Configuration Improvements
    C++ compatibility
    Visual C++
    Static build on Win32
    win32 builds
    d_pseudofork and d_printf_format_null
    Help
  • bit systems
  • Ports
    Selected Bug Fixes
    New or Changed Diagnostics
    Deprecations
    Changed Internals
    Reporting Bugs
    SEE ALSO

    perl594delta - what is new for perl v5.9.4

    DESCRIPTION
    Incompatible Changes
    chdir FOO
    Handling of pmc files
    @- and @+ in patterns
    $AUTOLOAD can now be tainted
    Core Enhancements
    state() variables
    UNIVERSAL::DOES()
    Exceptions in constant folding
    Source filters in @INC
    MAD
    Modules and Pragmas
    New Core Modules
    Utility Changes
    config_data
    Documentation
    New manpage, perlpragma
    New manpage, perlreguts
    New manpage, perlunitut
    Performance Enhancements
    Memory optimisations
    UTF-8 cache optimisation
    Regular expressions

    Engine de-recursivised, Single char char-classes treated as literals, Trie optimisation of literal string alternations, Aho-Corasick start-point optimisation

    Sloppy stat on Windows
    Installation and Configuration Improvements
    Relocatable installations
    Ports
    Compilation improvements
    New probes
    Windows build improvements

    Building XS extensions, Support for 64-bit compiler

    Selected Bug Fixes
    PERL5SHELL and tainting
    Using *FILE{IO}
    Overloading and reblessing
    Overloading and UTF-8
    eval memory leaks fixed
    Random device on Windows
    New or Changed Diagnostics

    State variable %s will be reinitialized

    Changed Internals
    Known Problems
    Reporting Bugs
    SEE ALSO

    perl593delta - what is new for perl v5.9.3

    DESCRIPTION
    Incompatible Changes
    Parsing of -f _
    mkdir()
    Magic goto and eval
    $# has been removed
    :unique
    Scoping of the sort pragma
    Core Enhancements
    The feature pragma
    Switch and Smart Match operator
    say()
    CLONE_SKIP()
    ${^CHILD_ERROR_NATIVE}
    Assertions
    Unicode Character Database 4.1.0
    no VERSION
    Recursive sort subs
    Effect of pragmas in eval
    New -E command-line switch
    chdir, chmod and chown on filehandles
    OS groups
    Modules and Pragmata
    New Core Modules
    Utility Changes
    ptar
    ptardiff
    shasum
    h2xs enhancements
    perlivp enhancements
    Documentation
    Perl Glossary
    Performance Enhancements
    XS-assisted SWASHGET
    Constant subroutines
    PERL_DONT_CREATE_GVSV
    Weak references are cheaper
    sort() enhancements
    Installation and Configuration Improvements
    Compilation improvements
    New Or Improved Platforms
    New probes
    Module auxiliary files
    Selected Bug Fixes
    defined $$x
    Calling CORE::require()
    Subscripts of slices
    Remove over-optimisation
    sprintf() fixes
    no warnings 'category' works correctly with -w
    Smaller fixes
    More Unicode Fixes
    New or Changed Diagnostics
    Attempt to set length of freed array
    Non-string passed as bitmask
    Search pattern not terminated or ternary operator parsed as search pattern
    "%s" variable %s masks earlier declaration
    readdir()/closedir()/etc. attempted on invalid dirhandle
    Changed Internals
    B:: modules inheritance changed
    Reporting Bugs
    SEE ALSO

    perl592delta - what is new for perl v5.9.2

    DESCRIPTION
    Incompatible Changes
    Packing and UTF-8 strings
    Miscellaneous
    Core Enhancements
    Malloc wrapping
    Unicode Character Database 4.0.1
    suidperl less insecure
    PERLIO_DEBUG
    Formats
    Unicode Character Classes
    Byte-order modifiers for pack() and unpack()
    Byte count feature in pack()
    New variables
    Modules and Pragmata
    New modules
    Updated And Improved Modules and Pragmata

    B::Concise, Socket, Sys::Syslog, threads

    Utility Changes
    Performance Enhancements
    Installation and Configuration Improvements
    Selected Bug Fixes
    New or Changed Diagnostics
    Changed Internals
    Known Problems
    Plans for the next release
    Reporting Bugs
    SEE ALSO

    perl591delta - what is new for perl v5.9.1

    DESCRIPTION
    Incompatible Changes
    substr() lvalues are no longer fixed-length
    The :unique attribute is only meaningful for globals
    Core Enhancements
    Lexical $_
    Tied hashes in scalar context
    Formats
    Stacked filetest operators
    Modules and Pragmata

    Benchmark, Carp, Exporter, FindBin, List::Util, threads::shared

    Utility Changes
    Documentation
    Performance Enhancements
    Selected Bug Fixes
    UTF-8 bugs
    Threading bugs
    More bugs
    New or Changed Diagnostics
    Changed Internals
    Reordering of SVt_* constants
    Removal of CPP symbols
    Less space is used by ops
    New parser
    Configuration and Building
    Known Problems
    Platform Specific Problems
    To-do for perl 5.10.0
    Reporting Bugs
    SEE ALSO

    perl590delta - what is new for perl v5.9.0

    DESCRIPTION
    Incompatible Changes
    Hash Randomisation
    UTF-8 On Filehandles No Longer Activated By Locale
    Single-number v-strings are no longer v-strings before "=>"
    (Win32) The -C Switch Has Been Repurposed
    (Win32) The /d Switch Of cmd.exe
    The $* variable has been removed
    Core Enhancements
    Assertions
    Defined-or operators
    UTF-8 no longer default under UTF-8 locales
    Unsafe signals again available
    Tied Arrays with Negative Array Indices
    local ${$x}
    Unicode Character Database 4.0.0
    Miscellaneous Enhancements
    Modules and Pragmata
    Updated Modules And Pragmata

    base, B::Bytecode, B::Concise, B::Deparse, Benchmark, ByteLoader, bytes, CGI, charnames, CPAN, Data::Dumper, DB_File, Devel::PPPort, Digest::MD5, Encode, fields, libnet, Math::BigInt, MIME::Base64, NEXT, Net::Ping, PerlIO::scalar, podlators, Pod::LaTeX, PodParsers, Pod::Perldoc, Scalar::Util, Storable, strict, Term::ANSIcolor, Test::Harness, Test::More, Test::Simple, Text::Balanced, Time::HiRes, threads, threads::shared, Unicode::Collate, Unicode::Normalize, Win32::GetFolderPath, Win32::GetOSVersion

    Utility Changes
    New Documentation
    Installation and Configuration Improvements
    Platform-specific enhancements
    Selected Bug Fixes
    Closures, eval and lexicals
    Generic fixes
    Platform-specific fixes
    New or Changed Diagnostics
    Changed "A thread exited while %d threads were running"
    Removed "Attempt to clear a restricted hash"
    New "Illegal declaration of anonymous subroutine"
    Changed "Invalid range "%s" in transliteration operator"
    New "Missing control char name in \c"
    New "Newline in left-justified string for %s"
    New "Possible precedence problem on bitwise %c operator"
    New "read() on %s filehandle %s"
    New "Tied variable freed while still in use"
    New "To%s: illegal mapping '%s'"
    New "Use of freed value in iteration"
    Changed Internals
    New Tests
    Known Problems
    Tied hashes in scalar context
    Net::Ping 450_service and 510_ping_udp failures
    B::C
    Platform Specific Problems
    EBCDIC Platforms
    Cygwin 1.5 problems
    HP-UX: HP cc warnings about sendfile and sendpath
    IRIX: t/uni/tr_7jis.t falsely failing
    Mac OS X: no usemymalloc
    Tru64: No threaded builds with GNU cc (gcc)
    Win32: sysopen, sysread, syswrite
    TODO
    Reporting Bugs
    SEE ALSO

    perl588delta - what is new for perl v5.8.8

    DESCRIPTION
    Incompatible Changes
    Core Enhancements
    Modules and Pragmata
    Utility Changes
    h2xs enhancements
    perlivp enhancements
    New Documentation
    Performance Enhancements
    Installation and Configuration Improvements
    Selected Bug Fixes
    no warnings 'category' works correctly with -w
    Remove over-optimisation
    sprintf() fixes
    Debugger and Unicode slowdown
    Smaller fixes
    New or Changed Diagnostics
    Attempt to set length of freed array
    Non-string passed as bitmask
    Search pattern not terminated or ternary operator parsed as search pattern
    Changed Internals
    Platform Specific Problems
    Reporting Bugs
    SEE ALSO

    perl589delta - what is new for perl v5.8.9

    DESCRIPTION
    Notice
    Incompatible Changes
    Core Enhancements
    Unicode Character Database 5.1.0.
    stat and -X on directory handles
    Source filters in @INC
    Exceptions in constant folding
    no VERSION
    Improved internal UTF-8 caching code
    Runtime relocatable installations
    New internal variables

    ${^CHILD_ERROR_NATIVE}, ${^UTF8CACHE}

    readpipe is now overridable
    simple exception handling macros
    -D option enhancements
    XS-assisted SWASHGET
    Constant subroutines
    New Platforms
    Modules and Pragmata
    New Modules
    Updated Modules
    Utility Changes
    debugger upgraded to version 1.31
    perlthanks
    perlbug
    h2xs
    h2ph
    New Documentation
    Changes to Existing Documentation
    Performance Enhancements
    Installation and Configuration Improvements
    Relocatable installations
    Configuration improvements
    Compilation improvements
    Installation improvements.
    Platform Specific Changes
    Selected Bug Fixes
    Unicode
    PerlIO
    Magic
    Reblessing overloaded objects now works
    strict now propagates correctly into string evals
    Other fixes
    Platform Specific Fixes
    Smaller fixes
    New or Changed Diagnostics
    panic: sv_chop %s
    Maximal count of pending signals (%s) exceeded
    panic: attempt to call %s in %s
    FETCHSIZE returned a negative value
    Can't upgrade %s (%d) to %d
    %s argument is not a HASH or ARRAY element or a subroutine
    Cannot make the non-overridable builtin %s fatal
    Unrecognized character '%s' in column %d
    Offset outside string
    Invalid escape in the specified encoding in regexp; marked by <-- HERE in m/%s/
    Your machine doesn't support dump/undump.
    Changed Internals
    Macro cleanups
    New Tests

    ext/DynaLoader/t/DynaLoader.t, t/comp/fold.t, t/io/pvbm.t, t/lib/proxy_constant_subs.t, t/op/attrhand.t, t/op/dbm.t, t/op/inccode-tie.t, t/op/incfilter.t, t/op/kill0.t, t/op/qrstack.t, t/op/qr.t, t/op/regexp_qr_embed.t, t/op/regexp_qr.t, t/op/rxcode.t, t/op/studytied.t, t/op/substT.t, t/op/symbolcache.t, t/op/upgrade.t, t/mro/package_aliases.t, t/pod/twice.t, t/run/cloexec.t, t/uni/cache.t, t/uni/chr.t, t/uni/greek.t, t/uni/latin2.t, t/uni/overload.t, t/uni/tie.t

    Known Problems
    Platform Specific Notes
    Win32
    OS/2
    VMS
    Obituary
    Acknowledgements
    Reporting Bugs
    SEE ALSO

    perl587delta - what is new for perl v5.8.7

    DESCRIPTION
    Incompatible Changes
    Core Enhancements
    Unicode Character Database 4.1.0
    suidperl less insecure
    Optional site customization script
    Config.pm is now much smaller.
    Modules and Pragmata
    Utility Changes
    find2perl enhancements
    Performance Enhancements
    Installation and Configuration Improvements
    Selected Bug Fixes
    New or Changed Diagnostics
    Changed Internals
    Known Problems
    Platform Specific Problems
    Reporting Bugs
    SEE ALSO

    perl586delta - what is new for perl v5.8.6

    DESCRIPTION
    Incompatible Changes
    Core Enhancements
    Modules and Pragmata
    Utility Changes
    Performance Enhancements
    Selected Bug Fixes
    New or Changed Diagnostics
    Changed Internals
    New Tests
    Reporting Bugs
    SEE ALSO

    perl585delta - what is new for perl v5.8.5

    DESCRIPTION
    Incompatible Changes
    Core Enhancements
    Modules and Pragmata
    Utility Changes
    Perl's debugger
    h2ph
    Installation and Configuration Improvements
    Selected Bug Fixes
    New or Changed Diagnostics
    Changed Internals
    Known Problems
    Platform Specific Problems
    Reporting Bugs
    SEE ALSO

    perl584delta - what is new for perl v5.8.4

    DESCRIPTION
    Incompatible Changes
    Core Enhancements
    Malloc wrapping
    Unicode Character Database 4.0.1
    suidperl less insecure
    format
    Modules and Pragmata
    Updated modules

    Attribute::Handlers, B, Benchmark, CGI, Carp, Cwd, Exporter, File::Find, IO, IPC::Open3, Local::Maketext, Math::BigFloat, Math::BigInt, Math::BigRat, MIME::Base64, ODBM_File, POSIX, Shell, Socket, Storable, Switch, Sys::Syslog, Term::ANSIColor, Time::HiRes, Unicode::UCD, Win32, base, open, threads, utf8

    Performance Enhancements
    Utility Changes
    Installation and Configuration Improvements
    Selected Bug Fixes
    New or Changed Diagnostics
    Changed Internals
    Future Directions
    Platform Specific Problems
    Reporting Bugs
    SEE ALSO

    perl583delta - what is new for perl v5.8.3

    DESCRIPTION
    Incompatible Changes
    Core Enhancements
    Modules and Pragmata

    CGI, Cwd, Digest, Digest::MD5, Encode, File::Spec, FindBin, List::Util, Math::BigInt, PodParser, Pod::Perldoc, POSIX, Unicode::Collate, Unicode::Normalize, Test::Harness, threads::shared

    Utility Changes
    New Documentation
    Installation and Configuration Improvements
    Selected Bug Fixes
    New or Changed Diagnostics
    Changed Internals
    Configuration and Building
    Platform Specific Problems
    Known Problems
    Future Directions
    Obituary
    Reporting Bugs
    SEE ALSO

    perl582delta - what is new for perl v5.8.2

    DESCRIPTION
    Incompatible Changes
    Core Enhancements
    Hash Randomisation
    Threading
    Modules and Pragmata
    Updated Modules And Pragmata

    Devel::PPPort, Digest::MD5, I18N::LangTags, libnet, MIME::Base64, Pod::Perldoc, strict, Tie::Hash, Time::HiRes, Unicode::Collate, Unicode::Normalize, UNIVERSAL

    Selected Bug Fixes
    Changed Internals
    Platform Specific Problems
    Future Directions
    Reporting Bugs
    SEE ALSO

    perl581delta - what is new for perl v5.8.1

    DESCRIPTION
    Incompatible Changes
    Hash Randomisation
    UTF-8 On Filehandles No Longer Activated By Locale
    Single-number v-strings are no longer v-strings before "=>"
    (Win32) The -C Switch Has Been Repurposed
    (Win32) The /d Switch Of cmd.exe
    Core Enhancements
    UTF-8 no longer default under UTF-8 locales
    Unsafe signals again available
    Tied Arrays with Negative Array Indices
    local ${$x}
    Unicode Character Database 4.0.0
    Deprecation Warnings
    Miscellaneous Enhancements
    Modules and Pragmata
    Updated Modules And Pragmata

    base, B::Bytecode, B::Concise, B::Deparse, Benchmark, ByteLoader, bytes, CGI, charnames, CPAN, Data::Dumper, DB_File, Devel::PPPort, Digest::MD5, Encode, fields, libnet, Math::BigInt, MIME::Base64, NEXT, Net::Ping, PerlIO::scalar, podlators, Pod::LaTeX, PodParsers, Pod::Perldoc, Scalar::Util, Storable, strict, Term::ANSIcolor, Test::Harness, Test::More, Test::Simple, Text::Balanced, Time::HiRes, threads, threads::shared, Unicode::Collate, Unicode::Normalize, Win32::GetFolderPath, Win32::GetOSVersion

    Utility Changes
    New Documentation
    Installation and Configuration Improvements
    Platform-specific enhancements
    Selected Bug Fixes
    Closures, eval and lexicals
    Generic fixes
    Platform-specific fixes
    New or Changed Diagnostics
    Changed "A thread exited while %d threads were running"
    Removed "Attempt to clear a restricted hash"
    New "Illegal declaration of anonymous subroutine"
    Changed "Invalid range "%s" in transliteration operator"
    New "Missing control char name in \c"
    New "Newline in left-justified string for %s"
    New "Possible precedence problem on bitwise %c operator"
    New "Pseudo-hashes are deprecated"
    New "read() on %s filehandle %s"
    New "5.005 threads are deprecated"
    New "Tied variable freed while still in use"
    New "To%s: illegal mapping '%s'"
    New "Use of freed value in iteration"
    Changed Internals
    New Tests
    Known Problems
    Tied hashes in scalar context
    Net::Ping 450_service and 510_ping_udp failures
    B::C
    Platform Specific Problems
    EBCDIC Platforms
    Cygwin 1.5 problems
    HP-UX: HP cc warnings about sendfile and sendpath
    IRIX: t/uni/tr_7jis.t falsely failing
    Mac OS X: no usemymalloc
    Tru64: No threaded builds with GNU cc (gcc)
    Win32: sysopen, sysread, syswrite
    Future Directions
    Reporting Bugs
    SEE ALSO

    perl58delta - what is new for perl v5.8.0

    DESCRIPTION
    Highlights In 5.8.0
    Incompatible Changes
    Binary Incompatibility
  • -bit platforms and malloc
  • AIX Dynaloading
    Attributes for my variables now handled at run-time
    Socket Extension Dynamic in VMS
    IEEE-format Floating Point Default on OpenVMS Alpha
    New Unicode Semantics (no more use utf8, almost)
    New Unicode Properties
    REF(...) Instead Of SCALAR(...)
    pack/unpack D/F recycled
    glob() now returns filenames in alphabetical order
    Deprecations
    Core Enhancements
    Unicode Overhaul
    PerlIO is Now The Default
    ithreads
    Restricted Hashes
    Safe Signals
    Understanding of Numbers
    Arrays now always interpolate into double-quoted strings [561]
    Miscellaneous Changes
    Modules and Pragmata
    New Modules and Pragmata
    Updated And Improved Modules and Pragmata
    Utility Changes
    New Documentation
    Performance Enhancements
    Installation and Configuration Improvements
    Generic Improvements
    New Or Improved Platforms
    Selected Bug Fixes
    Platform Specific Changes and Fixes
    New or Changed Diagnostics
    Changed Internals
    Security Vulnerability Closed [561]
    New Tests
    Known Problems
    The Compiler Suite Is Still Very Experimental
    Localising Tied Arrays and Hashes Is Broken
    Building Extensions Can Fail Because Of Largefiles
    Modifying $_ Inside for(..)
    mod_perl 1.26 Doesn't Build With Threaded Perl
    lib/ftmp-security tests warn 'system possibly insecure'
    libwww-perl (LWP) fails base/date #51
    PDL failing some tests
    Perl_get_sv
    Self-tying Problems
    ext/threads/t/libc
    Failure of Thread (5.005-style) tests
    Timing problems
    Tied/Magical Array/Hash Elements Do Not Autovivify
    Unicode in package/class and subroutine names does not work
    Platform Specific Problems
    AIX
    Alpha systems with old gccs fail several tests
    AmigaOS
    BeOS
    Cygwin "unable to remap"
    Cygwin ndbm tests fail on FAT
    DJGPP Failures
    FreeBSD built with ithreads coredumps reading large directories
    FreeBSD Failing locale Test 117 For ISO 8859-15 Locales
    IRIX fails ext/List/Util/t/shuffle.t or Digest::MD5
    HP-UX lib/posix Subtest 9 Fails When LP64-Configured
    Linux with glibc 2.2.5 fails t/op/int subtest #6 with -Duse64bitint
    Linux With Sfio Fails op/misc Test 48
    Mac OS X
    Mac OS X dyld undefined symbols
    OS/2 Test Failures
    op/sprintf tests 91, 129, and 130
    SCO
    Solaris 2.5
    Solaris x86 Fails Tests With -Duse64bitint
    SUPER-UX (NEC SX)
    Term::ReadKey not working on Win32
    UNICOS/mk
    UTS
    VOS (Stratus)
    VMS
    Win32
    XML::Parser not working
    z/OS (OS/390)
    Unicode Support on EBCDIC Still Spotty
    Seen In Perl 5.7 But Gone Now
    Reporting Bugs
    SEE ALSO
    HISTORY

    perl573delta - what's new for perl v5.7.3

    DESCRIPTION
    Changes
    Reporting Bugs
    SEE ALSO
    HISTORY

    perl572delta - what's new for perl v5.7.2

    DESCRIPTION
    Security Vulnerability Closed
    Incompatible Changes
    1. -bit platforms and malloc
    AIX Dynaloading
    Socket Extension Dynamic in VMS
    Different Definition of the Unicode Character Classes \p{In...}
    Deprecations
    Core Enhancements
    Modules and Pragmata
    New Modules and Distributions
    Updated And Improved Modules and Pragmata
    Utility Changes
    New Documentation
    Installation and Configuration Improvements
    New Or Improved Platforms
    Generic Improvements
    Selected Bug Fixes
    Platform Specific Changes and Fixes
    New or Changed Diagnostics
    Source Code Enhancements
    MAGIC constants
    Better commented code
    Regex pre-/post-compilation items matched up
    gcc -Wall
    New Tests