You are viewing the version of this documentation from Perl 5.8.8. View the latest version

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
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
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
Matching repetitions
Building a regexp
Using regular expressions in Perl
Part 2: Power tools
More on characters, strings, and character classes
Compiling and saving regular expressions
Embedding comments and modifiers in a regular expression
Non-capturing groupings
Looking ahead and looking behind
Using independent subexpressions to prevent backtracking
Conditional expressions
A bit of magic: executing Perl code in a regular expression
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
Where we're at so far...
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

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
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

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 ($Date: 2005/12/30 15:04:07 $)

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
Bundled Distributions
Disclaimer
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
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

perlfaq1 - General Questions About Perl ($Revision: 1.19 $, $Date: 2005/12/31 00:54:37 $)

DESCRIPTION
What is Perl?
Who supports Perl? Who develops it? Why is it free?
Which version of Perl should I use?
What are perl4, perl5, or perl6?
What is Ponie?
What is perl6?
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 my sysadmin/supervisor/employees to use version 5/5.6.1/Perl instead of some other language?
AUTHOR AND COPYRIGHT

perlfaq2 - Obtaining and Learning about Perl ($Revision: 1.38 $, $Date: 2005/12/31 00:54:37 $)

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

Perl in Magazines
Perl on the Net: FTP and WWW Access
What mailing lists are there for Perl?
Archives of 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?
AUTHOR AND COPYRIGHT

perlfaq3 - Programming Tools ($Revision: 1.56 $, $Date: 2005/12/31 00:54:37 $)

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, PerlBuilder, visiPerl+, Visual Perl, Zeus, GNU Emacs, MicroEMACS, XEmacs, Jed, Elvis, Vile, Vim, Codewright, MultiEdit, SlickEdit, 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 use X or Tk with Perl?
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 compile Perl into Java?
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?
AUTHOR AND COPYRIGHT

perlfaq4 - Data Manipulation ($Revision: 1.73 $, $Date: 2005/12/31 00:54:37 $)

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?
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?
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?
AUTHOR AND COPYRIGHT

perlfaq5 - Files and Formats ($Revision: 1.42 $, $Date: 2005/12/31 00:54:37 $)

DESCRIPTION
How do I flush/unbuffer an output filehandle? Why must I do this?
How do I change one line in a file/delete a line in a file/insert a line in the middle of a file/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 write() into 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?
AUTHOR AND COPYRIGHT

perlfaq6 - Regular Expressions ($Revision: 1.38 $, $Date: 2005/12/31 00:54:37 $)

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?
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 pattern that is supplied by the user?
AUTHOR AND COPYRIGHT

perlfaq7 - General Perl Language Issues ($Revision: 1.28 $, $Date: 2005/12/31 00:54:37 $)

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 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 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?
AUTHOR AND COPYRIGHT

perlfaq8 - System Interaction ($Revision: 1.27 $, $Date: 2005/12/31 00:54:37 $)

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?
What is socket.ph and where do I get it?
AUTHOR AND COPYRIGHT

perlfaq9 - Networking ($Revision: 1.28 $, $Date: 2005/12/31 00:54:37 $)

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 a pop-up menu in HTML?
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?
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 and 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
Range Operators
Conditional Operator
Assignment Operators
Comma Operator
List Operators (Rightward)
Logical Not
Logical And
Logical or and Exclusive Or
C Operators Missing From Perl

unary &, unary *, (TYPE)

Quote and Quote-like Operators
Regexp Quote-Like Operators

?PATTERN? , m/PATTERN/cgimosx , /PATTERN/cgimosx, q/STRING/ , 'STRING', qq/STRING/ , "STRING", qr/STRING/imosx , qx/STRING/ , `STRING`, qw/STRING/ , s/PATTERN/REPLACEMENT/egimosx , tr/SEARCHLIST/REPLACEMENTLIST/cds , y/SEARCHLIST/REPLACEMENTLIST/cds, <<EOF

Gory details of parsing quoted constructs

Finding the end, Removal of backslashes before delimiters, Interpolation , <<'EOF', m'', s''', tr///, y///, '', q//, "", ``, qq//, qx//, <file*glob>, ?RE?, /RE/, m/RE/, s/RE/foo/,, Interpolation of 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 scoping, Miscellaneous functions, Functions for processes and process groups , Keywords related to perl modules , Keywords related to classes and object-orientedness , 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, 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, 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 , 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, 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, 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 EXPR TYPE, 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/, qr/STRING/, qx/STRING/, qw/STRING/, quotemeta EXPR , quotemeta, rand EXPR , rand, read FILEHANDLE,SCALAR,LENGTH,OFFSET , read FILEHANDLE,SCALAR,LENGTH, readdir DIRHANDLE , readline EXPR , readlink EXPR , readlink, readpipe EXPR , 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///, 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, 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 , 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
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
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
Packing and Unpacking C Structures
The Alignment Pit
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 , -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 , -x directory

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

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
TODO
SEE ALSO
AUTHOR

perldebug - Perl debugging

DESCRIPTION
The Perl Debugger
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
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, $&, $PREMATCH, $`, $POSTMATCH, $', $LAST_PAREN_MATCH, $+, $^N, @LAST_MATCH_END, @+, $*, 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, $?, ${^ENCODING}, $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, $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}, ${^UTF8LOCALE}, $PERL_VERSION, $^V, $WARNING, $^W, ${^WARNING_BITS}, $EXECUTABLE_NAME, $^X, ARGV, $ARGV, @ARGV, ARGVOUT, @F, @INC, @_, %INC, %ENV, $ENV{expr}, %SIG, $SIG{expr}

Error Indicators
Technical Note on the Syntax of Variable Names
BUGS

perlre - Perl regular expressions

DESCRIPTION

i , m , s , x

Regular Expressions

[1], [2], [3], cntrl , graph , print , punct , xdigit

Extended Patterns

(?#text) , (?imsx-imsx) , (?:pattern) , (?imsx-imsx:pattern), (?=pattern) , (?!pattern) , (?<=pattern) , (?<!pattern) , (?{ code }) , (??{ code }) , (?>pattern) , (?(condition)yes-pattern|no-pattern) , (?(condition)yes-pattern)

Backtracking
Version 8 Regular Expressions
Warning on \1 vs $1
Repeated patterns matching zero-length substring
Combining pieces together

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

Creating custom RE engines
BUGS
SEE ALSO

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

2. , 3. , 4.

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) , 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
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
Status
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
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
cond_wait() and cond_signal()
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
Bibliography
Introductory Texts
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
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 Y,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

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
Scripts
Blocks
User-Defined Character Properties
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
Interaction with Extensions
Speed
Porting code from perl-5.6.X
SEE ALSO

perlebcdic - Considerations for running Perl on EBCDIC platforms

DESCRIPTION
COMMON CHARACTER CODE SETS
ASCII
ISO 8859
Latin 1 (ISO 8859-1)
EBCDIC
13 variant characters
0037
1047
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 machine 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
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, 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

assertions::compat, attributes, attrs, autouse, base, bigint, bignum, bigrat, blib, bytes, charnames, constant, diagnostics, encoding, fields, filetest, if, integer, less, lib, locale, open, ops, overload, re, sigtrap, sort, strict, subs, threads, threads::shared, utf8, vars, vmsish, warnings, warnings::register

Standard Modules

AnyDBM_File, Archive::Tar, Archive::Tar::File, Attribute::Handlers, AutoLoader, AutoSplit, B, B::Asmdata, B::Assembler, B::Bblock, B::Bytecode, B::C, B::CC, B::Concise, B::Debug, B::Deparse, B::Disassembler, B::Lint, B::Showlex, B::Stackobj, B::Stash, B::Terse, B::Xref, Benchmark, ByteLoader, CGI, CGI::Apache, CGI::Carp, CGI::Cookie, CGI::Fast, CGI::Pretty, CGI::Push, CGI::Switch, CGI::Util, CPAN, CPAN::FirstTime, CPAN::Nox, Carp, Carp::Heavy, Class::ISA, Class::Struct, Compress::Zlib, Config, Cwd, DB, DB_File, Data::Dumper, Devel::DProf, Devel::PPPort, Devel::Peek, Devel::SelfStubber, Digest, Digest::MD5, Digest::base, DirHandle, Dumpvalue, DynaLoader, Encode, Encode::Alias, Encode::Byte, Encode::CJKConstants, Encode::CN, Encode::CN::HZ, Encode::Config, Encode::EBCDIC, Encode::Encoder, Encode::Encoding, Encode::Guess, Encode::JP, Encode::JP::H2Z, Encode::JP::JIS7, Encode::KR, Encode::KR::2022_KR, Encode::MIME::Header, 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::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_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::MakeMaker::bytes, ExtUtils::MakeMaker::vmsish, ExtUtils::Manifest, ExtUtils::Mkbootstrap, ExtUtils::Mksymlists, ExtUtils::Packlist, ExtUtils::ParseXS, ExtUtils::testlib, Fatal, Fcntl, File::Basename, File::CheckTree, File::Compare, File::Copy, File::DosGlob, File::Find, File::Glob, 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, I18N::Collate, I18N::LangTags, I18N::LangTags::List, I18N::Langinfo, IO, IO::Dir, IO::File, IO::Handle, IO::Pipe, IO::Poll, IO::Seekable, IO::Select, IO::Socket, IO::Socket::INET, IO::Socket::UNIX, IO::Zlib, IPC::Open2, IPC::Open3, IPC::SysV, IPC::SysV::Msg, IPC::SysV::Semaphore, List::Util, Locale::Constants, Locale::Country, Locale::Currency, Locale::Language, Locale::Maketext, Locale::Maketext::TPJ13, Locale::Script, MIME::Base64, MIME::Base64::QuotedPrint, Math::BigFloat, Math::BigInt, Math::BigInt::Calc, 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, 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, PerlIO, PerlIO::encoding, PerlIO::scalar, PerlIO::via, PerlIO::via::QuotedPrint, Pod::Checker, 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::Text, Pod::Text::Color, Pod::Text::Overstrike, Pod::Text::Termcap, Pod::Usage, SDBM_File, Safe, Scalar::Util, Search::Dict, SelectSaver, SelfLoader, Shell, Socket, Storable, Switch, Symbol, Sys::Hostname, Sys::Syslog, Term::ANSIColor, Term::Cap, Term::Complete, Term::ReadLine, Test, Test::Builder, Test::Harness, Test::Harness::Assert, Test::Harness::Iterator, Test::Harness::Point, Test::Harness::Straps, Test::More, Test::Simple, Test::Tutorial, Text::Abbrev, Text::Balanced, Text::ParseWords, Text::Soundex, Text::Tabs, Text::Wrap, Thread, Thread::Queue, Thread::Semaphore, Thread::Signal, Thread::Specific, Tie::Array, Tie::File, Tie::Handle, Tie::Hash, Tie::Memoize, Tie::RefHash, Tie::Scalar, Tie::SubstrHash, Time::HiRes, Time::Local, Time::gmtime, Time::localtime, Time::tm, UNIVERSAL, Unicode::Collate, Unicode::Normalize, Unicode::UCD, User::grent, User::pwent, Win32, XS::APItest, XS::Typemap, XSLoader

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

perlstyle, perlnewmod, perlpod, 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

perlutil - utilities packaged with the Perl distribution

DESCRIPTION
DOCUMENTATION

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

CONVERTORS

a2p, s2p, find2perl

Administration

libnetcfg

Development

perlbug, h2ph, c2ph and pstruct, h2xs, dprofpp, perlcc

SEE ALSO

perlcompile - Introduction to the Perl Compiler-Translator

DESCRIPTION
Layout

B::Bytecode, B::C, B::CC, 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
The Simple C Back End
The Bytecode Back End
The Optimized C Back End
Module List for the Compiler Suite

B, O, B::Asmdata, B::Assembler, B::Bblock, B::Bytecode, B::C, B::CC, B::Concise, B::Debug, B::Deparse, B::Disassembler, B::Lint, B::Showlex, B::Stackobj, B::Stash, 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, dereference, derived class, descriptor, destroy, destructor, device, directive, directory, directory handle, dispatch, distribution, 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
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

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

Formatted Printing of IVs, UVs, and NVs
Pointer-To-Integer and Integer-To-Pointer
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
SEE ALSO
AUTHOR
DATE

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_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

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

Embedding Functions

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

Functions in file pp_pack.c

packlist , pack_cat , unpackstring , unpack_str

Global Variables

PL_modglobal , PL_na , PL_sv_no , PL_sv_undef , PL_sv_yes

GV Functions

GvSV , gv_fetchmeth , gv_fetchmethod , gv_fetchmethod_autoload , gv_fetchmeth_autoload , gv_stashpv , gv_stashpvn , 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 , HeVAL , HvNAME , hv_clear , hv_clear_placeholders , hv_delete , hv_delete_ent , hv_exists , hv_exists_ent , hv_fetch , 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_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 , Renew , Renewc , Safefree , savepv , savepvn , savesharedpv , savesvpv , StructCopy , Zero , ZeroD

Miscellaneous Functions

fbm_compile , fbm_instr , form , getcwd_sv , strEQ , strGE , strGT , strLE , strLT , strNE , strnEQ , strnNE , sv_nolocking , sv_nosharing , sv_nounlocking

Numeric functions

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

Optree Manipulation Functions

cv_const_sv , newCONSTSUB , newXS

Pad Data Structures

pad_sv

Stack Manipulation Macros

dMARK , dORIGMARK , dSP , EXTEND , MARK , mPUSHi , mPUSHn , mPUSHp , mPUSHu , mXPUSHi , mXPUSHn , mXPUSHp , 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

get_sv , looks_like_number , newRV_inc , newRV_noinc , NEWSV , newSV , newSVhek , newSViv , newSVnv , newSVpv , newSVpvf , newSVpvn , newSVpvn_share , newSVrv , newSVsv , newSVuv , SvCUR , SvCUR_set , SvEND , SvGROW , SvIOK , SvIOKp , SvIOK_notUV , SvIOK_off , SvIOK_on , SvIOK_only , SvIOK_only_UV , SvIOK_UV , SvIsCOW , SvIsCOW_shared_hash , SvIV , SvIVX , SvIVx , 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_set , SvREFCNT , SvREFCNT_dec , SvREFCNT_inc , 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_set , sv_2bool , sv_2cv , sv_2io , sv_2iv , sv_2mortal , sv_2nv , sv_2pvbyte , sv_2pvbyte_nolen , sv_2pvutf8 , sv_2pvutf8_nolen , sv_2pv_flags , sv_2pv_nolen , sv_2uv , sv_backoff , sv_bless , sv_catpv , sv_catpvf , sv_catpvf_mg , sv_catpvn , sv_catpvn_flags , sv_catpvn_mg , sv_catpvn_nomg , sv_catpv_mg , sv_catsv , sv_catsv_flags , sv_catsv_mg , sv_catsv_nomg , sv_chop , sv_clear , sv_cmp , sv_cmp_locale , sv_collxfrm , sv_copypv , sv_dec , sv_derived_from , sv_eq , sv_force_normal , sv_force_normal_flags , sv_free , sv_gets , sv_grow , sv_inc , sv_insert , sv_isa , sv_isobject , sv_iv , sv_len , sv_len_utf8 , sv_magic , sv_magicext , sv_mortalcopy , sv_newmortal , sv_newref , sv_nv , sv_pos_b2u , sv_pos_u2b , sv_pv , sv_pvbyte , sv_pvbyten , sv_pvbyten_force , sv_pvn , sv_pvn_force , sv_pvn_force_flags , sv_pvutf8 , sv_pvutf8n , sv_pvutf8n_force , sv_reftype , sv_replace , sv_report_used , 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_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_setsv_nomg , sv_setuv , sv_setuv_mg , sv_taint , sv_tainted , sv_true , sv_unmagic , sv_unref , sv_unref_flags , sv_untaint , sv_upgrade , sv_usepvn , sv_usepvn_mg , sv_utf8_decode , sv_utf8_downgrade , sv_utf8_encode , sv_utf8_upgrade , sv_utf8_upgrade_flags , sv_uv , 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 , dXSARGS , dXSI32 , items , ix , newXSproto , RETVAL , ST , THIS , 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

Functions in file pp_ctl.c

find_runcv

Global Variables

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

GV Functions

is_gv_magical

IO Functions

start_glob

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

Stack Manipulation Macros

djSP , LVRET

SV Manipulation Functions

report_uninit , sv_add_arena , sv_clean_all , sv_clean_objs , sv_free_arenas

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

rsync'ing the source tree, Using rsync over the LAN, Using pushing over the NFS, rsync'ing the patches

Why rsync the source tree

It's easier to rsync the source tree, It's more reliable

Why rsync the patches

It's easier to rsync the patches, It's a good reference, Finding a start point, Finding how to fix a bug, Finding the source of misbehaviour

Working with the source
Perlbug administration
Submitting patches

perlguts, perlxstut and perlxs, perlapi, 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
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/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

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
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.

AUTHOR

perlbook - Perl book information

DESCRIPTION

perltodo - Perl TO-DO List

DESCRIPTION
The roadmap to 5.10
Needed for a 5.9.4 release
Needed for a 5.9.5 release

Implement "_ prototype character", Implement "state variables"

Needed for a 5.9.6 release
Tasks that only need Perl knowledge
common test code for timed bail out
POD -> HTML conversion in the core still sucks
Parallel testing
Make Schwern poorer
Improve the coverage of the core tests
test B
A decent benchmark
fix tainting bugs
Dual life everything
Improving threads::shared
POSIX memory footprint
Tasks that need a little sysadmin-type knowledge
Relocatable perl
make HTML install work
compressed man pages
Add a code coverage target to the Makefile
Make Config.pm cope with differences between build and installed perl
make parallel builds work
linker specification files
Tasks that need a little C knowledge
Make it clear from -v if this is the exact official release
Tidy up global variables
Ordering of "global" variables.
bincompat functions
am I hot or not?
emulate the per-thread memory pool on Unix
reduce duplication in sv_setsv_flags
Tasks that need a knowledge of XS
IPv6
shrink GVs, CVs
merge Perl_sv_2[inpu]v
UTF8 caching code
Implicit Latin 1 => Unicode translation
autovivification
Unicode in Filenames
Unicode in %ENV
use less 'memory'
Re-implement :unique in a way that is actually thread-safe
Make tainting consistent
readpipe(LIST)
Tasks that need a knowledge of the interpreter
lexical pragmas
Attach/detach debugger from running program
Constant folding
LVALUE functions for lists
LVALUE functions in the debugger
_ prototype character
state variables
@INC source filter to Filter::Simple
regexp optimiser optional
UNITCHECK
optional optimizer
You WANT *how* many
lexical aliases
entersub XS vs Perl
Self ties
Optimize away @_
What hooks would assertions need?
Big projects
make ithreads more robust
iCOW
(?{...}) closures in regexps
A re-entrant regexp engine

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, PageName|ModuleName|ProgramName, -n some-formatter, -r, -i, -V

SECURITY
ENVIRONMENT
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.8.8

DESCRIPTION
Incompatible Changes
Core Enhancements
Modules and Pragmata
Utility Changes
New Documentation
Performance Enhancements
Installation and Configuration Improvements
Selected Bug Fixes
New or Changed Diagnostics
Changed Internals
New Tests
Known Problems
Platform Specific Problems
Reporting Bugs
SEE ALSO

perl588delta, perldelta - what is new for perl v5.8.8

DESCRIPTION
Incompatible Changes
Core Enhancements
Modules and Pragmata
Utility Changes
New Documentation
Performance Enhancements
Installation and Configuration Improvements
Selected Bug Fixes
New or Changed Diagnostics
Changed Internals
New Tests
Known Problems
Platform Specific Problems
Reporting Bugs
SEE ALSO

perl587delta, perldelta - 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
64-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
64-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
Known Problems
AIX
Amiga Perl Invoking Mystery
lib/ftmp-security tests warn 'system possibly insecure'
Cygwin intermittent failures of lib/Memoize/t/expire_file 11 and 12
HP-UX lib/io_multihomed Fails When LP64-Configured
HP-UX lib/posix Subtest 9 Fails When LP64-Configured
Linux With Sfio Fails op/misc Test 48
OS/390
op/sprintf tests 129 and 130
Failure of Thread tests
UNICOS
UTS
VMS
Win32
Localising a Tied Variable Leaks Memory
Self-tying of Arrays and Hashes Is Forbidden
Variable Attributes are not Currently Usable for Tieing
Building Extensions Can Fail Because Of Largefiles
The Compiler Suite Is Still Experimental
The Long Double Support is Still Experimental
Reporting Bugs
SEE ALSO
HISTORY

perl571delta - what's new for perl v5.7.1

DESCRIPTION
Security Vulnerability Closed
Incompatible Changes
Core Enhancements
AUTOLOAD Is Now Lvaluable
PerlIO is Now The Default
Signals Are Now Safe
Modules and Pragmata
New Modules
Updated And Improved Modules and Pragmata
Performance Enhancements
Utility Changes
New Documentation
perlclib
perliol
README.aix
README.bs2000
README.macos
README.mpeix
README.solaris
README.vos
Porting/repository.pod
Installation and Configuration Improvements
New Or Improved Platforms
Generic Improvements

d_cmsghdr, d_fcntl_can_lock, d_fsync, d_getitimer, d_getpagsz, d_msghdr_s, need_va_copy, d_readv, d_recvmsg, d_sendmsg, sig_size, d_sockatmark, d_strtoq, d_u32align, d_ualarm, d_usleep

Selected Bug Fixes
Platform Specific Changes and Fixes
New or Changed Diagnostics
Changed Internals
New Tests
Known Problems
AIX vac 5.0.0.0 May Produce Buggy Code For Perl
lib/ftmp-security tests warn 'system possibly insecure'
lib/io_multihomed Fails In LP64-Configured HP-UX
Test lib/posix Subtest 9 Fails In LP64-Configured HP-UX
lib/b test 19
Linux With Sfio Fails op/misc Test 48
sigaction test 13 in VMS
sprintf tests 129 and 130
Failure of Thread tests
Localising a Tied Variable Leaks Memory
Self-tying of Arrays and Hashes Is Forbidden
Building Extensions Can Fail Because Of Largefiles
The Compiler Suite Is Still Experimental
Reporting Bugs
SEE ALSO
HISTORY

perl570delta - what's new for perl v5.7.0

DESCRIPTION
Security Vulnerability Closed
Incompatible Changes
Core Enhancements
Modules and Pragmata
New Modules
Updated And Improved Modules and Pragmata
Utility Changes
New Documentation
Performance Enhancements
Installation and Configuration Improvements
Generic Improvements
Selected Bug Fixes
Platform Specific Changes and Fixes
New or Changed Diagnostics
Changed Internals
Known Problems
Unicode Support Still Far From Perfect
EBCDIC Still A Lost Platform
Building Extensions Can Fail Because Of Largefiles
ftmp-security tests warn 'system possibly insecure'
Test lib/posix Subtest 9 Fails In LP64-Configured HP-UX
Long Doubles Still Don't Work In Solaris
Linux With Sfio Fails op/misc Test 48
Storable tests fail in some platforms
Threads Are Still Experimental
The Compiler Suite Is Still Experimental
Reporting Bugs
SEE ALSO
HISTORY

perl561delta - what's new for perl v5.6.x

DESCRIPTION
Summary of changes between 5.6.0 and 5.6.1
Security Issues
Core bug fixes

UNIVERSAL::isa(), Memory leaks, Numeric conversions, qw(a\\b), caller(), Bugs in regular expressions, "slurp" mode, Autovivification of symbolic references to special variables, Lexical warnings, Spurious warnings and errors, glob(), Tainting, sort(), #line directives, Subroutine prototypes, map(), Debugger, PERL5OPT, chop(), Unicode support, 64-bit support, Compiler, Lvalue subroutines, IO::Socket, File::Find, xsubpp, no Module;, Tests

Core features
Configuration issues
Documentation
Bundled modules

B::Concise, File::Temp, Pod::LaTeX, Pod::Text::Overstrike, CGI, CPAN, Class::Struct, DB_File, Devel::Peek, File::Find, Getopt::Long, IO::Poll, IPC::Open3, Math::BigFloat, Math::Complex, Net::Ping, Opcode, Pod::Parser, Pod::Text, SDBM_File, Sys::Syslog, Tie::RefHash, Tie::SubstrHash

Platform-specific improvements

NCR MP-RAS, NonStop-UX

Core Enhancements
Interpreter cloning, threads, and concurrency
Lexically scoped warning categories
Unicode and UTF-8 support
Support for interpolating named characters
"our" declarations
Support for strings represented as a vector of ordinals
Improved Perl version numbering system
New syntax for declaring subroutine attributes
File and directory handles can be autovivified
open() with more than two arguments
64-bit support
Large file support
Long doubles
"more bits"
Enhanced support for sort() subroutines
sort $coderef @foo allowed
File globbing implemented internally
Support for CHECK blocks
POSIX character class syntax [: :] supported
Better pseudo-random number generator
Improved qw// operator
Better worst-case behavior of hashes
pack() format 'Z' supported
pack() format modifier '!' supported
pack() and unpack() support counted strings
Comments in pack() templates
Weak references
Binary numbers supported
Lvalue subroutines
Some arrows may be omitted in calls through references
exists() is supported on subroutine names
exists() and delete() are supported on array elements
Pseudo-hashes work better
Automatic flushing of output buffers
Better diagnostics on meaningless filehandle operations
Where possible, buffered data discarded from duped input filehandle
eof() has the same old magic as <>
binmode() can be used to set :crlf and :raw modes
-T filetest recognizes UTF-8 encoded files as "text"
system(), backticks and pipe open now reflect exec() failure
Improved diagnostics
Diagnostics follow STDERR
More consistent close-on-exec behavior
syswrite() ease-of-use
Better syntax checks on parenthesized unary operators
Bit operators support full native integer width
Improved security features
More functional bareword prototype (*)
require and do may be overridden
$^X variables may now have names longer than one character
New variable $^C reflects -c switch
New variable $^V contains Perl version as a string
Optional Y2K warnings
Arrays now always interpolate into double-quoted strings
@- and @+ provide starting/ending offsets of regex submatches
Modules and Pragmata
Modules

attributes, B, Benchmark, ByteLoader, constant, charnames, Data::Dumper, DB, DB_File, Devel::DProf, Devel::Peek, Dumpvalue, DynaLoader, English, Env, Fcntl, File::Compare, File::Find, File::Glob, File::Spec, File::Spec::Functions, Getopt::Long, IO, JPL, lib, Math::BigInt, Math::Complex, Math::Trig, Pod::Parser, Pod::InputObjects, Pod::Checker, podchecker, Pod::ParseUtils, Pod::Find, Pod::Select, podselect, Pod::Usage, pod2usage, Pod::Text and Pod::Man, SDBM_File, Sys::Syslog, Sys::Hostname, Term::ANSIColor, Time::Local, Win32, XSLoader, DBM Filters

Pragmata
Utility Changes
dprofpp
find2perl
h2xs
perlcc
perldoc
The Perl Debugger
Improved Documentation

perlapi.pod, perlboot.pod, perlcompile.pod, perldbmfilter.pod, perldebug.pod, perldebguts.pod, perlfork.pod, perlfilter.pod, perlhack.pod, perlintern.pod, perllexwarn.pod, perlnumber.pod, perlopentut.pod, perlreftut.pod, perltootc.pod, perltodo.pod, perlunicode.pod

Performance enhancements
Simple sort() using { $a <=> $b } and the like are optimized
Optimized assignments to lexical variables
Faster subroutine calls
delete(), each(), values() and hash iteration are faster
Installation and Configuration Improvements
-Dusethreads means something different
New Configure flags
Threadedness and 64-bitness now more daring
Long Doubles
-Dusemorebits
-Duselargefiles
installusrbinperl
SOCKS support
-A flag
Enhanced Installation Directories
gcc automatically tried if 'cc' does not seem to be working
Platform specific changes
Supported platforms
DOS
OS390 (OpenEdition MVS)
VMS
Win32
Significant bug fixes
<HANDLE> on empty files
eval '...' improvements
All compilation errors are true errors
Implicitly closed filehandles are safer
Behavior of list slices is more consistent
(\$) prototype and $foo{a}
goto &sub and AUTOLOAD
-bareword allowed under use integer
Failures in DESTROY()
Locale bugs fixed
Memory leaks
Spurious subroutine stubs after failed subroutine calls
Taint failures under -U
END blocks and the -c switch
Potential to leak DATA filehandles
New or Changed Diagnostics

"%s" variable %s masks earlier declaration in same %s, "my sub" not yet implemented, "our" variable %s redeclared, '!' allowed only after types %s, / cannot take a count, / must be followed by a, A or Z, / must be followed by a*, A* or Z*, / must follow a numeric type, /%s/: Unrecognized escape \\%c passed through, /%s/: Unrecognized escape \\%c in character class passed through, /%s/ should probably be written as "%s", %s() called too early to check prototype, %s argument is not a HASH or ARRAY element, %s argument is not a HASH or ARRAY element or slice, %s argument is not a subroutine name, %s package attribute may clash with future reserved word: %s, (in cleanup) %s, <> should be quotes, Attempt to join self, Bad evalled substitution pattern, Bad realloc() ignored, Bareword found in conditional, Binary number > 0b11111111111111111111111111111111 non-portable, Bit vector size > 32 non-portable, Buffer overflow in prime_env_iter: %s, Can't check filesystem of script "%s", Can't declare class for non-scalar %s in "%s", Can't declare %s in "%s", Can't ignore signal CHLD, forcing to default, Can't modify non-lvalue subroutine call, Can't read CRTL environ, Can't remove %s: %s, skipping file, Can't return %s from lvalue subroutine, Can't weaken a nonreference, Character class [:%s:] unknown, Character class syntax [%s] belongs inside character classes, Constant is not %s reference, constant(%s): %s, CORE::%s is not a keyword, defined(@array) is deprecated, defined(%hash) is deprecated, Did not produce a valid header, (Did you mean "local" instead of "our"?), Document contains no data, entering effective %s failed, false [] range "%s" in regexp, Filehandle %s opened only for output, flock() on closed filehandle %s, Global symbol "%s" requires explicit package name, Hexadecimal number > 0xffffffff non-portable, Ill-formed CRTL environ value "%s", Ill-formed message in prime_env_iter: |%s|, Illegal binary digit %s, Illegal binary digit %s ignored, Illegal number of bits in vec, Integer overflow in %s number, Invalid %s attribute: %s, Invalid %s attributes: %s, invalid [] range "%s" in regexp, Invalid separator character %s in attribute list, Invalid separator character %s in subroutine attribute list, leaving effective %s failed, Lvalue subs returning %s not implemented yet, Method %s not permitted, Missing %sbrace%s on \N{}, Missing command in piped open, Missing name in "my sub", No %s specified for -%c, No package name allowed for variable %s in "our", No space allowed after -%c, no UTC offset information; assuming local time is UTC, Octal number > 037777777777 non-portable, panic: del_backref, panic: kid popen errno read, panic: magic_killbackrefs, Parentheses missing around "%s" list, Possible unintended interpolation of %s in string, Possible Y2K bug: %s, pragma "attrs" is deprecated, use "sub NAME : ATTRS" instead, Premature end of script headers, Repeat count in pack overflows, Repeat count in unpack overflows, realloc() of freed memory ignored, Reference is already weak, setpgrp can't take arguments, Strange *+?{} on zero-length expression, switching effective %s is not implemented, This Perl can't reset CRTL environ elements (%s), This Perl can't set CRTL environ elements (%s=%s), Too late to run %s block, Unknown open() mode '%s', Unknown process %x sent message to prime_env_iter: %s, Unrecognized escape \\%c passed through, Unterminated attribute parameter in attribute list, Unterminated attribute list, Unterminated attribute parameter in subroutine attribute list, Unterminated subroutine attribute list, Value of CLI symbol "%s" too long, Version number must be a constant number

New tests
Incompatible Changes
Perl Source Incompatibilities

CHECK is a new keyword, Treatment of list slices of undef has changed, Format of $English::PERL_VERSION is different, Literals of the form 1.2.3 parse differently, Possibly changed pseudo-random number generator, Hashing function for hash keys has changed, undef fails on read only values, Close-on-exec bit may be set on pipe and socket handles, Writing "$$1" to mean "${$}1" is unsupported, delete(), each(), values() and \(%h), vec(EXPR,OFFSET,BITS) enforces powers-of-two BITS, Text of some diagnostic output has changed, %@ has been removed, Parenthesized not() behaves like a list operator, Semantics of bareword prototype (*) have changed, Semantics of bit operators may have changed on 64-bit platforms, More builtins taint their results

C Source Incompatibilities

PERL_POLLUTE, PERL_IMPLICIT_CONTEXT, PERL_POLLUTE_MALLOC

Compatible C Source API Changes

PATCHLEVEL is now PERL_VERSION

Binary Incompatibilities
Known Problems
Localizing a tied hash element may leak memory
Known test failures
EBCDIC platforms not fully supported
UNICOS/mk CC failures during Configure run
Arrow operator and arrays
Experimental features

Threads, Unicode, 64-bit support, Lvalue subroutines, Weak references, The pseudo-hash data type, The Compiler suite, Internal implementation of file globbing, The DB module, The regular expression code constructs:

Obsolete Diagnostics

Character class syntax [: :] is reserved for future extensions, Ill-formed logical name |%s| in prime_env_iter, In string, @%s now must be written as \@%s, Probable precedence problem on %s, regexp too big, Use of "$$<digit>" to mean "${$}<digit>" is deprecated

Reporting Bugs
SEE ALSO
HISTORY

perl56delta - what's new for perl v5.6.0

DESCRIPTION
Core Enhancements
Interpreter cloning, threads, and concurrency
Lexically scoped warning categories
Unicode and UTF-8 support
Support for interpolating named characters
"our" declarations
Support for strings represented as a vector of ordinals
Improved Perl version numbering system
New syntax for declaring subroutine attributes
File and directory handles can be autovivified
open() with more than two arguments
64-bit support
Large file support
Long doubles
"more bits"
Enhanced support for sort() subroutines
sort $coderef @foo allowed
File globbing implemented internally
Support for CHECK blocks
POSIX character class syntax [: :] supported
Better pseudo-random number generator
Improved qw// operator
Better worst-case behavior of hashes
pack() format 'Z' supported
pack() format modifier '!' supported
pack() and unpack() support counted strings
Comments in pack() templates
Weak references
Binary numbers supported
Lvalue subroutines
Some arrows may be omitted in calls through references
exists() is supported on subroutine names
exists() and delete() are supported on array elements
Pseudo-hashes work better
Automatic flushing of output buffers
Better diagnostics on meaningless filehandle operations
Where possible, buffered data discarded from duped input filehandle
eof() has the same old magic as <>
binmode() can be used to set :crlf and :raw modes
-T filetest recognizes UTF-8 encoded files as "text"
system(), backticks and pipe open now reflect exec() failure
Improved diagnostics
Diagnostics follow STDERR
More consistent close-on-exec behavior
syswrite() ease-of-use
Better syntax checks on parenthesized unary operators
Bit operators support full native integer width
Improved security features
More functional bareword prototype (*)
require and do may be overridden
$^X variables may now have names longer than one character
New variable $^C reflects -c switch
New variable $^V contains Perl version as a string
Optional Y2K warnings
Arrays now always interpolate into double-quoted strings
@- and @+ provide starting/ending offsets of regex matches
Modules and Pragmata
Modules

attributes, B, Benchmark, ByteLoader, constant, charnames, Data::Dumper, DB, DB_File, Devel::DProf, Devel::Peek, Dumpvalue, DynaLoader, English, Env, Fcntl, File::Compare, File::Find, File::Glob, File::Spec, File::Spec::Functions, Getopt::Long, IO, JPL, lib, Math::BigInt, Math::Complex, Math::Trig, Pod::Parser, Pod::InputObjects, Pod::Checker, podchecker, Pod::ParseUtils, Pod::Find, Pod::Select, podselect, Pod::Usage, pod2usage, Pod::Text and Pod::Man, SDBM_File, Sys::Syslog, Sys::Hostname, Term::ANSIColor, Time::Local, Win32, XSLoader, DBM Filters

Pragmata
Utility Changes
dprofpp
find2perl
h2xs
perlcc
perldoc
The Perl Debugger
Improved Documentation

perlapi.pod, perlboot.pod, perlcompile.pod, perldbmfilter.pod, perldebug.pod, perldebguts.pod, perlfork.pod, perlfilter.pod, perlhack.pod, perlintern.pod, perllexwarn.pod, perlnumber.pod, perlopentut.pod, perlreftut.pod, perltootc.pod, perltodo.pod, perlunicode.pod

Performance enhancements
Simple sort() using { $a <=> $b } and the like are optimized
Optimized assignments to lexical variables
Faster subroutine calls
delete(), each(), values() and hash iteration are faster
Installation and Configuration Improvements
-Dusethreads means something different
New Configure flags
Threadedness and 64-bitness now more daring
Long Doubles
-Dusemorebits
-Duselargefiles
installusrbinperl
SOCKS support
-A flag
Enhanced Installation Directories
Platform specific changes
Supported platforms
DOS
OS390 (OpenEdition MVS)
VMS
Win32
Significant bug fixes
<HANDLE> on empty files
eval '...' improvements
All compilation errors are true errors
Implicitly closed filehandles are safer
Behavior of list slices is more consistent
(\$) prototype and $foo{a}
goto &sub and AUTOLOAD
-bareword allowed under use integer
Failures in DESTROY()
Locale bugs fixed
Memory leaks
Spurious subroutine stubs after failed subroutine calls
Taint failures under -U
END blocks and the -c switch
Potential to leak DATA filehandles
New or Changed Diagnostics

"%s" variable %s masks earlier declaration in same %s, "my sub" not yet implemented, "our" variable %s redeclared, '!' allowed only after types %s, / cannot take a count, / must be followed by a, A or Z, / must be followed by a*, A* or Z*, / must follow a numeric type, /%s/: Unrecognized escape \\%c passed through, /%s/: Unrecognized escape \\%c in character class passed through, /%s/ should probably be written as "%s", %s() called too early to check prototype, %s argument is not a HASH or ARRAY element, %s argument is not a HASH or ARRAY element or slice, %s argument is not a subroutine name, %s package attribute may clash with future reserved word: %s, (in cleanup) %s, <> should be quotes, Attempt to join self, Bad evalled substitution pattern, Bad realloc() ignored, Bareword found in conditional, Binary number > 0b11111111111111111111111111111111 non-portable, Bit vector size > 32 non-portable, Buffer overflow in prime_env_iter: %s, Can't check filesystem of script "%s", Can't declare class for non-scalar %s in "%s", Can't declare %s in "%s", Can't ignore signal CHLD, forcing to default, Can't modify non-lvalue subroutine call, Can't read CRTL environ, Can't remove %s: %s, skipping file, Can't return %s from lvalue subroutine, Can't weaken a nonreference, Character class [:%s:] unknown, Character class syntax [%s] belongs inside character classes, Constant is not %s reference, constant(%s): %s, CORE::%s is not a keyword, defined(@array) is deprecated, defined(%hash) is deprecated, Did not produce a valid header, (Did you mean "local" instead of "our"?), Document contains no data, entering effective %s failed, false [] range "%s" in regexp, Filehandle %s opened only for output, flock() on closed filehandle %s, Global symbol "%s" requires explicit package name, Hexadecimal number > 0xffffffff non-portable, Ill-formed CRTL environ value "%s", Ill-formed message in prime_env_iter: |%s|, Illegal binary digit %s, Illegal binary digit %s ignored, Illegal number of bits in vec, Integer overflow in %s number, Invalid %s attribute: %s, Invalid %s attributes: %s, invalid [] range "%s" in regexp, Invalid separator character %s in attribute list, Invalid separator character %s in subroutine attribute list, leaving effective %s failed, Lvalue subs returning %s not implemented yet, Method %s not permitted, Missing %sbrace%s on \N{}, Missing command in piped open, Missing name in "my sub", No %s specified for -%c, No package name allowed for variable %s in "our", No space allowed after -%c, no UTC offset information; assuming local time is UTC, Octal number > 037777777777 non-portable, panic: del_backref, panic: kid popen errno read, panic: magic_killbackrefs, Parentheses missing around "%s" list, Possible unintended interpolation of %s in string, Possible Y2K bug: %s, pragma "attrs" is deprecated, use "sub NAME : ATTRS" instead, Premature end of script headers, Repeat count in pack overflows, Repeat count in unpack overflows, realloc() of freed memory ignored, Reference is already weak, setpgrp can't take arguments, Strange *+?{} on zero-length expression, switching effective %s is not implemented, This Perl can't reset CRTL environ elements (%s), This Perl can't set CRTL environ elements (%s=%s), Too late to run %s block, Unknown open() mode '%s', Unknown process %x sent message to prime_env_iter: %s, Unrecognized escape \\%c passed through, Unterminated attribute parameter in attribute list, Unterminated attribute list, Unterminated attribute parameter in subroutine attribute list, Unterminated subroutine attribute list, Value of CLI symbol "%s" too long, Version number must be a constant number

New tests
Incompatible Changes
Perl Source Incompatibilities

CHECK is a new keyword, Treatment of list slices of undef has changed, Format of $English::PERL_VERSION is different, Literals of the form 1.2.3 parse differently, Possibly changed pseudo-random number generator, Hashing function for hash keys has changed, undef fails on read only values, Close-on-exec bit may be set on pipe and socket handles, Writing "$$1" to mean "${$}1" is unsupported, delete(), each(), values() and \(%h), vec(EXPR,OFFSET,BITS) enforces powers-of-two BITS, Text of some diagnostic output has changed, %@ has been removed, Parenthesized not() behaves like a list operator, Semantics of bareword prototype (*) have changed, Semantics of bit operators may have changed on 64-bit platforms, More builtins taint their results

C Source Incompatibilities

PERL_POLLUTE, PERL_IMPLICIT_CONTEXT, PERL_POLLUTE_MALLOC

Compatible C Source API Changes

PATCHLEVEL is now PERL_VERSION

Binary Incompatibilities
Known Problems
Thread test failures
EBCDIC platforms not supported
In 64-bit HP-UX the lib/io_multihomed test may hang
NEXTSTEP 3.3 POSIX test failure
Tru64 (aka Digital UNIX, aka DEC OSF/1) lib/sdbm test failure with gcc
UNICOS/mk CC failures during Configure run
Arrow operator and arrays
Experimental features

Threads, Unicode, 64-bit support, Lvalue subroutines, Weak references, The pseudo-hash data type, The Compiler suite, Internal implementation of file globbing, The DB module, The regular expression code constructs:

Obsolete Diagnostics

Character class syntax [: :] is reserved for future extensions, Ill-formed logical name |%s| in prime_env_iter, In string, @%s now must be written as \@%s, Probable precedence problem on %s, regexp too big, Use of "$$<digit>" to mean "${$}<digit>" is deprecated

Reporting Bugs
SEE ALSO
HISTORY

perl5005delta - what's new for perl5.005

DESCRIPTION
About the new versioning system
Incompatible Changes
WARNING: This version is not binary compatible with Perl 5.004.
Default installation structure has changed
Perl Source Compatibility
C Source Compatibility
Binary Compatibility
Security fixes may affect compatibility
Relaxed new mandatory warnings introduced in 5.004
Licensing
Core Changes
Threads
Compiler
Regular Expressions

Many new and improved optimizations, Many bug fixes, New regular expression constructs, New operator for precompiled regular expressions, Other improvements, Incompatible changes

Improved malloc()
Quicksort is internally implemented
Reliable signals
Reliable stack pointers
More generous treatment of carriage returns
Memory leaks
Better support for multiple interpreters
Behavior of local() on array and hash elements is now well-defined
%! is transparently tied to the Errno module
Pseudo-hashes are supported
EXPR foreach EXPR is supported
Keywords can be globally overridden
$^E is meaningful on Win32
foreach (1..1000000) optimized
Foo:: can be used as implicitly quoted package name
exists $Foo::{Bar::} tests existence of a package
Better locale support
Experimental support for 64-bit platforms
prototype() returns useful results on builtins
Extended support for exception handling
Re-blessing in DESTROY() supported for chaining DESTROY() methods
All printf format conversions are handled internally
New INIT keyword
New lock keyword
New qr// operator
our is now a reserved word
Tied arrays are now fully supported
Tied handles support is better
4th argument to substr
Negative LENGTH argument to splice
Magic lvalues are now more magical
<> now reads in records
Supported Platforms
New Platforms
Changes in existing support
Modules and Pragmata
New Modules

B, Data::Dumper, Dumpvalue, Errno, File::Spec, ExtUtils::Installed, ExtUtils::Packlist, Fatal, IPC::SysV, Test, Tie::Array, Tie::Handle, Thread, attrs, fields, re

Changes in existing modules

Benchmark, Carp, CGI, Fcntl, Math::Complex, Math::Trig, POSIX, DB_File, MakeMaker, CPAN, Cwd

Utility Changes
Documentation Changes
New Diagnostics

Ambiguous call resolved as CORE::%s(), qualify as such or use &, Bad index while coercing array into hash, Bareword "%s" refers to nonexistent package, Can't call method "%s" on an undefined value, Can't check filesystem of script "%s" for nosuid, Can't coerce array into hash, Can't goto subroutine from an eval-string, Can't localize pseudo-hash element, Can't use %%! because Errno.pm is not available, Cannot find an opnumber for "%s", Character class syntax [. .] is reserved for future extensions, Character class syntax [: :] is reserved for future extensions, Character class syntax [= =] is reserved for future extensions, %s: Eval-group in insecure regular expression, %s: Eval-group not allowed, use re 'eval', %s: Eval-group not allowed at run time, Explicit blessing to '' (assuming package main), Illegal hex digit ignored, No such array field, No such field "%s" in variable %s of type %s, Out of memory during ridiculously large request, Range iterator outside integer range, Recursive inheritance detected while looking for method '%s' %s, Reference found where even-sized list expected, Undefined value assigned to typeglob, Use of reserved word "%s" is deprecated, perl: warning: Setting locale failed

Obsolete Diagnostics

Can't mktemp(), Can't write to temp file for -e: %s, Cannot open temporary file, regexp too big

Configuration Changes
BUGS
SEE ALSO
HISTORY

perl5004delta - what's new for perl5.004

DESCRIPTION
Supported Environments
Core Changes
List assignment to %ENV works
Change to "Can't locate Foo.pm in @INC" error
Compilation option: Binary compatibility with 5.003
$PERL5OPT environment variable
Limitations on -M, -m, and -T options
More precise warnings
Deprecated: Inherited AUTOLOAD for non-methods
Previously deprecated %OVERLOAD is no longer usable
Subroutine arguments created only when they're modified
Group vector changeable with $)
Fixed parsing of $$<digit>, &$<digit>, etc.
Fixed localization of $<digit>, $&, etc.
No resetting of $. on implicit close
wantarray may return undef
eval EXPR determines value of EXPR in scalar context
Changes to tainting checks

No glob() or <*>, No spawning if tainted $CDPATH, $ENV, $BASH_ENV, No spawning if tainted $TERM doesn't look like a terminal name

New Opcode module and revised Safe module
Embedding improvements
Internal change: FileHandle class based on IO::* classes
Internal change: PerlIO abstraction interface
New and changed syntax

$coderef->(PARAMS)

New and changed builtin constants

__PACKAGE__

New and changed builtin variables

$^E, $^H, $^M

New and changed builtin functions

delete on slices, flock, printf and sprintf, keys as an lvalue, my() in Control Structures, pack() and unpack(), sysseek(), use VERSION, use Module VERSION LIST, prototype(FUNCTION), srand, $_ as Default, m//gc does not reset search position on failure, m//x ignores whitespace before ?*+{}, nested sub{} closures work now, formats work right on changing lexicals

New builtin methods

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

TIEHANDLE now supported

TIEHANDLE classname, LIST, PRINT this, LIST, PRINTF this, LIST, READ this LIST, READLINE this, GETC this, DESTROY this

Malloc enhancements

-DPERL_EMERGENCY_SBRK, -DPACK_MALLOC, -DTWO_POT_OPTIMIZE

Miscellaneous efficiency enhancements
Support for More Operating Systems
Win32
Plan 9
QNX
AmigaOS
Pragmata

use autouse MODULE => qw(sub1 sub2 sub3), use blib, use blib 'dir', use constant NAME => VALUE, use locale, use ops, use vmsish

Modules
Required Updates
Installation directories
Module information summary
Fcntl
IO
Math::Complex
Math::Trig
DB_File
Net::Ping
Object-oriented overrides for builtin operators
Utility Changes
pod2html

Sends converted HTML to standard output

xsubpp

void XSUBs now default to returning nothing

C Language API Changes

gv_fetchmethod and perl_call_sv, perl_eval_pv, Extended API for manipulating hashes

Documentation Changes

perldelta, perlfaq, perllocale, perltoot, perlapio, perlmodlib, perldebug, perlsec

New Diagnostics

"my" variable %s masks earlier declaration in same scope, %s argument is not a HASH element or slice, Allocation too large: %lx, Allocation too large, Applying %s to %s will act on scalar(%s), Attempt to free nonexistent shared string, Attempt to use reference as lvalue in substr, Bareword "%s" refers to nonexistent package, Can't redefine active sort subroutine %s, Can't use bareword ("%s") as %s ref while "strict refs" in use, Cannot resolve method `%s' overloading `%s' in package `%s', Constant subroutine %s redefined, Constant subroutine %s undefined, Copy method did not return a reference, Died, Exiting pseudo-block via %s, Identifier too long, Illegal character %s (carriage return), Illegal switch in PERL5OPT: %s, Integer overflow in hex number, Integer overflow in octal number, internal error: glob failed, Invalid conversion in %s: "%s", Invalid type in pack: '%s', Invalid type in unpack: '%s', Name "%s::%s" used only once: possible typo, Null picture in formline, Offset outside string, Out of memory!, Out of memory during request for %s, panic: frexp, Possible attempt to put comments in qw() list, Possible attempt to separate words with commas, Scalar value @%s{%s} better written as $%s{%s}, Stub found while resolving method `%s' overloading `%s' in %s, Too late for "-T" option, untie attempted while %d inner references still exist, Unrecognized character %s, Unsupported function fork, Use of "$$<digit>" to mean "${$}<digit>" is deprecated, Value of %s can be "0"; test with defined(), Variable "%s" may be unavailable, Variable "%s" will not stay shared, Warning: something's wrong, Ill-formed logical name |%s| in prime_env_iter, Got an error from DosAllocMem, Malformed PERLLIB_PREFIX, PERL_SH_DIR too long, Process terminated by SIG%s

BUGS
SEE ALSO
HISTORY

perlartistic - the Perl Artistic License

SYNOPSIS
DESCRIPTION
The "Artistic License"
Preamble
Definitions

"Package", "Standard Version", "Copyright Holder", "You", "Reasonable copying fee", "Freely Available"

Conditions

a), b), c), d), a), b), c), d)

perlgpl - the GNU General Public License, version 2

SYNOPSIS
DESCRIPTION
GNU GENERAL PUBLIC LICENSE

perlaix, README.aix - Perl version 5 on IBM Unix (AIX) systems

DESCRIPTION
Compiling Perl 5 on AIX
OS level
Building Dynamic Extensions on AIX
The IBM ANSI C Compiler
The usenm option
Using GNU's gcc for building perl
Using Large Files with Perl
Threaded Perl
64-bit Perl
AIX 4.2 and extensions using C++ with statics
AUTHOR
DATE

perlamiga - Perl under Amiga OS

NOTE
SYNOPSIS
DESCRIPTION
Prerequisites for Compiling Perl on AmigaOS

Unix emulation for AmigaOS: ixemul.library, Version of Amiga OS

Starting Perl programs under AmigaOS
Shortcomings of Perl under AmigaOS
INSTALLATION
Accessing documentation
Manpages for Perl on AmigaOS
Perl HTML Documentation on AmigaOS
Perl GNU Info Files on AmigaOS
Perl LaTeX Documentation on AmigaOS
BUILDING PERL ON AMIGAOS
Build Prerequisites for Perl on AmigaOS
Getting the Perl Source for AmigaOS
Making Perl on AmigaOS
Testing Perl on AmigaOS
Installing the built Perl on AmigaOS
PERL 5.8.0 BROKEN IN AMIGAOS
AUTHORS
SEE ALSO

perlapollo, README.apollo - Perl version 5 on Apollo DomainOS

DESCRIPTION
AUTHOR

perlbeos, README.beos - Perl version 5.8+ on BeOS

DESCRIPTION
BUILD AND INSTALL
Requirements
Configure
Build
Install
KNOWN PROBLEMS
CONTACT

perlbs2000, README.BS2000 - building and installing Perl for BS2000.

SYNOPSIS
DESCRIPTION
gzip on BS2000
bison on BS2000
Unpacking Perl Distribution on BS2000
Compiling Perl on BS2000
Testing Perl on BS2000
Installing Perl on BS2000
Using Perl in the Posix-Shell of BS2000
Using Perl in "native" BS2000
Floating point anomalies on BS2000
Using PerlIO and different encodings on ASCII and EBCDIC partitions
AUTHORS
SEE ALSO
Mailing list
HISTORY

perlce - Perl for WinCE

DESCRIPTION
BUILD
Tools & SDK

Microsoft Embedded Visual Tools, Microsoft Visual C++, Rainer Keuchel's celib-sources, Rainer Keuchel's console-sources

Make

go to ./wince subdirectory, edit file compile.bat, run compile.bat, run compile.bat dist

ACKNOWLEDGEMENTS
AUTHORS

perlcygwin, README.cygwin - Perl for Cygwin

SYNOPSIS
PREREQUISITES FOR COMPILING PERL ON CYGWIN
Cygwin = GNU+Cygnus+Windows (Don't leave UNIX without it)
Cygwin Configuration

PATH, nroff, Permissions

CONFIGURE PERL ON CYGWIN
Stripping Perl Binaries on Cygwin
Optional Libraries for Perl on Cygwin

-lcrypt, -lgdbm (use GDBM_File), -ldb (use DB_File), -lcygipc (use IPC::SysV), -lutil

Configure-time Options for Perl on Cygwin

-Uusedl, -Uusemymalloc, -Uuseperlio, -Dusemultiplicity, -Duse64bitint, -Duselongdouble, -Dusethreads, -Duselargefiles, -Dmksymlinks

Suspicious Warnings on Cygwin

dlsym(), Win9x and d_eofnblk, Compiler/Preprocessor defines

MAKE ON CYGWIN
Errors on Cygwin
ld2 on Cygwin
TEST ON CYGWIN
File Permissions on Cygwin
NDBM_File and ODBM_File do not work on FAT filesystems
fork() failures in io_* tests
Specific features of the Cygwin port
Script Portability on Cygwin

Pathnames, Text/Binary, PerlIO, .exe, cygwin vs. windows process ids, chown(), Miscellaneous

Prebuilt methods:

Cwd::cwd, Cygwin::pid_to_winpid, Cygwin::winpid_to_pid

INSTALL PERL ON CYGWIN
MANIFEST ON CYGWIN

Documentation, Build, Configure, Make, Install, Tests, Compiled Perl Source, Compiled Module Source, Perl Modules/Scripts

BUGS ON CYGWIN
AUTHORS
HISTORY

perldgux - Perl under DG/UX.

SYNOPSIS
DESCRIPTION
BUILDING PERL ON DG/UX
Non-threaded Perl on DG/UX
Threaded Perl on DG/UX
Testing Perl on DG/UX
Installing the built perl on DG/UX
AUTHOR
SEE ALSO

perldos - Perl under DOS, W31, W95.

SYNOPSIS
DESCRIPTION
Prerequisites for Compiling Perl on DOS

DJGPP, Pthreads

Shortcomings of Perl under DOS
Building Perl on DOS
Testing Perl on DOS
Installation of Perl on DOS
BUILDING AND INSTALLING MODULES ON DOS
Building Prerequisites for Perl on DOS
Unpacking CPAN Modules on DOS
Building Non-XS Modules on DOS
Building XS Modules on DOS
AUTHOR
SEE ALSO

perlepoc, README.epoc - Perl for EPOC

SYNOPSIS
INTRODUCTION
INSTALLING PERL ON EPOC
STARTING PERL ON EPOC
Editors on Epoc
Features of Perl on Epoc
Restrictions of Perl on Epoc
Compiling Perl 5 on the EPOC cross compiling environment
SUPPORT STATUS OF PERL ON EPOC
AUTHOR
LAST UPDATE

perlfreebsd, README.freebsd - Perl version 5 on FreeBSD systems

DESCRIPTION
FreeBSD core dumps from readdir_r with ithreads
$^X doesn't always contain a full path in FreeBSD
Perl will no longer be part of "base FreeBSD"
AUTHOR

perlhpux, README.hpux - Perl version 5 on Hewlett-Packard Unix (HP-UX) systems

DESCRIPTION
Using perl as shipped with HP-UX
Using perl from HP's porting centre
Compiling Perl 5 on HP-UX
PA-RISC
Portability Between PA-RISC Versions
PA-RISC 1.0
PA-RISC 1.1
PA-RISC 2.0
Itanium Processor Family and HP-UX
Itanium & Itanium 2
Building Dynamic Extensions on HP-UX
The HP ANSI C Compiler
The GNU C Compiler
Using Large Files with Perl on HP-UX
Threaded Perl on HP-UX
64-bit Perl on HP-UX
Oracle on HP-UX
GDBM and Threads on HP-UX
NFS filesystems and utime(2) on HP-UX
perl -P and // and HP-UX
HP-UX Kernel Parameters (maxdsiz) for Compiling Perl
nss_delete core dump from op/pwent or op/grent
AUTHOR
DATE

perlhurd, README.hurd - Perl version 5 on Hurd

DESCRIPTION
Known Problems with Perl on Hurd
AUTHOR

perlirix, README.irix - Perl version 5 on Irix systems

DESCRIPTION
Building 32-bit Perl in Irix
Building 64-bit Perl in Irix
About Compiler Versions of Irix
Linker Problems in Irix
Malloc in Irix
Building with threads in Irix
Irix 5.3
AUTHOR

perllinux, README.linux - Perl version 5 on Linux systems

DESCRIPTION
Experimental Support for Sun Studio Compilers for Linux OS
AUTHOR

perlmachten, README.machten - Perl version 5 on Power MachTen systems

DESCRIPTION
Perl version 5.8.x and greater not supported
Compiling Perl 5.6.x on MachTen
Failures during make test on MachTen

op/lexassign.t, pragma/warnings.t

Building external modules on MachTen
AUTHOR
DATE

perlmacos, README.macos - Perl under Mac OS (Classic)

SYNOPSIS
DESCRIPTION
AUTHOR
DATE

perlmacosx, README.macosx - Perl under Mac OS X

SYNOPSIS
DESCRIPTION
Installation Prefix
libperl and Prebinding
Updating Apple-supplied Perl
64-bit Perl
Intel processor support
Universal binaries
Known problems
MacPerl
Carbon
Cocoa
Starting From Scratch
AUTHOR
DATE

perlmint, README.mint - Perl version 5 on Atari MiNT

DESCRIPTION
Known problems with Perl on MiNT
AUTHOR

perlmpeix, README.mpeix - Perl/iX for HP e3000 MPE

SYNOPSIS
NOTE
Binary distribution from HP
What's New in Perl for MPE/iX
Welcome to Perl/iX
System Requirements for Perl/iX
How to Obtain Perl/iX
Perl/iX Distribution Contents Highlights

README, INSTALL, LIBSHP3K, PERL, .cpan/, lib/, man/, public_html/feedback.cgi, src/perl-5.6.0-mpe

How to Compile Perl/iX
4,  6
Getting Started with Perl/iX
MPE/iX Implementation Considerations
Known Perl/iX Bugs Under Investigation
Perl/iX To-Do List
Perl/iX Change History
AUTHOR

perlnetware - Perl for NetWare

DESCRIPTION
BUILD
Tools & SDK
Setup

SetNWBld.bat, Buildtype.bat

Make
Interpreter
Extensions
INSTALL
BUILD NEW EXTENSIONS
ACKNOWLEDGEMENTS
AUTHORS
DATE

perlopenbsd, README.openbsd - Perl version 5 on OpenBSD systems

DESCRIPTION
OpenBSD core dumps from getprotobyname_r and getservbyname_r with ithreads
AUTHOR

perlos2 - Perl under OS/2, DOS, Win0.3*, Win0.95 and WinNT.

SYNOPSIS
DESCRIPTION
Target
Other OSes
Prerequisites

EMX, RSX, HPFS, pdksh

Starting Perl programs under OS/2 (and DOS and...)
Starting OS/2 (and DOS) programs under Perl
Frequently asked questions
"It does not work"
I cannot run external programs
I cannot embed perl into my program, or use perl.dll from my program.

Is your program EMX-compiled with -Zmt -Zcrtdll?, Did you use ExtUtils::Embed?

`` and pipe-open do not work under DOS.
Cannot start find.exe "pattern" file
INSTALLATION
Automatic binary installation

PERL_BADLANG, PERL_BADFREE, Config.pm

Manual binary installation

Perl VIO and PM executables (dynamically linked), Perl_ VIO executable (statically linked), Executables for Perl utilities, Main Perl library, Additional Perl modules, Tools to compile Perl modules, Manpages for Perl and utilities, Manpages for Perl modules, Source for Perl documentation, Perl manual in .INF format, Pdksh

Warning
Accessing documentation
OS/2 .INF file
Plain text
Manpages
HTML
GNU info files
PDF files
LaTeX docs
BUILD
The short story
Prerequisites
Getting perl source
Application of the patches
Hand-editing
Making
Testing

A lot of bad free, Process terminated by SIGTERM/SIGINT, op/fs.t, op/stat.t

Installing the built perl
a.out-style build
Building a binary distribution
Building custom .EXE files
Making executables with a custom collection of statically loaded extensions
Making executables with a custom search-paths
Build FAQ
Some / became \ in pdksh.
'errno' - unresolved external
Problems with tr or sed
Some problem (forget which ;-)
Library ... not found
Segfault in make
op/sprintf test failure
Specific (mis)features of OS/2 port
setpriority, getpriority
system()
extproc on the first line
Additional modules:
Prebuilt methods:

File::Copy::syscopy, DynaLoader::mod2fname, Cwd::current_drive(), Cwd::sys_chdir(name), Cwd::change_drive(name), Cwd::sys_is_absolute(name), Cwd::sys_is_rooted(name), Cwd::sys_is_relative(name), Cwd::sys_cwd(name), Cwd::sys_abspath(name, dir), Cwd::extLibpath([type]), Cwd::extLibpath_set( path [, type ] ), OS2::Error(do_harderror,do_exception), OS2::Errors2Drive(drive), OS2::SysInfo(), OS2::BootDrive(), OS2::MorphPM(serve), OS2::UnMorphPM(serve), OS2::Serve_Messages(force), OS2::Process_Messages(force [, cnt]), OS2::_control87(new,mask), OS2::get_control87(), OS2::set_control87_em(new=MCW_EM,mask=MCW_EM), OS2::DLLname([how [, \&xsub]])

Prebuilt variables:

$OS2::emx_rev, $OS2::emx_env, $OS2::os_ver, $OS2::is_aout, $OS2::can_fork, $OS2::nsyserror

Misfeatures
Modifications

popen, tmpnam, tmpfile, ctermid, stat, mkdir, rmdir, flock

Identifying DLLs
Centralized management of resources

HAB, HMQ, Treating errors reported by OS/2 API, CheckOSError(expr), CheckWinError(expr), SaveWinError(expr), SaveCroakWinError(expr,die,name1,name2), WinError_2_Perl_rc, FillWinError, FillOSError(rc), Loading DLLs and ordinals in DLLs

Perl flavors
perl.exe
perl_.exe
perl__.exe
perl___.exe
Why strange names?
Why dynamic linking?
Why chimera build?
ENVIRONMENT
PERLLIB_PREFIX
PERL_BADLANG
PERL_BADFREE
PERL_SH_DIR
USE_PERL_FLOCK
TMP or TEMP
Evolution
Text-mode filehandles
Priorities
DLL name mangling: pre 5.6.2
DLL name mangling: 5.6.2 and beyond

Global DLLs, specific DLLs, BEGINLIBPATH and ENDLIBPATH, . from LIBPATH

DLL forwarder generation
Threading
Calls to external programs
Memory allocation
Threads

COND_WAIT, os2.c

BUGS
AUTHOR
SEE ALSO

perlos390, README.os390 - building and installing Perl for OS/390 and z/OS

SYNOPSIS
DESCRIPTION
Tools
Unpacking Perl distribution on OS/390
Setup and utilities for Perl on OS/390
Configure Perl on OS/390
Build, Test, Install Perl on OS/390
Build Anomalies with Perl on OS/390
Testing Anomalies with Perl on OS/390
Installation Anomalies with Perl on OS/390
Usage Hints for Perl on OS/390
Floating Point Anomalies with Perl on OS/390
Modules and Extensions for Perl on OS/390
AUTHORS
SEE ALSO
Mailing list for Perl on OS/390
HISTORY

perlos400, README.os400 - Perl version 5 on OS/400

DESCRIPTION
Compiling Perl for OS/400 PASE
Installing Perl in OS/400 PASE
Using Perl in OS/400 PASE
Known Problems
Perl on ILE
AUTHORS

perlplan9 - Plan 9-specific documentation for Perl

DESCRIPTION
Invoking Perl
What's in Plan 9 Perl
What's not in Plan 9 Perl
Perl5 Functions not currently supported in Plan 9 Perl
Signals in Plan 9 Perl
COMPILING AND INSTALLING PERL ON PLAN 9
Installing Perl Documentation on Plan 9
BUGS
Revision date
AUTHOR

perlqnx, README.qnx - Perl version 5 on QNX

DESCRIPTION
Required Software for Compiling Perl on QNX4

/bin/sh, ar, nm, cpp, make

Outstanding Issues with Perl on QNX4
QNX auxiliary files

qnx/ar, qnx/cpp

Outstanding issues with perl under QNX6
AUTHOR

perlsolaris, README.solaris - Perl version 5 on Solaris systems

DESCRIPTION
Solaris Version Numbers.
RESOURCES

Solaris FAQ, Precompiled Binaries, Solaris Documentation

SETTING UP
File Extraction Problems on Solaris.
Environment for Compiling perl on Solaris
RUN CONFIGURE.
64-bit perl on Solaris.
Threads in perl on Solaris.
Malloc Issues with perl on Solaris.
MAKE PROBLEMS.

Dynamic Loading Problems With GNU as and GNU ld, ld.so.1: ./perl: fatal: relocation error:, dlopen: stub interception failed, #error "No DATAMODEL_NATIVE specified", sh: ar: not found, warning: dead part of constant expression is nonconstant

MAKE TEST
op/stat.t test 4 in Solaris
nss_delete core dump from op/pwent or op/grent
PREBUILT BINARIES OF PERL FOR SOLARIS.
RUNTIME ISSUES FOR PERL ON SOLARIS.
Limits on Numbers of Open Files on Solaris.
SOLARIS-SPECIFIC MODULES.
SOLARIS-SPECIFIC PROBLEMS WITH MODULES.
Proc::ProcessTable on Solaris
BSD::Resource on Solaris
Net::SSLeay on Solaris
SunOS 4.x
AUTHOR

perltru64, README.tru64 - Perl version 5 on Tru64 (formerly known as Digital UNIX formerly known as DEC OSF/1) systems

DESCRIPTION
Compiling Perl 5 on Tru64
Using Large Files with Perl on Tru64
Threaded Perl on Tru64
Long Doubles on Tru64
DB_File tests failing on Tru64
64-bit Perl on Tru64
Warnings about floating-point overflow when compiling Perl on Tru64
Testing Perl on Tru64
ext/ODBM_File/odbm Test Failing With Static Builds
Perl Fails Because Of Unresolved Symbol sockatmark
AUTHOR

perluts - Perl under UTS

SYNOPSIS
DESCRIPTION
BUILDING PERL ON UTS
Installing the built perl on UTS
AUTHOR

perlvmesa, README.vmesa - building and installing Perl for VM/ESA.

SYNOPSIS
DESCRIPTION
Unpacking Perl Distribution on VM/ESA
Setup Perl and utilities on VM/ESA
Configure Perl on VM/ESA
Testing Anomalies of Perl on VM/ESA
Usage Hints for Perl on VM/ESA
AUTHORS
SEE ALSO
Mailing list for Perl on VM/ESA

perlvms - VMS-specific documentation for Perl

DESCRIPTION
Installation
Organization of Perl Images
Core Images
Perl Extensions
Installing static extensions
Installing dynamic extensions
File specifications
Syntax
Wildcard expansion
Pipes
PERL5LIB and PERLLIB
Command line
I/O redirection and backgrounding
Command line switches

-i, -S, -u

Perl functions

File tests, backticks, binmode FILEHANDLE, crypt PLAINTEXT, USER, dump, exec LIST, fork, getpwent, getpwnam, getpwuid, gmtime, kill, qx//, select (system call), stat EXPR, system LIST, time, times, unlink LIST, utime LIST, waitpid PID,FLAGS

Perl variables

%ENV, CRTL_ENV, CLISYM_[LOCAL], Any other string, $!, $^E, $?, $|

Standard modules with VMS-specific differences
SDBM_File
Revision date
AUTHOR

perlvos, README.vos - Perl for Stratus VOS

SYNOPSIS
Multiple methods to build perl for VOS
Stratus POSIX Support
INSTALLING PERL IN VOS
Compiling Perl 5 on VOS
Installing Perl 5 on VOS
USING PERL IN VOS
Unimplemented Features of Perl on VOS
Restrictions of Perl on VOS
Handling of underflow and overflow
TEST STATUS
SUPPORT STATUS
AUTHOR
LAST UPDATE

perlwin32 - Perl under Windows

SYNOPSIS
DESCRIPTION
Setting Up Perl on Win32

Make, Command Shell, Borland C++, Microsoft Visual C++, Microsoft Visual C++ Toolkit 2003, Microsoft Platform SDK 64-bit Compiler, MinGW release 3 with gcc, MinGW release 1 with gcc

Building
Testing Perl on Win32
Installation of Perl on Win32
Usage Hints for Perl on Win32

Environment Variables, File Globbing, Using perl from the command line, Building Extensions, Command-line Wildcard Expansion, Win32 Specific Extensions, Notes on 64-bit Windows

Running Perl Scripts
Miscellaneous Things
BUGS AND CAVEATS
ACKNOWLEDGEMENTS
AUTHORS

Gary Ng <71564.1743@CompuServe.COM>, Gurusamy Sarathy <gsar@activestate.com>, Nick Ing-Simmons <nick@ing-simmons.net>, Jan Dubois <jand@activestate.com>, Steve Hay <steve.hay@uk.radan.com>

SEE ALSO
HISTORY

PRAGMA DOCUMENTATION

attrs - set/get attributes of a subroutine (deprecated)

SYNOPSIS
DESCRIPTION

method, locked

re - Perl pragma to alter regular expression behaviour

SYNOPSIS
DESCRIPTION

threadshared::shared, threads::shared - Perl extension for sharing data structures between threads

SYNOPSIS
DESCRIPTION
EXPORT
FUNCTIONS

share VARIABLE, lock VARIABLE, cond_wait VARIABLE, cond_wait CONDVAR, LOCKVAR, cond_timedwait VARIABLE, ABS_TIMEOUT, cond_timedwait CONDVAR, ABS_TIMEOUT, LOCKVAR, cond_signal VARIABLE, cond_broadcast VARIABLE

NOTES
BUGS
AUTHOR
SEE ALSO

threads - Perl extension allowing use of interpreter based threads from perl

SYNOPSIS
DESCRIPTION

$thread = threads->create(function, LIST), $thread->join, $thread->detach, threads->self, $thread->tid, threads->object( tid ), threads->yield();, threads->list();, async BLOCK;

WARNINGS

A thread exited while %d other threads were still running

TODO
BUGS

Parent-Child threads, tid is I32, Returning objects, Creating threads inside BEGIN blocks, PERL_OLD_SIGNALS are not threadsafe, will not be

AUTHOR and COPYRIGHT
SEE ALSO

attributes - get/set subroutine or variable attributes

SYNOPSIS
DESCRIPTION
Built-in Attributes

locked, method, lvalue

Available Subroutines

get, reftype

Package-specific Attribute Handling

FETCH_type_ATTRIBUTES, MODIFY_type_ATTRIBUTES

Syntax of Attribute Lists
EXPORTS
Default exports
Available exports
Export tags defined
EXAMPLES
SEE ALSO

autouse - postpone load of modules until a function is used

SYNOPSIS
DESCRIPTION
WARNING
AUTHOR
SEE ALSO

base - Establish IS-A relationship with base classes at compile time

SYNOPSIS
DESCRIPTION
DIAGNOSTICS

Base class package "%s" is empty

HISTORY
CAVEATS
SEE ALSO

bigint - Transparent BigInteger support for Perl

SYNOPSIS
DESCRIPTION
Options

a or accuracy, p or precision, t or trace, l or lib, v or version

Math Library
Internal Format
Sign
Methods
Caveat
MODULES USED
EXAMPLES
LICENSE
SEE ALSO
AUTHORS

bignum - Transparent BigNumber support for Perl

SYNOPSIS
DESCRIPTION
Options

a or accuracy, p or precision, t or trace, l or lib, v or version

Methods
Caveat

inf(), NaN(), upgrade()

MATH LIBRARY
INTERNAL FORMAT
SIGN
MODULES USED
EXAMPLES
LICENSE
SEE ALSO
AUTHORS

bigrat - Transparent BigNumber/BigRational support for Perl

SYNOPSIS
DESCRIPTION
Modules Used
Math Library
Sign
Methods
Cavaet
Options

a or accuracy, p or precision, t or trace, l or lib, v or version

EXAMPLES
perl -Mbigrat -le 'print sqrt(33)'
perl -Mbigrat -le 'print 2*255'
perl -Mbigrat -le 'print 4.5+2*255'
perl -Mbigrat -le 'print 3/7 + 5/7 + 8/3'	
perl -Mbigrat -le 'print 12->is_odd()';
LICENSE
SEE ALSO
AUTHORS

blib - Use MakeMaker's uninstalled version of a package

SYNOPSIS
DESCRIPTION
BUGS
AUTHOR

bytes - Perl pragma to force byte semantics rather than character semantics

SYNOPSIS
DESCRIPTION
LIMITATIONS
SEE ALSO

charnames - define character names for \N{named} string literal escapes

SYNOPSIS
DESCRIPTION
CUSTOM TRANSLATORS
CUSTOM ALIASES
Anonymous hashes
Alias file
Alias shortcut
charnames::viacode(code)
charnames::vianame(name)
ALIASES
ILLEGAL CHARACTERS
BUGS

constant - Perl pragma to declare constants

SYNOPSIS
DESCRIPTION
NOTES
List constants
Defining multiple constants at once
Magic constants
TECHNICAL NOTES
BUGS
AUTHOR
COPYRIGHT

diagnostics, splain - produce verbose warning diagnostics

SYNOPSIS
DESCRIPTION
The diagnostics Pragma
The splain Program
EXAMPLES
INTERNALS
BUGS
AUTHOR

encoding - allows you to write your script in non-ascii or non-utf8

SYNOPSIS
ABSTRACT
Literal Conversions
PerlIO layers for STD(IN|OUT)
Implicit upgrading for byte strings
FEATURES THAT REQUIRE 5.8.1

"NON-EUC" doublebyte encodings, tr//, DATA pseudo-filehandle

USAGE

use encoding [ENCNAME] ;, use encoding ENCNAME [ STDIN => ENCNAME_IN ...] ;, use encoding ENCNAME Filter=>1;, no encoding;

The Filter Option
CAVEATS
NOT SCOPED
DO NOT MIX MULTIPLE ENCODINGS
tr/// with ranges

Legend of characters above

EXAMPLE - Greekperl
KNOWN PROBLEMS

literals in regex that are longer than 127 bytes, EBCDIC, format

The Logic of :locale
HISTORY
SEE ALSO

fields - compile-time class fields

SYNOPSIS
DESCRIPTION

new, phash

SEE ALSO

filetest - Perl pragma to control the filetest permission operators

SYNOPSIS
DESCRIPTION
subpragma access

if - use a Perl module if a condition holds

SYNOPSIS
DESCRIPTION
BUGS
AUTHOR

integer - Perl pragma to use integer arithmetic instead of floating point

SYNOPSIS
DESCRIPTION

less - perl pragma to request less of something from the compiler

SYNOPSIS
DESCRIPTION

lib - manipulate @INC at compile time

SYNOPSIS
DESCRIPTION
Adding directories to @INC
Deleting directories from @INC
Restoring original @INC
CAVEATS
NOTES
SEE ALSO
AUTHOR

locale - Perl pragma to use and avoid POSIX locales for built-in operations

SYNOPSIS
DESCRIPTION

open - perl pragma to set default PerlIO layers for input and output

SYNOPSIS
DESCRIPTION
NONPERLIO FUNCTIONALITY
IMPLEMENTATION DETAILS
SEE ALSO

ops - Perl pragma to restrict unsafe operations when compiling

SYNOPSIS
DESCRIPTION
SEE ALSO

overload - Package for overloading Perl operations

SYNOPSIS
DESCRIPTION
Declaration of overloaded functions
Calling Conventions for Binary Operations

FALSE, TRUE, undef

Calling Conventions for Unary Operations
Calling Conventions for Mutators

++ and --, x= and other assignment versions

Overloadable Operations

Arithmetic operations, Comparison operations, Bit operations, Increment and decrement, Transcendental functions, Boolean, string and numeric conversion, Iteration, Dereferencing, Special

Inheritance and overloading

Strings as values of use overload directive, Overloading of an operation is inherited by derived classes

SPECIAL SYMBOLS FOR use overload
Last Resort
Fallback

undef, TRUE, defined, but FALSE

Copy Constructor

Example

MAGIC AUTOGENERATION

Assignment forms of arithmetic operations, Conversion operations, Increment and decrement, abs($a), Unary minus, Negation, Concatenation, Comparison operations, Iterator, Dereferencing, Copy operator

Losing overloading
Run-time Overloading
Public functions

overload::StrVal(arg), overload::Overloaded(arg), overload::Method(obj,op)

Overloading constants

integer, float, binary, q, qr

IMPLEMENTATION
Metaphor clash
Cookbook
Two-face scalars
Two-face references
Symbolic calculator
Really symbolic calculator
AUTHOR
DIAGNOSTICS

Odd number of arguments for overload::constant, `%s' is not an overloadable type, `%s' is not a code reference

BUGS

sigtrap - Perl pragma to enable simple signal handling

SYNOPSIS
DESCRIPTION
OPTIONS
SIGNAL HANDLERS

stack-trace, die, handler your-handler

SIGNAL LISTS

normal-signals, error-signals, old-interface-signals

OTHER

untrapped, any, signal, number

EXAMPLES

sort - perl pragma to control sort() behaviour

SYNOPSIS
DESCRIPTION
CAVEATS

strict - Perl pragma to restrict unsafe constructs

SYNOPSIS
DESCRIPTION

strict refs, strict vars, strict subs

HISTORY

subs - Perl pragma to predeclare sub names

SYNOPSIS
DESCRIPTION

threadshared, threads::shared - Perl extension for sharing data structures between threads

SYNOPSIS
DESCRIPTION
EXPORT
FUNCTIONS

share VARIABLE, lock VARIABLE, cond_wait VARIABLE, cond_wait CONDVAR, LOCKVAR, cond_timedwait VARIABLE, ABS_TIMEOUT, cond_timedwait CONDVAR, ABS_TIMEOUT, LOCKVAR, cond_signal VARIABLE, cond_broadcast VARIABLE

NOTES
BUGS
AUTHOR
SEE ALSO

utf8 - Perl pragma to enable/disable UTF-8 (or UTF-EBCDIC) in source code

SYNOPSIS
DESCRIPTION
Utility functions

$num_octets = utf8::upgrade($string), $success = utf8::downgrade($string[, FAIL_OK]), utf8::encode($string), utf8::decode($string), $flag = utf8::is_utf8(STRING), $flag = utf8::valid(STRING)

BUGS
SEE ALSO

vars - Perl pragma to predeclare global variable names (obsolete)

SYNOPSIS
DESCRIPTION

vmsish - Perl pragma to control VMS-specific language features

SYNOPSIS
DESCRIPTION

vmsish status, vmsish exit, vmsish time, vmsish hushed

warnings - Perl pragma to control optional warnings

SYNOPSIS
DESCRIPTION

use warnings::register, warnings::enabled(), warnings::enabled($category), warnings::enabled($object), warnings::warn($message), warnings::warn($category, $message), warnings::warn($object, $message), warnings::warnif($message), warnings::warnif($category, $message), warnings::warnif($object, $message)

warnings::register - warnings import function

SYNOPSIS
DESCRIPTION

MODULE DOCUMENTATION

AnyDBM_File - provide framework for multiple DBMs

SYNOPSIS
DESCRIPTION
DBM Comparisons

[0], [1], [2], [3]

SEE ALSO

Attribute::Handlers - Simpler definition of attribute handlers

VERSION
SYNOPSIS
DESCRIPTION

[0], [1], [2], [3], [4], [5]

Typed lexicals
Type-specific attribute handlers
Non-interpretive attribute handlers
Phase-specific attribute handlers
Attributes as tie interfaces
EXAMPLES
DIAGNOSTICS

Bad attribute type: ATTR(%s), Attribute handler %s doesn't handle %s attributes, Declaration of %s attribute in package %s may clash with future reserved word, Can't have two ATTR specifiers on one subroutine, Can't autotie a %s, Internal error: %s symbol went missing, Won't be able to apply END handler

AUTHOR
BUGS
COPYRIGHT

AutoLoader - load subroutines only on demand

SYNOPSIS
DESCRIPTION
Subroutine Stubs
Using AutoLoader's AUTOLOAD Subroutine
Overriding AutoLoader's AUTOLOAD Subroutine
Package Lexicals
Not Using AutoLoader
AutoLoader vs. SelfLoader
CAVEATS
SEE ALSO

AutoSplit - split a package for autoloading

SYNOPSIS
DESCRIPTION

$keep, $check, $modtime

Multiple packages
DIAGNOSTICS

B - The Perl Compiler

SYNOPSIS
DESCRIPTION
OVERVIEW
Utility Functions
Functions Returning B::SV, B::AV, B::HV, and B::CV objects

sv_undef, sv_yes, sv_no, svref_2object(SVREF), amagic_generation, init_av, check_av, begin_av, end_av, comppadlist, regex_padav, main_cv

Functions for Examining the Symbol Table

walksymtable(SYMREF, METHOD, RECURSE, PREFIX)

Functions Returning B::OP objects or for walking op trees

main_root, main_start, walkoptree(OP, METHOD), walkoptree_debug(DEBUG)

Miscellaneous Utility Functions

ppname(OPNUM), hash(STR), cast_I32(I), minus_c, cstring(STR), perlstring(STR), class(OBJ), threadsv_names

OVERVIEW OF CLASSES
B::SV Methods

REFCNT, FLAGS, object_2svref

B::IV Methods

IV, IVX, UVX, int_value, needs64bits, packiv

B::NV Methods

NV, NVX

B::RV Methods

RV

B::PV Methods

PV, RV, PVX

B::PVMG Methods

MAGIC, SvSTASH

B::MAGIC Methods

MOREMAGIC, precomp, PRIVATE, TYPE, FLAGS, OBJ, PTR, REGEX

B::PVLV Methods

TARGOFF, TARGLEN, TYPE, TARG

B::BM Methods

USEFUL, PREVIOUS, RARE, TABLE

B::GV Methods

is_empty, NAME, SAFENAME, STASH, SV, IO, FORM, AV, HV, EGV, CV, CVGEN, LINE, FILE, FILEGV, GvREFCNT, FLAGS

B::IO Methods

LINES, PAGE, PAGE_LEN, LINES_LEFT, TOP_NAME, TOP_GV, FMT_NAME, FMT_GV, BOTTOM_NAME, BOTTOM_GV, SUBPROCESS, IoTYPE, IoFLAGS, IsSTD

B::AV Methods

FILL, MAX, OFF, ARRAY, ARRAYelt, AvFLAGS

B::CV Methods

STASH, START, ROOT, GV, FILE, DEPTH, PADLIST, OUTSIDE, OUTSIDE_SEQ, XSUB, XSUBANY, CvFLAGS, const_sv

B::HV Methods

FILL, MAX, KEYS, RITER, NAME, PMROOT, ARRAY

B::OP Methods

next, sibling, name, ppaddr, desc, targ, type, opt, static, flags, private, spare

B::UNOP METHOD

first

B::BINOP METHOD

last

B::LOGOP METHOD

other

B::LISTOP METHOD

children

B::PMOP Methods

pmreplroot, pmreplstart, pmnext, pmregexp, pmflags, pmdynflags, pmpermflags, precomp, pmoffset

B::SVOP METHOD

sv, gv

B::PADOP METHOD

padix

B::PVOP METHOD

pv

B::LOOP Methods

redoop, nextop, lastop

B::COP Methods

label, stash, stashpv, file, cop_seq, arybase, line, warnings, io

AUTHOR

B::Asmdata - Autogenerated data about Perl ops, used to generate bytecode

SYNOPSIS
DESCRIPTION

%insn_data, @insn_name, @optype, @specialsv_name

AUTHOR

B::Assembler - Assemble Perl bytecode

SYNOPSIS
DESCRIPTION
AUTHORS

B::Bblock - Walk basic blocks

SYNOPSIS
DESCRIPTION
Functions

find_leaders

AUTHOR

B::Bytecode - Perl compiler's bytecode backend

SYNOPSIS
DESCRIPTION
EXAMPLE
OPTIONS

-b, -H, -k, -ooutfile, -s

KNOWN BUGS
NOTICE
AUTHORS

B::C - Perl compiler's C backend

SYNOPSIS
DESCRIPTION
OPTIONS

-ofilename, -v, --, -uPackname, -D, -Do, -Dc, -DA, -DC, -DM, -f, -fcog, -fsave-data, -fppaddr, -fwarn-sv, -fuse-script-name, -fsave-sig-hash, -On, -O0, -O1, -O2, -llimit

EXAMPLES
BUGS
AUTHOR

B::CC - Perl compiler's optimized C translation backend

SYNOPSIS
DESCRIPTION
OPTIONS

-ofilename, -v, --, -uPackname, -mModulename, -D, -Dr, -DO, -Ds, -Dp, -Dq, -Dl, -Dt, -f, -ffreetmps-each-bblock, -ffreetmps-each-loop, -fomit-taint, -On

EXAMPLES
BUGS
DIFFERENCES
Loops
Context of ".."
Arithmetic
Deprecated features
AUTHOR

B::Concise - Walk Perl syntax tree, printing concise info about ops

SYNOPSIS
DESCRIPTION
EXAMPLE
OPTIONS
Options for Opcode Ordering

-basic, -exec, -tree

Options for Line-Style

-concise, -terse, -linenoise, -debug, -env

Options for tree-specific formatting

-compact, -loose, -vt, -ascii

Options controlling sequence numbering

-basen, -bigendian, -littleendian

Other options

-main, -nomain, -nobanner, -banner, -banneris => subref

Option Stickiness
ABBREVIATIONS
OP class abbreviations
OP flags abbreviations
FORMATTING SPECIFICATIONS
Special Patterns

(x(exec_text;basic_text)x), (*(text)*), (*(text1;text2)*), (?(text1#varText2)?), ~

# Variables

#var, #varN, #Var, #addr, #arg, #class, #classsym, #coplabel, #exname, #extarg, #firstaddr, #flags, #flagval, #hyphseq, #label, #lastaddr, #name, #NAME, #next, #nextaddr, #noise, #private, #privval, #seq, #seqnum, #opt, #static, #sibaddr, #svaddr, #svclass, #svval, #targ, #targarg, #targarglife, #typenum

Using B::Concise outside of the O framework
Example: Altering Concise Renderings
set_style()
set_style_standard($name)
add_style()
add_callback()
Running B::Concise::compile()
B::Concise::reset_sequence()
Errors
AUTHOR

B::Debug - Walk Perl syntax tree, printing debug info about ops

SYNOPSIS
DESCRIPTION
AUTHOR

B::Deparse - Perl compiler backend to produce perl code

SYNOPSIS
DESCRIPTION
OPTIONS

-d, -fFILE, -l, -p, -P, -q, -sLETTERS, C, iNUMBER, T, vSTRING., -xLEVEL

USING B::Deparse AS A MODULE
Synopsis
Description
new
ambient_pragmas

strict, $[, bytes, utf8, integer, re, warnings, hint_bits, warning_bits

coderef2text
BUGS
AUTHOR

B::Disassembler - Disassemble Perl bytecode

SYNOPSIS
DESCRIPTION
AUTHOR

B::Lint - Perl lint

SYNOPSIS
DESCRIPTION
OPTIONS AND LINT CHECKS

context, implicit-read and implicit-write, bare-subs, dollar-underscore, private-names, undefined-subs, regexp-variables, all, none

NON LINT-CHECK OPTIONS

-u Package

BUGS
AUTHOR

B::O, O - Generic interface to Perl Compiler backends

SYNOPSIS
DESCRIPTION
CONVENTIONS
IMPLEMENTATION
BUGS
AUTHOR

B::Showlex - Show lexical variables used in functions or files

SYNOPSIS
DESCRIPTION
EXAMPLES
OPTIONS
SEE ALSO
TODO
AUTHOR

B::Stackobj - Helper module for CC backend

SYNOPSIS
DESCRIPTION
AUTHOR

B::Stash - show what stashes are loaded

B::Terse - Walk Perl syntax tree, printing terse info about ops

SYNOPSIS
DESCRIPTION
AUTHOR

B::Xref - Generates cross reference reports for Perl programs

SYNOPSIS
DESCRIPTION
OPTIONS

-oFILENAME, -r, -d, -D[tO]

BUGS
AUTHOR

Bblock, B::Bblock - Walk basic blocks

SYNOPSIS
DESCRIPTION
Functions

find_leaders

AUTHOR

Benchmark - benchmark running times of Perl code

SYNOPSIS
DESCRIPTION
Methods

new, debug, iters

Standard Exports

timeit(COUNT, CODE), timethis ( COUNT, CODE, [ TITLE, [ STYLE ]] ), timethese ( COUNT, CODEHASHREF, [ STYLE ] ), timediff ( T1, T2 ), timestr ( TIMEDIFF, [ STYLE, [ FORMAT ] ] )

Optional Exports

clearcache ( COUNT ), clearallcache ( ), cmpthese ( COUNT, CODEHASHREF, [ STYLE ] ), cmpthese ( RESULTSHASHREF, [ STYLE ] ), countit(TIME, CODE), disablecache ( ), enablecache ( ), timesum ( T1, T2 )

:hireswallclock
NOTES
EXAMPLES
INHERITANCE
CAVEATS
SEE ALSO
AUTHORS
MODIFICATION HISTORY

ByteLoader - load byte compiled perl code

SYNOPSIS
DESCRIPTION
AUTHOR
SEE ALSO

Bytecode, B::Bytecode - Perl compiler's bytecode backend

SYNOPSIS
DESCRIPTION
EXAMPLE
OPTIONS

-b, -H, -k, -ooutfile, -s

KNOWN BUGS
NOTICE
AUTHORS

CGI - Simple Common Gateway Interface Class

SYNOPSIS
ABSTRACT
DESCRIPTION
PROGRAMMING STYLE
CALLING CGI.PM ROUTINES
CREATING A NEW QUERY OBJECT (OBJECT-ORIENTED STYLE):
CREATING A NEW QUERY OBJECT FROM AN INPUT FILE
FETCHING A LIST OF KEYWORDS FROM THE QUERY:
FETCHING THE NAMES OF ALL THE PARAMETERS PASSED TO YOUR SCRIPT:
FETCHING THE VALUE OR VALUES OF A SINGLE NAMED PARAMETER:
SETTING THE VALUE(S) OF A NAMED PARAMETER:
APPENDING ADDITIONAL VALUES TO A NAMED PARAMETER:
IMPORTING ALL PARAMETERS INTO A NAMESPACE:
DELETING A PARAMETER COMPLETELY:
DELETING ALL PARAMETERS:
HANDLING NON-URLENCODED ARGUMENTS
DIRECT ACCESS TO THE PARAMETER LIST:
FETCHING THE PARAMETER LIST AS A HASH:
SAVING THE STATE OF THE SCRIPT TO A FILE:
RETRIEVING CGI ERRORS
USING THE FUNCTION-ORIENTED INTERFACE

:cgi, :form, :html2, :html3, :html4, :netscape, :html, :standard, :all

PRAGMAS

-any, -compile, -nosticky, -tabindex, -no_undef_params, -no_xhtml, -nph, -newstyle_urls, -oldstyle_urls, -autoload, -no_debug, -debug, -private_tempfiles

SPECIAL FORMS FOR IMPORTING HTML-TAG FUNCTIONS

1. start_table() (generates a <table> tag), 2. end_table() (generates a </table> tag), 3. start_ul() (generates a <ul> tag), 4. end_ul() (generates a </ul> tag)

GENERATING DYNAMIC DOCUMENTS
CREATING A STANDARD HTTP HEADER:
GENERATING A REDIRECTION HEADER
CREATING THE HTML DOCUMENT HEADER

Parameters:, 4, 5, 6..

ENDING THE HTML DOCUMENT:
CREATING A SELF-REFERENCING URL THAT PRESERVES STATE INFORMATION:
OBTAINING THE SCRIPT'S URL

-absolute, -relative, -full, -path (-path_info), -query (-query_string), -base, -rewrite

MIXING POST AND URL PARAMETERS
CREATING STANDARD HTML ELEMENTS:
PROVIDING ARGUMENTS TO HTML SHORTCUTS
THE DISTRIBUTIVE PROPERTY OF HTML SHORTCUTS
HTML SHORTCUTS AND LIST INTERPOLATION
NON-STANDARD HTML SHORTCUTS
AUTOESCAPING HTML

$escaped_string = escapeHTML("unescaped string");, $charset = charset([$charset]);, $flag = autoEscape([$flag]);

PRETTY-PRINTING HTML
CREATING FILL-OUT FORMS:
CREATING AN ISINDEX TAG
STARTING AND ENDING A FORM

application/x-www-form-urlencoded, multipart/form-data

FORM ELEMENTS

-name, -value, -values, -tabindex, -id, -override, -onChange, -onFocus, -onBlur, -onMouseOver, -onMouseOut, -onSelect

CREATING A TEXT FIELD

Parameters

CREATING A BIG TEXT FIELD
CREATING A PASSWORD FIELD
CREATING A FILE UPLOAD FIELD

Parameters

CREATING A POPUP MENU
CREATING AN OPTION GROUP
CREATING A SCROLLING LIST

Parameters:

Parameters:

CREATING A STANDALONE CHECKBOX

Parameters:

CREATING A RADIO BUTTON GROUP

Parameters:

CREATING A SUBMIT BUTTON

Parameters:

CREATING A RESET BUTTON
CREATING A DEFAULT BUTTON
CREATING A HIDDEN FIELD

Parameters:

CREATING A CLICKABLE IMAGE BUTTON

Parameters:, 3. The third option (-align, optional) is an alignment type, and may be TOP, BOTTOM or MIDDLE

CREATING A JAVASCRIPT ACTION BUTTON
HTTP COOKIES

1. an expiration time, 2. a domain, 3. a path, 4. a "secure" flag, -name, -value, -path, -domain, -expires, -secure

WORKING WITH FRAMES

1. Create a <Frameset> document, 2. Specify the destination for the document in the HTTP header, 3. Specify the destination for the document in the <form> tag

SUPPORT FOR JAVASCRIPT

onLoad, onUnload, onSubmit, onClick, onChange, onFocus, onBlur, onSelect, onMouseOver, onMouseOut

LIMITED SUPPORT FOR CASCADING STYLE SHEETS
DEBUGGING
DUMPING OUT ALL THE NAME/VALUE PAIRS
FETCHING ENVIRONMENT VARIABLES

Accept(), raw_cookie(), user_agent(), path_info(), path_translated(), remote_host(), script_name() Return the script name as a partial URL, for self-refering scripts, referer(), auth_type (), server_name (), virtual_host (), server_port (), virtual_port (), server_software (), remote_user (), user_name (), request_method(), content_type(), http(), https()

USING NPH SCRIPTS

In the use statement, By calling the nph() method:, By using -nph parameters

Server Push

multipart_init(), multipart_start(), multipart_end(), multipart_final()

Avoiding Denial of Service Attacks

$CGI::POST_MAX, $CGI::DISABLE_UPLOADS, 1. On a script-by-script basis, 2. Globally for all scripts

COMPATIBILITY WITH CGI-LIB.PL
AUTHOR INFORMATION
CREDITS

Matt Heffron (heffron@falstaff.css.beckman.com), James Taylor (james.taylor@srs.gov), Scott Anguish <sanguish@digifix.com>, Mike Jewell (mlj3u@virginia.edu), Timothy Shimmin (tes@kbs.citri.edu.au), Joergen Haegg (jh@axis.se), Laurent Delfosse (delfosse@delfosse.com), Richard Resnick (applepi1@aol.com), Craig Bishop (csb@barwonwater.vic.gov.au), Tony Curtis (tc@vcpc.univie.ac.at), Tim Bunce (Tim.Bunce@ig.co.uk), Tom Christiansen (tchrist@convex.com), Andreas Koenig (k@franz.ww.TU-Berlin.DE), Tim MacKenzie (Tim.MacKenzie@fulcrum.com.au), Kevin B. Hendricks (kbhend@dogwood.tyler.wm.edu), Stephen Dahmen (joyfire@inxpress.net), Ed Jordan (ed@fidalgo.net), David Alan Pisoni (david@cnation.com), Doug MacEachern (dougm@opengroup.org), Robin Houston (robin@oneworld.org), ...and many many more..

A COMPLETE EXAMPLE OF A SIMPLE FORM-BASED SCRIPT
BUGS
SEE ALSO

CGI::Apache - Backward compatibility module for CGI.pm

SYNOPSIS
ABSTRACT
DESCRIPTION
AUTHOR INFORMATION
BUGS
SEE ALSO

CGI::Carp, CGI::Carp - CGI routines for writing to the HTTPD (or other) error log

SYNOPSIS
DESCRIPTION
REDIRECTING ERROR MESSAGES
MAKING PERL ERRORS APPEAR IN THE BROWSER WINDOW
Changing the default message
MAKING WARNINGS APPEAR AS HTML COMMENTS
OVERRIDING THE NAME OF THE PROGRAM
AUTHORS
SEE ALSO

CGI::Cookie - Interface to Netscape Cookies

SYNOPSIS
DESCRIPTION
USING CGI::Cookie

1. expiration date, 2. domain, 3. path, 4. secure flag

Creating New Cookies
Recovering Previous Cookies
Manipulating Cookies

name(), value(), domain(), path(), expires()

AUTHOR INFORMATION
BUGS
SEE ALSO

CGI::Fast - CGI Interface for Fast CGI

SYNOPSIS
DESCRIPTION
OTHER PIECES OF THE PUZZLE
WRITING FASTCGI PERL SCRIPTS
INSTALLING FASTCGI SCRIPTS
USING FASTCGI SCRIPTS AS CGI SCRIPTS
EXTERNAL FASTCGI SERVER INVOCATION

FCGI_SOCKET_PATH, FCGI_LISTEN_QUEUE

CAVEATS
AUTHOR INFORMATION
BUGS
SEE ALSO

CGI::Pretty - module to produce nicely formatted HTML code

SYNOPSIS
DESCRIPTION
Tags that won't be formatted
Customizing the Indenting
BUGS
AUTHOR
SEE ALSO

CGI::Push - Simple Interface to Server Push

SYNOPSIS
DESCRIPTION
USING CGI::Push

-next_page, -last_page, -type, -delay, -cookie, -target, -expires, -nph

Heterogeneous Pages
Changing the Page Delay on the Fly
INSTALLING CGI::Push SCRIPTS
AUTHOR INFORMATION
BUGS
SEE ALSO

CGI::Switch - Backward compatibility module for defunct CGI::Switch

SYNOPSIS
ABSTRACT
DESCRIPTION
AUTHOR INFORMATION
BUGS
SEE ALSO

CGI::Util - Internal utilities used by CGI module

SYNOPSIS
DESCRIPTION
AUTHOR INFORMATION
SEE ALSO

CPAN - query, download and build perl modules from CPAN sites

SYNOPSIS
STATUS
DESCRIPTION
Interactive Mode

Searching for authors, bundles, distribution files and modules, make, test, install, clean modules or distributions, get, readme, perldoc, look module or distribution, ls author, ls globbing_expresion, Signals

CPAN::Shell
autobundle
recompile
The four CPAN::* Classes: Author, Bundle, Module, Distribution
Programmer's interface

expand($type,@things), expandany(@things), Programming Examples

Methods in the other Classes

CPAN::Author::as_glimpse(), CPAN::Author::as_string(), CPAN::Author::email(), CPAN::Author::fullname(), CPAN::Author::name(), CPAN::Bundle::as_glimpse(), CPAN::Bundle::as_string(), CPAN::Bundle::clean(), CPAN::Bundle::contains(), CPAN::Bundle::force($method,@args), CPAN::Bundle::get(), CPAN::Bundle::inst_file(), CPAN::Bundle::inst_version(), CPAN::Bundle::uptodate(), CPAN::Bundle::install(), CPAN::Bundle::make(), CPAN::Bundle::readme(), CPAN::Bundle::test(), CPAN::Distribution::as_glimpse(), CPAN::Distribution::as_string(), CPAN::Distribution::clean(), CPAN::Distribution::containsmods(), CPAN::Distribution::cvs_import(), CPAN::Distribution::dir(), CPAN::Distribution::force($method,@args), CPAN::Distribution::get(), CPAN::Distribution::install(), CPAN::Distribution::isa_perl(), CPAN::Distribution::look(), CPAN::Distribution::make(), CPAN::Distribution::prereq_pm(), CPAN::Distribution::readme(), CPAN::Distribution::perldoc(), CPAN::Distribution::test(), CPAN::Distribution::uptodate(), CPAN::Index::force_reload(), CPAN::Index::reload(), CPAN::InfoObj::dump(), CPAN::Module::as_glimpse(), CPAN::Module::as_string(), CPAN::Module::clean(), CPAN::Module::cpan_file(), CPAN::Module::cpan_version(), CPAN::Module::cvs_import(), CPAN::Module::description(), CPAN::Module::force($method,@args), CPAN::Module::get(), CPAN::Module::inst_file(), CPAN::Module::inst_version(), CPAN::Module::install(), CPAN::Module::look(), CPAN::Module::make(), CPAN::Module::manpage_headline(), CPAN::Module::readme(), CPAN::Module::perldoc(), CPAN::Module::test(), CPAN::Module::uptodate(), CPAN::Module::userid()

Cache Manager
Bundles
Prerequisites
Finding packages and VERSION
Debugging
Floppy, Zip, Offline Mode
CONFIGURATION

o conf <scalar option>, o conf <scalar option> <value>, o conf <list option>, o conf <list option> [shift|pop], o conf <list option> [unshift|push|splice] <list>

Note on urllist parameter's format
urllist parameter has CD-ROM support
SECURITY
Cryptographically signed modules
EXPORT
POPULATE AN INSTALLATION WITH LOTS OF MODULES
WORKING WITH CPAN.pm BEHIND FIREWALLS
Three basic types of firewalls

http firewall, ftp firewall, One way visibility, SOCKS, IP Masquerade

Configuring lynx or ncftp for going through a firewall
FAQ

1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11)

BUGS
AUTHOR
TRANSLATIONS
SEE ALSO

CPAN::FirstTime - Utility for CPAN::Config file Initialization

SYNOPSIS
DESCRIPTION

CPAN::Version - utility functions to compare CPAN versions

SYNOPSIS
DESCRIPTION

CPANox, CPAN::Nox - Wrapper around CPAN.pm without using any XS module

SYNOPSIS
DESCRIPTION
SEE ALSO

Carp, carp - warn of errors (from perspective of caller)

SYNOPSIS
DESCRIPTION
Forcing a Stack Trace
GLOBAL VARIABLES
$Carp::CarpLevel
$Carp::MaxEvalLen
$Carp::MaxArgLen
$Carp::MaxArgNums
$Carp::Verbose
BUGS

Carp::Heavy - heavy machinery, no user serviceable parts inside

Class::ISA -- report the search path for a class's ISA tree

SYNOPSIS
DESCRIPTION
FUNCTIONS

the function Class::ISA::super_path($CLASS), the function Class::ISA::self_and_super_path($CLASS), the function Class::ISA::self_and_super_versions($CLASS)

CAUTIONARY NOTES
COPYRIGHT
AUTHOR

Class::Struct - declare struct-like datatypes as Perl classes

SYNOPSIS
DESCRIPTION
The struct() function
Class Creation at Compile Time
Element Types and Accessor Methods

Scalar ('$' or '*$'), Array ('@' or '*@'), Hash ('%' or '*%'), Class ('Class_Name' or '*Class_Name')

Initializing with new
EXAMPLES

Example 1, Example 2, Example 3

Author and Modification History

Config - access Perl configuration information

SYNOPSIS
DESCRIPTION

myconfig(), config_sh(), config_re($regex), config_vars(@names)

EXAMPLE
WARNING
GLOSSARY
_

_a, _exe, _o

a

afs, afsroot, alignbytes, ansi2knr, aphostname, api_revision, api_subversion, api_version, api_versionstring, ar, archlib, archlibexp, archname64, archname, archobjs, asctime_r_proto, awk

b

baserev, bash, bin, binexp, bison, byacc, byteorder

c

c, castflags, cat, cc, cccdlflags, ccdlflags, ccflags, ccflags_uselargefiles, ccname, ccsymbols, ccversion, cf_by, cf_email, cf_time, charsize, chgrp, chmod, chown, clocktype, comm, compress, contains, cp, cpio, cpp, cpp_stuff, cppccsymbols, cppflags, cpplast, cppminus, cpprun, cppstdin, cppsymbols, crypt_r_proto, cryptlib, csh, ctermid_r_proto, ctime_r_proto

d

d__fwalk, d_access, d_accessx, d_aintl, d_alarm, d_archlib, d_asctime_r, d_atolf, d_atoll, d_attribute_format, d_attribute_malloc, d_attribute_nonnull, d_attribute_noreturn, d_attribute_pure, d_attribute_unused, d_attribute_warn_unused_result, d_bcmp, d_bcopy, d_bsd, d_bsdgetpgrp, d_bsdsetpgrp, d_bzero, d_casti32, d_castneg, d_charvspr, d_chown, d_chroot, d_chsize, d_class, d_clearenv, d_closedir, d_cmsghdr_s, d_const, d_copysignl, d_crypt, d_crypt_r, d_csh, d_ctermid_r, d_ctime_r, d_cuserid, d_dbl_dig, d_dbminitproto, d_difftime, d_dirfd, d_dirnamlen, d_dlerror, d_dlopen, d_dlsymun, d_dosuid, d_drand48_r, d_drand48proto, d_dup2, d_eaccess, d_endgrent, d_endgrent_r, d_endhent, d_endhostent_r, d_endnent, d_endnetent_r, d_endpent, d_endprotoent_r, d_endpwent, d_endpwent_r, d_endsent, d_endservent_r, d_eofnblk, d_eunice, d_faststdio, d_fchdir, d_fchmod, d_fchown, d_fcntl, d_fcntl_can_lock, d_fd_macros, d_fd_set, d_fds_bits, d_fgetpos, d_finite, d_finitel, d_flexfnam, d_flock, d_flockproto, d_fork, d_fp_class, d_fpathconf, d_fpclass, d_fpclassify, d_fpclassl, d_fpos64_t, d_frexpl, d_fs_data_s, d_fseeko, d_fsetpos, d_fstatfs, d_fstatvfs, d_fsync, d_ftello, d_ftime, d_futimes, d_Gconvert, d_getcwd, d_getespwnam, d_getfsstat, d_getgrent, d_getgrent_r, d_getgrgid_r, d_getgrnam_r, d_getgrps, d_gethbyaddr, d_gethbyname, d_gethent, d_gethname, d_gethostbyaddr_r, d_gethostbyname_r, d_gethostent_r, d_gethostprotos, d_getitimer, d_getlogin, d_getlogin_r, d_getmnt, d_getmntent, d_getnbyaddr, d_getnbyname, d_getnent, d_getnetbyaddr_r, d_getnetbyname_r, d_getnetent_r, d_getnetprotos, d_getpagsz, d_getpbyname, d_getpbynumber, d_getpent, d_getpgid, d_getpgrp2, d_getpgrp, d_getppid, d_getprior, d_getprotobyname_r, d_getprotobynumber_r, d_getprotoent_r, d_getprotoprotos, d_getprpwnam, d_getpwent, d_getpwent_r, d_getpwnam_r, d_getpwuid_r, d_getsbyname, d_getsbyport, d_getsent, d_getservbyname_r, d_getservbyport_r, d_getservent_r, d_getservprotos, d_getspnam, d_getspnam_r, d_gettimeod, d_gmtime_r, d_gnulibc, d_grpasswd, d_hasmntopt, d_htonl, d_ilogbl, d_index, d_inetaton, d_int64_t, d_isascii, d_isfinite, d_isinf, d_isnan, d_isnanl, d_killpg, d_lchown, d_ldbl_dig, d_link, d_localtime_r, d_locconv, d_lockf, d_longdbl, d_longlong, d_lseekproto, d_lstat, d_madvise, d_malloc_size, d_malloc_good_size, d_mblen, d_mbstowcs, d_mbtowc, d_memchr, d_memcmp, d_memcpy, d_memmove, d_memset, d_mkdir, d_mkdtemp, d_mkfifo, d_mkstemp, d_mkstemps, d_mktime, d_mmap, d_modfl, d_modfl_pow32_bug, d_modflproto, d_mprotect, d_msg, d_msg_ctrunc, d_msg_dontroute, d_msg_oob, d_msg_peek, d_msg_proxy, d_msgctl, d_msgget, d_msghdr_s, d_msgrcv, d_msgsnd, d_msync, d_munmap, d_mymalloc, d_nanosleep, d_nice, d_nl_langinfo, d_nv_preserves_uv, d_nv_zero_is_allbits_zero, d_off64_t, d_old_pthread_create_joinable, d_oldpthreads, d_oldsock, d_open3, d_pathconf, d_pause, d_perl_otherlibdirs, d_phostname, d_pipe, d_poll, d_portable, d_PRId64, d_PRIeldbl, d_PRIEUldbl, d_PRIfldbl, d_PRIFUldbl, d_PRIgldbl, d_PRIGUldbl, d_PRIi64, d_PRIo64, d_PRIu64, d_PRIx64, d_PRIXU64, d_procselfexe, d_pthread_atfork, d_pthread_attr_setscope, d_pthread_yield, d_pwage, d_pwchange, d_pwclass, d_pwcomment, d_pwexpire, d_pwgecos, d_pwpasswd, d_pwquota, d_qgcvt, d_quad, d_random_r, d_readdir64_r, d_readdir, d_readdir_r, d_readlink, d_readv, d_recvmsg, d_rename, d_rewinddir, d_rmdir, d_safebcpy, d_safemcpy, d_sanemcmp, d_sbrkproto, d_scalbnl, d_sched_yield, d_scm_rights, d_SCNfldbl, d_seekdir, d_select, d_sem, d_semctl, d_semctl_semid_ds, d_semctl_semun, d_semget, d_semop, d_sendmsg, d_setegid, d_seteuid, d_setgrent, d_setgrent_r, d_setgrps, d_sethent, d_sethostent_r, d_setitimer, d_setlinebuf, d_setlocale, d_setlocale_r, d_setnent, d_setnetent_r, d_setpent, d_setpgid, d_setpgrp2, d_setpgrp, d_setprior, d_setproctitle, d_setprotoent_r, d_setpwent, d_setpwent_r, d_setregid, d_setresgid, d_setresuid, d_setreuid, d_setrgid, d_setruid, d_setsent, d_setservent_r, d_setsid, d_setvbuf, d_sfio, d_shm, d_shmat, d_shmatprototype, d_shmctl, d_shmdt, d_shmget, d_sigaction, d_sigprocmask, d_sigsetjmp, d_sockatmark, d_sockatmarkproto, d_socket, d_socklen_t, d_sockpair, d_socks5_init, d_sprintf_returns_strlen, d_sqrtl, d_srand48_r, d_srandom_r, d_sresgproto, d_sresuproto, d_statblks, d_statfs_f_flags, d_statfs_s, d_statvfs, d_stdio_cnt_lval, d_stdio_ptr_lval, d_stdio_ptr_lval_nochange_cnt, d_stdio_ptr_lval_sets_cnt, d_stdio_stream_array, d_stdiobase, d_stdstdio, d_strchr, d_strcoll, d_strctcpy, d_strerrm, d_strerror, d_strerror_r, d_strftime, d_strlcat, d_strlcpy, d_strtod, d_strtol, d_strtold, d_strtoll, d_strtoq, d_strtoul, d_strtoull, d_strtouq, d_strxfrm, d_suidsafe, d_symlink, d_syscall, d_syscallproto, d_sysconf, d_sysernlst, d_syserrlst, d_system, d_tcgetpgrp, d_tcsetpgrp, d_telldir, d_telldirproto, d_time, d_times, d_tm_tm_gmtoff, d_tm_tm_zone, d_tmpnam_r, d_truncate, d_ttyname_r, d_tzname, d_u32align, d_ualarm, d_umask, d_uname, d_union_semun, d_unordered, d_unsetenv, d_usleep, d_usleepproto, d_ustat, d_vendorarch, d_vendorbin, d_vendorlib, d_vendorscript, d_vfork, d_void_closedir, d_voidsig, d_voidtty, d_volatile, d_vprintf, d_wait4, d_waitpid, d_wcstombs, d_wctomb, d_writev, d_xenix, date, db_hashtype, db_prefixtype, db_version_major, db_version_minor, db_version_patch, defvoidused, direntrytype, dlext, dlsrc, doublesize, drand01, drand48_r_proto, dynamic_ext

e

eagain, ebcdic, echo, egrep, emacs, endgrent_r_proto, endhostent_r_proto, endnetent_r_proto, endprotoent_r_proto, endpwent_r_proto, endservent_r_proto, eunicefix, exe_ext, expr, extensions, extras

f

fflushall, fflushNULL, find, firstmakefile, flex, fpossize, fpostype, freetype, from, full_ar, full_csh, full_sed

g

gccansipedantic, gccosandvers, gccversion, getgrent_r_proto, getgrgid_r_proto, getgrnam_r_proto, gethostbyaddr_r_proto, gethostbyname_r_proto, gethostent_r_proto, getlogin_r_proto, getnetbyaddr_r_proto, getnetbyname_r_proto, getnetent_r_proto, getprotobyname_r_proto, getprotobynumber_r_proto, getprotoent_r_proto, getpwent_r_proto, getpwnam_r_proto, getpwuid_r_proto, getservbyname_r_proto, getservbyport_r_proto, getservent_r_proto, getspnam_r_proto, gidformat, gidsign, gidsize, gidtype, glibpth, gmake, gmtime_r_proto, gnulibc_version, grep, groupcat, groupstype, gzip

h

h_fcntl, h_sysfile, hint, hostcat, html1dir, html1direxp, html3dir, html3direxp

i

i16size, i16type, i32size, i32type, i64size, i64type, i8size, i8type, i_arpainet, i_bsdioctl, i_crypt, i_db, i_dbm, i_dirent, i_dld, i_dlfcn, i_fcntl, i_float, i_fp, i_fp_class, i_gdbm, i_grp, i_ieeefp, i_inttypes, i_langinfo, i_libutil, i_limits, i_locale, i_machcthr, i_malloc, i_math, i_memory, i_mntent, i_ndbm, i_netdb, i_neterrno, i_netinettcp, i_niin, i_poll, i_prot, i_pthread, i_pwd, i_rpcsvcdbm, i_sfio, i_sgtty, i_shadow, i_socks, i_stdarg, i_stddef, i_stdlib, i_string, i_sunmath, i_sysaccess, i_sysdir, i_sysfile, i_sysfilio, i_sysin, i_sysioctl, i_syslog, i_sysmman, i_sysmode, i_sysmount, i_sysndir, i_sysparam, i_sysresrc, i_syssecrt, i_sysselct, i_syssockio, i_sysstat, i_sysstatfs, i_sysstatvfs, i_systime, i_systimek, i_systimes, i_systypes, i_sysuio, i_sysun, i_sysutsname, i_sysvfs, i_syswait, i_termio, i_termios, i_time, i_unistd, i_ustat, i_utime, i_values, i_varargs, i_varhdr, i_vfork, ignore_versioned_solibs, inc_version_list, inc_version_list_init, incpath, inews, installarchlib, installbin, installhtml1dir, installhtml3dir, installman1dir, installman3dir, installprefix, installprefixexp, installprivlib, installscript, installsitearch, installsitebin, installsitehtml1dir, installsitehtml3dir, installsitelib, installsiteman1dir, installsiteman3dir, installsitescript, installstyle, installusrbinperl, installvendorarch, installvendorbin, installvendorhtml1dir, installvendorhtml3dir, installvendorlib, installvendorman1dir, installvendorman3dir, installvendorscript, intsize, issymlink, ivdformat, ivsize, ivtype

k

known_extensions, ksh

l

ld, lddlflags, ldflags, ldflags_uselargefiles, ldlibpthname, less, lib_ext, libc, libperl, libpth, libs, libsdirs, libsfiles, libsfound, libspath, libswanted, libswanted_uselargefiles, line, lint, lkflags, ln, lns, localtime_r_proto, locincpth, loclibpth, longdblsize, longlongsize, longsize, lp, lpr, ls, lseeksize, lseektype

m

mail, mailx, make, make_set_make, mallocobj, mallocsrc, malloctype, man1dir, man1direxp, man1ext, man3dir, man3direxp, man3ext

M

Mcc, mips_type, mistrustnm, mkdir, mmaptype, modetype, more, multiarch, mv, myarchname, mydomain, myhostname, myuname

n

n, need_va_copy, netdb_hlen_type, netdb_host_type, netdb_name_type, netdb_net_type, nm, nm_opt, nm_so_opt, nonxs_ext, nroff, nv_preserves_uv_bits, nveformat, nvEUformat, nvfformat, nvFUformat, nvgformat, nvGUformat, nvsize, nvtype

o

o_nonblock, obj_ext, old_pthread_create_joinable, optimize, orderlib, osname, osvers, otherlibdirs

p

package, pager, passcat, patchlevel, path_sep, perl5, perl, perl_patchlevel

P

PERL_REVISION, PERL_SUBVERSION, PERL_VERSION, perladmin, perllibs, perlpath, pg, phostname, pidtype, plibpth, pmake, pr, prefix, prefixexp, privlib, privlibexp, procselfexe, prototype, ptrsize

q

quadkind, quadtype

r

randbits, randfunc, random_r_proto, randseedtype, ranlib, rd_nodata, readdir64_r_proto, readdir_r_proto, revision, rm, rmail, run, runnm

s

sched_yield, scriptdir, scriptdirexp, sed, seedfunc, selectminbits, selecttype, sendmail, setgrent_r_proto, sethostent_r_proto, setlocale_r_proto, setnetent_r_proto, setprotoent_r_proto, setpwent_r_proto, setservent_r_proto, sh, shar, sharpbang, shmattype, shortsize, shrpenv, shsharp, sig_count, sig_name, sig_name_init, sig_num, sig_num_init, sig_size, signal_t, sitearch, sitearchexp, sitebin, sitebinexp, sitehtml1dir, sitehtml1direxp, sitehtml3dir, sitehtml3direxp, sitelib, sitelib_stem, sitelibexp, siteman1dir, siteman1direxp, siteman3dir, siteman3direxp, siteprefix, siteprefixexp, sitescript, sitescriptexp, sizesize, sizetype, sleep, smail, so, sockethdr, socketlib, socksizetype, sort, spackage, spitshell, sPRId64, sPRIeldbl, sPRIEUldbl, sPRIfldbl, sPRIFUldbl, sPRIgldbl, sPRIGUldbl, sPRIi64, sPRIo64, sPRIu64, sPRIx64, sPRIXU64, srand48_r_proto, srandom_r_proto, src, sSCNfldbl, ssizetype, startperl, startsh, static_ext, stdchar, stdio_base, stdio_bufsiz, stdio_cnt, stdio_filbuf, stdio_ptr, stdio_stream_array, strerror_r_proto, strings, submit, subversion, sysman

t

tail, tar, targetarch, tbl, tee, test, timeincl, timetype, tmpnam_r_proto, to, touch, tr, trnl, troff, ttyname_r_proto

u

u16size, u16type, u32size, u32type, u64size, u64type, u8size, u8type, uidformat, uidsign, uidsize, uidtype, uname, uniq, uquadtype, use5005threads, use64bitall, use64bitint, usecrosscompile, usedl, usefaststdio, useithreads, uselargefiles, uselongdouble, usemallocwrap, usemorebits, usemultiplicity, usemymalloc, usenm, useopcode, useperlio, useposix, usereentrant, usesfio, useshrplib, usesocks, usethreads, usevendorprefix, usevfork, usrinc, uuname, uvoformat, uvsize, uvtype, uvuformat, uvxformat, uvXUformat

v

vendorarch, vendorarchexp, vendorbin, vendorbinexp, vendorhtml1dir, vendorhtml1direxp, vendorhtml3dir, vendorhtml3direxp, vendorlib, vendorlib_stem, vendorlibexp, vendorman1dir, vendorman1direxp, vendorman3dir, vendorman3direxp, vendorprefix, vendorprefixexp, vendorscript, vendorscriptexp, version, version_patchlevel_string, versiononly, vi, voidflags

x

xlibpth

y

yacc, yaccflags

z

zcat, zip

NOTE

Cwd - get pathname of current working directory

SYNOPSIS
DESCRIPTION
getcwd and friends

getcwd, cwd, fastcwd, fastgetcwd, getdcwd

abs_path and friends

abs_path, realpath, fast_abs_path

$ENV{PWD}
NOTES
AUTHOR
COPYRIGHT
SEE ALSO

DB - programmatic interface to the Perl debugging API (draft, subject to change)

SYNOPSIS
DESCRIPTION
Global Variables
$DB::sub,  %DB::sub,  $DB::single,  $DB::signal,  $DB::trace,	@DB::args, 
@DB::dbline,  %DB::dbline,  $DB::package,  $DB::filename,  $DB::subname, 
$DB::lineno
API Methods

CLIENT->register(), CLIENT->evalcode(STRING), CLIENT->skippkg('D::hide'), CLIENT->run(), CLIENT->step(), CLIENT->next(), CLIENT->done()

Client Callback Methods

CLIENT->init(), CLIENT->prestop([STRING]), CLIENT->stop(), CLIENT->idle(), CLIENT->poststop([STRING]), CLIENT->evalcode(STRING), CLIENT->cleanup(), CLIENT->output(LIST)

BUGS
AUTHOR

DBM_Filter -- Filter DBM keys/values

SYNOPSIS
DESCRIPTION
What is a DBM Filter?
So what's new?
METHODS
$db->Filter_Push()
$db->Filter_Key_Push()
$db->Filter_Value_Push()

Filter_Push, Filter_Key_Push, Filter_Value_Push

$db->Filter_Pop()
$db->Filtered()
Writing a Filter
Immediate Filters
Canned Filters

"name", params

Filters Included

utf8, encode, compress, int32, null

NOTES
Maintain Round Trip Integrity
Don't mix filtered & non-filtered data in the same database file.
EXAMPLE
SEE ALSO
AUTHOR

DB_File - Perl5 access to Berkeley DB version 1.x

SYNOPSIS
DESCRIPTION

DB_HASH, DB_BTREE, DB_RECNO

Using DB_File with Berkeley DB version 2 or greater
Interface to Berkeley DB
Opening a Berkeley DB Database File
Default Parameters
In Memory Databases
DB_HASH
A Simple Example
DB_BTREE
Changing the BTREE sort order
Handling Duplicate Keys
The get_dup() Method
The find_dup() Method
The del_dup() Method
Matching Partial Keys
DB_RECNO
The 'bval' Option
A Simple Example
Extra RECNO Methods

$X->push(list) ;, $value = $X->pop ;, $X->shift, $X->unshift(list) ;, $X->length, $X->splice(offset, length, elements);

Another Example
THE API INTERFACE

$status = $X->get($key, $value [, $flags]) ;, $status = $X->put($key, $value [, $flags]) ;, $status = $X->del($key [, $flags]) ;, $status = $X->fd ;, $status = $X->seq($key, $value, $flags) ;, $status = $X->sync([$flags]) ;

DBM FILTERS

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.
HINTS AND TIPS
Locking: The Trouble with fd
Safe ways to lock a database

Tie::DB_Lock, Tie::DB_LockFile, DB_File::Lock

Sharing Databases With C Applications
The untie() Gotcha
COMMON QUESTIONS
Why is there Perl source in my database?
How do I store complex data structures with DB_File?
What does "Invalid Argument" mean?
What does "Bareword 'DB_File' not allowed" mean?
REFERENCES
HISTORY
BUGS
AVAILABILITY
COPYRIGHT
SEE ALSO
AUTHOR

Data::Dumper - stringified perl data structures, suitable for both printing and eval

SYNOPSIS
DESCRIPTION
Methods

PACKAGE->new(ARRAYREF [, ARRAYREF]), $OBJ->Dump or PACKAGE->Dump(ARRAYREF [, ARRAYREF]), $OBJ->Seen([HASHREF]), $OBJ->Values([ARRAYREF]), $OBJ->Names([ARRAYREF]), $OBJ->Reset

Functions

Dumper(LIST)

Configuration Variables or Methods
Exports

Dumper

EXAMPLES
BUGS
NOTE
AUTHOR
VERSION
SEE ALSO

Devel::DProf - a Perl code profiler

SYNOPSIS
DESCRIPTION
PROFILE FORMAT
AUTOLOAD
ENVIRONMENT
BUGS
SEE ALSO

Devel::PPPort - Perl/Pollution/Portability

SYNOPSIS
DESCRIPTION
Why use ppport.h?

You should use ppport.h in modern code so that your code will work with the widest range of Perl interpreters possible, without significant additional work.

How to use ppport.h
Running ppport.h
FUNCTIONS
WriteFile
COMPATIBILITY
Provided Perl compatibility API
Perl API not supported by ppport.h

perl 5.9.2, perl 5.9.1, perl 5.9.0, perl 5.8.3, perl 5.8.1, perl 5.8.0, perl 5.7.3, perl 5.7.2, perl 5.7.1, perl 5.6.1, perl 5.6.0, perl 5.005_03, perl 5.005, perl 5.004_05, perl 5.004_04, perl 5.004

BUGS
AUTHORS
COPYRIGHT
SEE ALSO

Devel::Peek - A data debugging tool for the XS programmer

SYNOPSIS
DESCRIPTION
Runtime debugging
Memory footprint debugging
EXAMPLES
A simple scalar string
A simple scalar number
A simple scalar with an extra reference
A reference to a simple scalar
A reference to an array
A reference to a hash
Dumping a large array or hash
A reference to an SV which holds a C pointer
A reference to a subroutine
EXPORTS
BUGS
AUTHOR
SEE ALSO

Devel::SelfStubber - generate stubs for a SelfLoading module

SYNOPSIS
DESCRIPTION

Devel::Size - Perl extension for finding the memory usage of Perl variables

SYNOPSIS
DESCRIPTION
FUNCTIONS
size($ref)
total_size($ref)
EXPORT
UNDERSTANDING MEMORY ALLOCATION
The C library
Perl
DANGERS
Messages: texts originating from this module.
Errors
warnings
BUGS
AUTHOR
COPYRIGHT
SEE ALSO

Digest - Modules that calculate message digests

SYNOPSIS
DESCRIPTION

binary, hex, base64

OO INTERFACE

$ctx = Digest->XXX($arg,...), $ctx = Digest->new(XXX => $arg,...), $ctx = Digest::XXX->new($arg,...), $other_ctx = $ctx->clone, $ctx->reset, $ctx->add( $data, ... ), $ctx->addfile( $io_handle ), $ctx->add_bits( $data, $nbits ), $ctx->add_bits( $bitstring ), $ctx->digest, $ctx->hexdigest, $ctx->b64digest

Digest speed
SEE ALSO
AUTHOR

Digest::MD5 - Perl interface to the MD5 Algorithm

SYNOPSIS
DESCRIPTION
FUNCTIONS

md5($data,...), md5_hex($data,...), md5_base64($data,...)

METHODS

$md5 = Digest::MD5->new, $md5->reset, $md5->clone, $md5->add($data,...), $md5->addfile($io_handle), $md5->add_bits($data, $nbits), $md5->add_bits($bitstring), $md5->digest, $md5->hexdigest, $md5->b64digest

EXAMPLES
SEE ALSO
COPYRIGHT
AUTHORS

Digest::base - Digest base class

SYNOPSIS
DESCRIPTION
SEE ALSO

Digest::file - Calculate digests of files

SYNOPSIS
DESCRIPTION

digest_file( $file, $algorithm, [$arg,...] ), digest_file_hex( $file, $algorithm, [$arg,...] ), digest_file_base64( $file, $algorithm, [$arg,...] )

SEE ALSO

DirHandle - supply object methods for directory handles

SYNOPSIS
DESCRIPTION
NOTES

Dumpvalue - provides screen dump of Perl data.

SYNOPSIS
DESCRIPTION
Creation

arrayDepth, hashDepth, compactDump, veryCompact, globPrint, dumpDBFiles, dumpPackages, dumpReused, tick, quoteHighBit, printUndef, usageOnly, unctrl, subdump, bareStringify, quoteHighBit, stopDbSignal

Methods

dumpValue, dumpValues, stringify, dumpvars, set_quote, set_unctrl, compactDump, veryCompact, set, get

DynaLoader - Dynamically load C libraries into Perl code

SYNOPSIS
DESCRIPTION

@dl_library_path, @dl_resolve_using, @dl_require_symbols, @dl_librefs, @dl_modules, @dl_shared_objects, dl_error(), $dl_debug, dl_findfile(), dl_expandspec(), dl_load_file(), dl_unload_file(), dl_load_flags(), dl_find_symbol(), dl_find_symbol_anywhere(), dl_undef_symbols(), dl_install_xsub(), bootstrap()

AUTHOR

DynaLoader::XSLoader, XSLoader - Dynamically load C libraries into Perl code

VERSION
SYNOPSIS
DESCRIPTION
Migration from DynaLoader
Backward compatible boilerplate
Order of initialization: early load()
The most hairy case
DIAGNOSTICS

Can't find '%s' symbol in %s, Can't load '%s' for module %s: %s, Undefined symbols present after loading %s: %s, XSLoader::load('Your::Module', $Your::Module::VERSION)

LIMITATIONS
BUGS
SEE ALSO
AUTHORS
COPYRIGHT

Encode - character encodings

SYNOPSIS
Table of Contents
DESCRIPTION
TERMINOLOGY
PERL ENCODING API

$octets = encode(ENCODING, $string [, CHECK]), $string = decode(ENCODING, $octets [, CHECK]), [$length =] from_to($octets, FROM_ENC, TO_ENC [, CHECK]), $octets = encode_utf8($string);, $string = decode_utf8($octets [, CHECK]);

Listing available encodings
Defining Aliases
Encoding via PerlIO
Handling Malformed Data

NOTE: Not all encoding support this feature, CHECK = Encode::FB_DEFAULT ( == 0), CHECK = Encode::FB_CROAK ( == 1), CHECK = Encode::FB_QUIET, CHECK = Encode::FB_WARN, perlqq mode (CHECK = Encode::FB_PERLQQ), HTML charref mode (CHECK = Encode::FB_HTMLCREF), XML charref mode (CHECK = Encode::FB_XMLCREF), The bitmask

coderef for CHECK
Defining Encodings
The UTF-8 flag

Goal #1:, Goal #2:, Goal #3:, Goal #4:

Messing with Perl's Internals

is_utf8(STRING [, CHECK]), _utf8_on(STRING), _utf8_off(STRING)

UTF-8 vs. utf8
SEE ALSO
MAINTAINER

Encode::Alias - alias definitions to encodings

SYNOPSIS
DESCRIPTION

As a simple string, As a qr// compiled regular expression, e.g.:, As a code reference, e.g.:

Alias overloading
SEE ALSO

Encode::Byte - Single Byte Encodings

SYNOPSIS
ABSTRACT
DESCRIPTION
SEE ALSO

Encode::CJKConstants -- Internally used by Encode::??::ISO_2022_*

Encode::CN - China-based Chinese Encodings

SYNOPSIS
DESCRIPTION
NOTES
BUGS
SEE ALSO

Encode::CN::HZ -- internally used by Encode::CN

Encode::Config -- internally used by Encode

Encode::EBCDIC - EBCDIC Encodings

SYNOPSIS
ABSTRACT
DESCRIPTION
SEE ALSO

Encode::Encoding - Encode Implementation Base Class

SYNOPSIS
DESCRIPTION
Methods you should implement

->encode($string [,$check]), ->decode($octets [,$check]), ->cat_decode($destination, $octets, $offset, $terminator [,$check])

Other methods defined in Encode::Encodings

->name, ->renew, ->renewed, ->perlio_ok(), ->needs_lines()

Example: Encode::ROT13
Why the heck Encode API is different?
Compiled Encodings
SEE ALSO

Scheme 1, Scheme 2, Other Schemes

Encode::Guess -- Guesses encoding from data

SYNOPSIS
ABSTRACT
DESCRIPTION

Encode::Guess->set_suspects, Encode::Guess->add_suspects, Encode::decode("Guess" ...), Encode::Guess->guess($data), guess_encoding($data, [, list of suspects])

CAVEATS
TO DO
SEE ALSO

Encode::JP - Japanese Encodings

SYNOPSIS
ABSTRACT
DESCRIPTION
Note on ISO-2022-JP(-1)?
BUGS
SEE ALSO

Encode::JP::H2Z -- internally used by Encode::JP::2022_JP*

Encode::JP::JIS7 -- internally used by Encode::JP

Encode::KR - Korean Encodings

SYNOPSIS
DESCRIPTION
BUGS
SEE ALSO

Encode::KR::2022_KR -- internally used by Encode::KR

Encode::MIME::Header -- MIME 'B' and 'Q' header encoding

SYNOPSIS
ABSTRACT
DESCRIPTION
BUGS
SEE ALSO

Encode::PerlIO -- a detailed document on Encode and PerlIO

Overview
How does it work?
Line Buffering
How can I tell whether my encoding fully supports PerlIO ?
SEE ALSO

Encode::Supported -- Encodings supported by Encode

DESCRIPTION
Encoding Names
Supported Encodings
Built-in Encodings
Encode::Unicode -- other Unicode encodings
Encode::Byte -- Extended ASCII

ISO-8859 and corresponding vendor mappings, KOI8 - De Facto Standard for the Cyrillic world, gsm0338 - Hentai Latin 1

CJK: Chinese, Japanese, Korean (Multibyte)

Encode::CN -- Continental China, Encode::JP -- Japan, Encode::KR -- Korea, Encode::TW -- Taiwan, Encode::HanExtra -- More Chinese via CPAN, Encode::JIS2K -- JIS X 0213 encodings via CPAN

Miscellaneous encodings

Encode::EBCDIC, Encode::Symbols, Encode::MIME::Header, Encode::Guess

Unsupported encodings
ISO-2022-JP-2 [RFC1554], ISO-2022-CN [RFC1922], Various HP-UX encodings,
Cyrillic encoding ISO-IR-111, ISO-8859-8-1 [Hebrew], ISIRI 3342, Iran
System, ISIRI 2900 [Farsi], Thai encoding TCVN, Vietnamese encodings VPS,
Various Mac encodings, (Mac) Indic encodings
Encoding vs. Charset -- terminology
Encoding Classification (by Anton Tagunov and Dan Kogai)

KS_C_5601-1987, GB2312, Big5, Shift_JIS

Glossary

character repertoire, coded character set (CCS), character encoding scheme (CES), charset (in MIME context), EUC, ISO-2022, UCS, UCS-2, Unicode, UTF, UTF-16

See Also
References

ECMA, ECMA-035 (eq ISO-2022), IANA, Assigned Charset Names by IANA, ISO, RFC, UC, Unicode Glossary

Other Notable Sites

czyborra.com, CJK.inf, Jungshik Shin's Hangul FAQ, debian.org: "Introduction to i18n"

Offline sources

CJKV Information Processing by Ken Lunde

Encode::Symbol - Symbol Encodings

SYNOPSIS
ABSTRACT
DESCRIPTION
SEE ALSO

Encode::TW - Taiwan-based Chinese Encodings

SYNOPSIS
DESCRIPTION
NOTES
BUGS
SEE ALSO

Encode::Unicode -- Various Unicode Transformation Formats

SYNOPSIS
ABSTRACT

http://www.unicode.org/glossary/ says:, Quick Reference

Size, Endianness, and BOM
by size
by endianness

BOM as integer when fetched in network byte order

Surrogate Pairs
Error Checking
SEE ALSO

Encode::Unicode::UTF7 -- UTF-7 encoding

SYNOPSIS
ABSTRACT
In Practice
SEE ALSO

Encode::lib::Encode::Alias, Encode::Alias - alias definitions to encodings

SYNOPSIS
DESCRIPTION

As a simple string, As a qr// compiled regular expression, e.g.:, As a code reference, e.g.:

Alias overloading
SEE ALSO

Encode::lib::Encode::CJKConstants, Encode::CJKConstants.pm -- Internally used by Encode::??::ISO_2022_*

Encode::lib::Encode::CN::HZ, Encode::CN::HZ -- internally used by Encode::CN

Encode::lib::Encode::Config, Encode::Config -- internally used by Encode

Encode::lib::Encode::Encoding, Encode::Encoding - Encode Implementation Base Class

SYNOPSIS
DESCRIPTION
Methods you should implement

->encode($string [,$check]), ->decode($octets [,$check]), ->cat_decode($destination, $octets, $offset, $terminator [,$check])

Other methods defined in Encode::Encodings

->name, ->renew, ->renewed, ->perlio_ok(), ->needs_lines()

Example: Encode::ROT13
Why the heck Encode API is different?
Compiled Encodings
SEE ALSO

Scheme 1, Scheme 2, Other Schemes

Encode::lib::Encode::Guess, Encode::Guess -- Guesses encoding from data

SYNOPSIS
ABSTRACT
DESCRIPTION

Encode::Guess->set_suspects, Encode::Guess->add_suspects, Encode::decode("Guess" ...), Encode::Guess->guess($data), guess_encoding($data, [, list of suspects])

CAVEATS
TO DO
SEE ALSO

Encode::lib::Encode::JP::H2Z, Encode::JP::H2Z -- internally used by Encode::JP::2022_JP*

Encode::lib::Encode::JP::JIS7, Encode::JP::JIS7 -- internally used by Encode::JP

Encode::lib::Encode::KR::2022_KR, Encode::KR::2022_KR -- internally used by Encode::KR

Encode::lib::Encode::MIME::Header, Encode::MIME::Header -- MIME 'B' and 'Q' header encoding

SYNOPSIS
ABSTRACT
DESCRIPTION
BUGS
SEE ALSO

Encode::lib::Encode::PerlIO, Encode::PerlIO -- a detailed document on Encode and PerlIO

Overview
How does it work?
Line Buffering
How can I tell whether my encoding fully supports PerlIO ?
SEE ALSO

Encode::lib::Encode::Supported, Encode::Supported -- Encodings supported by Encode

DESCRIPTION
Encoding Names
Supported Encodings
Built-in Encodings
Encode::Unicode -- other Unicode encodings
Encode::Byte -- Extended ASCII

ISO-8859 and corresponding vendor mappings, KOI8 - De Facto Standard for the Cyrillic world, gsm0338 - Hentai Latin 1

CJK: Chinese, Japanese, Korean (Multibyte)

Encode::CN -- Continental China, Encode::JP -- Japan, Encode::KR -- Korea, Encode::TW -- Taiwan, Encode::HanExtra -- More Chinese via CPAN, Encode::JIS2K -- JIS X 0213 encodings via CPAN

Miscellaneous encodings

Encode::EBCDIC, Encode::Symbols, Encode::MIME::Header, Encode::Guess

Unsupported encodings
ISO-2022-JP-2 [RFC1554], ISO-2022-CN [RFC1922], Various HP-UX encodings,
Cyrillic encoding ISO-IR-111, ISO-8859-8-1 [Hebrew], ISIRI 3342, Iran
System, ISIRI 2900 [Farsi], Thai encoding TCVN, Vietnamese encodings VPS,
Various Mac encodings, (Mac) Indic encodings
Encoding vs. Charset -- terminology
Encoding Classification (by Anton Tagunov and Dan Kogai)

KS_C_5601-1987, GB2312, Big5, Shift_JIS

Glossary

character repertoire, coded character set (CCS), character encoding scheme (CES), charset (in MIME context), EUC, ISO-2022, UCS, UCS-2, Unicode, UTF, UTF-16

See Also
References

ECMA, ECMA-035 (eq ISO-2022), IANA, Assigned Charset Names by IANA, ISO, RFC, UC, Unicode Glossary

Other Notable Sites

czyborra.com, CJK.inf, Jungshik Shin's Hangul FAQ, debian.org: "Introduction to i18n"

Offline sources

CJKV Information Processing by Ken Lunde

Encode::lib::Encode::Unicode::UTF7, Encode::Unicode::UTF7 -- UTF-7 encoding

SYNOPSIS
ABSTRACT
In Practice
SEE ALSO

Encode::lib::Encoder, Encode::Encoder -- Object Oriented Encoder

SYNOPSIS
ABSTRACT
Description
Predefined Methods

$e = Encode::Encoder->new([$data, $encoding]);, encoder(), $e->data([$data]), $e->encoding([$encoding]), $e->bytes([$encoding])

Example: base64 transcoder
Operator Overloading
SEE ALSO

Encodencoding, encoding - allows you to write your script in non-ascii or non-utf8

SYNOPSIS
ABSTRACT
Literal Conversions
PerlIO layers for STD(IN|OUT)
Implicit upgrading for byte strings
FEATURES THAT REQUIRE 5.8.1

"NON-EUC" doublebyte encodings, tr//, DATA pseudo-filehandle

USAGE

use encoding [ENCNAME] ;, use encoding ENCNAME [ STDIN => ENCNAME_IN ...] ;, use encoding ENCNAME Filter=>1;, no encoding;

The Filter Option
CAVEATS
NOT SCOPED
DO NOT MIX MULTIPLE ENCODINGS
tr/// with ranges

Legend of characters above

EXAMPLE - Greekperl
KNOWN PROBLEMS

literals in regex that are longer than 127 bytes, EBCDIC, format

The Logic of :locale
HISTORY
SEE ALSO

Encoder, Encode::Encoder -- Object Oriented Encoder

SYNOPSIS
ABSTRACT
Description
Predefined Methods

$e = Encode::Encoder->new([$data, $encoding]);, encoder(), $e->data([$data]), $e->encoding([$encoding]), $e->bytes([$encoding])

Example: base64 transcoder
Operator Overloading
SEE ALSO

English - use nice English (or awk) names for ugly punctuation variables

SYNOPSIS
DESCRIPTION
PERFORMANCE

Env - perl module that imports environment variables as scalars or arrays

SYNOPSIS
DESCRIPTION
LIMITATIONS
AUTHOR

Errno - System errno constants

SYNOPSIS
DESCRIPTION
CAVEATS
AUTHOR
COPYRIGHT

Exporter - Implements default import method for modules

SYNOPSIS
DESCRIPTION
How to Export
Selecting What To Export
How to Import

use ModuleName;, use ModuleName ();, use ModuleName qw(...);

Advanced features
Specialised Import Lists
Exporting without using Exporter's import method
Exporting without inheriting from Exporter
Module Version Checking
Managing Unknown Symbols
Tag Handling Utility Functions
Generating combined tags
AUTOLOADed Constants

Exporter::Heavy - Exporter guts

SYNOPSIS
DESCRIPTION

ExtUtils::Command - utilities to replace common UNIX commands in Makefiles etc.

SYNOPSIS
DESCRIPTION

cat

eqtime

rm_rf

rm_f

touch

mv

cp

chmod

mkpath

test_f

dos2unix

SEE ALSO
AUTHOR

ExtUtils::Command::MM - Commands for the MM's to use in Makefiles

SYNOPSIS
DESCRIPTION

test_harness

pod2man

warn_if_old_packlist

perllocal_install

uninstall

ExtUtils::Constant - generate XS code to import C header constants

SYNOPSIS
DESCRIPTION
USAGE

IV, UV, NV, PV, PVN, SV, YES, NO, UNDEF

FUNCTIONS

constant_types

XS_constant PACKAGE, TYPES, SUBNAME, C_SUBNAME

autoload PACKAGE, VERSION, AUTOLOADER

WriteMakefileSnippet

WriteConstants ATTRIBUTE => VALUE [, ...], NAME, DEFAULT_TYPE, BREAKOUT_AT, NAMES, C_FILE, XS_FILE, SUBNAME, C_SUBNAME

AUTHOR

ExtUtils::Constant::Base - base class for ExtUtils::Constant objects

SYNOPSIS
DESCRIPTION
USAGE

header

memEQ_clause args_hashref

dump_names arg_hashref, ITEM..

assign arg_hashref, VALUE..

return_clause arg_hashref, ITEM

switch_clause arg_hashref, NAMELEN, ITEMHASH, ITEM..

params WHAT

dogfood arg_hashref, ITEM..

C_constant arg_hashref, ITEM.., name, type, value, macro, default, pre, post, def_pre, def_post, utf8, weight

BUGS
AUTHOR

ExtUtils::Constant::Utils - helper functions for ExtUtils::Constant

SYNOPSIS
DESCRIPTION
USAGE

C_stringify NAME

perl_stringify NAME

AUTHOR

ExtUtils::Constant::XS, ExtUtils::Constant::Base - base class for ExtUtils::Constant objects

SYNOPSIS
DESCRIPTION
BUGS
AUTHOR

ExtUtils::Embed - Utilities for embedding Perl in C/C++ applications

SYNOPSIS
DESCRIPTION
@EXPORT
FUNCTIONS

xsinit(), Examples, ldopts(), Examples, perl_inc(), ccflags(), ccdlflags(), ccopts(), xsi_header(), xsi_protos(@modules), xsi_body(@modules)

EXAMPLES
SEE ALSO
AUTHOR

ExtUtils::Install - install files from here to there

SYNOPSIS
DESCRIPTION
Functions

install

install_default DISCOURAGED

uninstall

pm_to_blib

_autosplit

ENVIRONMENT

PERL_INSTALL_ROOT

AUTHOR
LICENSE

ExtUtils::Installed - Inventory management of installed modules

SYNOPSIS
DESCRIPTION
USAGE
FUNCTIONS

new(), modules(), files(), directories(), directory_tree(), validate(), packlist(), version()

EXAMPLE
AUTHOR

ExtUtils::Liblist - determine libraries to use and how to use them

SYNOPSIS
DESCRIPTION

For static extensions, For dynamic extensions at build/link time, For dynamic extensions at load time

EXTRALIBS
LDLOADLIBS and LD_RUN_PATH
BSLOADLIBS
PORTABILITY
VMS implementation
Win32 implementation
SEE ALSO

ExtUtils::MM - OS adjusted ExtUtils::MakeMaker subclass

SYNOPSIS
DESCRIPTION

ExtUtils::MM_AIX - AIX specific subclass of ExtUtils::MM_Unix

SYNOPSIS
DESCRIPTION
Overridden methods
AUTHOR
SEE ALSO

ExtUtils::MM_Any - Platform-agnostic MM methods

SYNOPSIS
DESCRIPTION
METHODS
Cross-platform helper methods
Targets
Init methods
Tools
File::Spec wrappers
Misc
AUTHOR

ExtUtils::MM_BeOS - methods to override UN*X behaviour in ExtUtils::MakeMaker

SYNOPSIS
DESCRIPTION

os_flavor

init_linker

ExtUtils::MM_Cygwin - methods to override UN*X behaviour in ExtUtils::MakeMaker

SYNOPSIS
DESCRIPTION

os_flavor

cflags

replace_manpage_separator

init_linker

ExtUtils::MM_DOS - DOS specific subclass of ExtUtils::MM_Unix

SYNOPSIS
DESCRIPTION
Overridden methods

os_flavor

replace_manpage_separator

AUTHOR
SEE ALSO

ExtUtils::MM_MacOS - once produced Makefiles for MacOS Classic

SYNOPSIS
DESCRIPTION

ExtUtils::MM_NW5 - methods to override UN*X behaviour in ExtUtils::MakeMaker

SYNOPSIS
DESCRIPTION

os_flavor

init_platform, platform_constants

const_cccmd

static_lib

dynamic_lib

ExtUtils::MM_OS2 - methods to override UN*X behaviour in ExtUtils::MakeMaker

SYNOPSIS
DESCRIPTION
METHODS

init_dist

init_linker

os_flavor

ExtUtils::MM_QNX - QNX specific subclass of ExtUtils::MM_Unix

SYNOPSIS
DESCRIPTION
Overridden methods
AUTHOR
SEE ALSO

ExtUtils::MM_UWIN - U/WIN specific subclass of ExtUtils::MM_Unix

SYNOPSIS
DESCRIPTION
Overridden methods

os_flavor

replace_manpage_separator

AUTHOR
SEE ALSO

ExtUtils::MM_Unix - methods used by ExtUtils::MakeMaker

SYNOPSIS
DESCRIPTION
METHODS
Methods

os_flavor

c_o (o)

cflags (o)

const_cccmd (o)

const_config (o)

const_loadlibs (o)

constants (o)

depend (o)

init_DEST

init_dist

dist (o)

dist_basics (o)

dist_ci (o)

dist_core (o)

dist_target

tardist_target

zipdist_target

tarfile_target

zipfile_target

uutardist_target

shdist_target

dlsyms (o)

dynamic_bs (o)

dynamic_lib (o)

exescan

extliblist

find_perl

fixin

force (o)

guess_name

has_link_code

init_dirscan

init_DIRFILESEP

init_main

init_others

init_linker

init_lib2arch

init_PERL

init_platform, platform_constants

init_PERM

init_xs

install (o)

installbin (o)

linkext (o)

lsdir

macro (o)

makeaperl (o)

makefile (o)

maybe_command

needs_linking (o)

nicetext

parse_abstract

parse_version

pasthru (o)

perl_script

perldepend (o)

perm_rw (o)

perm_rwx (o)

pm_to_blib

post_constants (o)

post_initialize (o)

postamble (o)

ppd

prefixify

processPL (o)

quote_paren

replace_manpage_separator

cd

oneliner

quote_literal

escape_newlines

max_exec_len

static (o)

static_lib (o)

staticmake (o)

subdir_x (o)

subdirs (o)

test (o)

test_via_harness (override)

test_via_script (override)

tools_other (o)

tool_xsubpp (o)

all_target

top_targets (o)

writedoc

xs_c (o)

xs_cpp (o)

xs_o (o)

SEE ALSO

ExtUtils::MM_VMS - methods to override UN*X behaviour in ExtUtils::MakeMaker

SYNOPSIS
DESCRIPTION
Methods always loaded

wraplist

Methods

guess_name (override)

find_perl (override)

maybe_command (override)

pasthru (override)

pm_to_blib (override)

perl_script (override)

replace_manpage_separator

init_DEST

init_DIRFILESEP

init_main (override)

init_others (override)

init_platform (override)

platform_constants

init_VERSION (override)

constants (override)

special_targets

cflags (override)

const_cccmd (override)

tools_other (override)

init_dist (override)

c_o (override)

xs_c (override)

xs_o (override)

dlsyms (override)

dynamic_lib (override)

static_lib (override)

extra_clean_files

zipfile_target, tarfile_target, shdist_target

install (override)

perldepend (override)

makeaperl (override)

nicetext (override)

prefixify (override)

cd

oneliner

echo

quote_literal

escape_newlines

max_exec_len

init_linker

eliminate_macros

fixpath

os_flavor

AUTHOR

ExtUtils::MM_VOS - VOS specific subclass of ExtUtils::MM_Unix

SYNOPSIS
DESCRIPTION
Overridden methods
AUTHOR
SEE ALSO

ExtUtils::MM_Win32 - methods to override UN*X behaviour in ExtUtils::MakeMaker

SYNOPSIS
DESCRIPTION
Overridden methods

dlsyms

replace_manpage_separator

maybe_command

init_DIRFILESEP

init_others

init_platform, platform_constants

special_targets

static_lib

dynamic_lib

extra_clean_files

init_linker

perl_script

xs_o

pasthru

oneliner

cd

max_exec_len

os_flavor

ExtUtils::MM_Win95 - method to customize MakeMaker for Win9X

SYNOPSIS
DESCRIPTION
Overriden methods

xs_c

xs_cpp

xs_o

max_exec_len

os_flavor

AUTHOR

ExtUtils::MY - ExtUtils::MakeMaker subclass for customization

SYNOPSIS
DESCRIPTION

ExtUtils::MakeMaker - Create a module Makefile

SYNOPSIS
DESCRIPTION
How To Write A Makefile.PL
Default Makefile Behaviour
make test
make testdb
make install
PREFIX and LIB attribute
AFS users
Static Linking of a new Perl Binary
Determination of Perl Library and Installation Locations
Which architecture dependent directory?
Using Attributes and Parameters

ABSTRACT, ABSTRACT_FROM, AUTHOR, BINARY_LOCATION, C, CCFLAGS, CONFIG, CONFIGURE, DEFINE, DESTDIR, DIR, DISTNAME, DISTVNAME, DL_FUNCS, DL_VARS, EXCLUDE_EXT, EXE_FILES, FIRST_MAKEFILE, FULLPERL, FULLPERLRUN, FULLPERLRUNINST, FUNCLIST, H, IMPORTS, INC, INCLUDE_EXT, INSTALLARCHLIB, INSTALLBIN, INSTALLDIRS, INSTALLMAN1DIR, INSTALLMAN3DIR, INSTALLPRIVLIB, INSTALLSCRIPT, INSTALLSITEARCH, INSTALLSITEBIN, INSTALLSITELIB, INSTALLSITEMAN1DIR, INSTALLSITEMAN3DIR, INSTALLVENDORARCH, INSTALLVENDORBIN, INSTALLVENDORLIB, INSTALLVENDORMAN1DIR, INSTALLVENDORMAN3DIR, INST_ARCHLIB, INST_BIN, INST_LIB, INST_MAN1DIR, INST_MAN3DIR, INST_SCRIPT, LD, LDDLFLAGS, LDFROM, LIB, LIBPERL_A, LIBS, LINKTYPE, MAKEAPERL, MAKEFILE_OLD, MAN1PODS, MAN3PODS, MAP_TARGET, MYEXTLIB, NAME, NEEDS_LINKING, NOECHO, NORECURS, NO_META, NO_VC, OBJECT, OPTIMIZE, PERL, PERL_CORE, PERLMAINCC, PERL_ARCHLIB, PERL_LIB, PERL_MALLOC_OK, PERLPREFIX, PERLRUN, PERLRUNINST, PERL_SRC, PERM_RW, PERM_RWX, PL_FILES, PM, PMLIBDIRS, PM_FILTER, POLLUTE, PPM_INSTALL_EXEC, PPM_INSTALL_SCRIPT, PREFIX, PREREQ_FATAL, PREREQ_PM, PREREQ_PRINT, PRINT_PREREQ, SITEPREFIX, SIGN, SKIP, TYPEMAPS, VENDORPREFIX, VERBINST, VERSION, VERSION_FROM, VERSION_SYM, XS, XSOPT, XSPROTOARG, XS_VERSION

Additional lowercase attributes

clean, depend, dist, dynamic_lib, linkext, macro, postamble, realclean, test, tool_autosplit

Overriding MakeMaker Methods
The End Of Cargo Cult Programming

MAN3PODS => ' '

Hintsfile support
Distribution Support
 make distcheck,    make skipcheck,	 make distclean,    make manifest, 
make distdir,   make disttest,    make tardist,    make dist,    make
uutardist,    make shdist,    make zipdist,    make ci
Module Meta-Data
Disabling an extension
Other Handy Functions

prompt

ENVIRONMENT

PERL_MM_OPT, PERL_MM_USE_DEFAULT, PERL_CORE

SEE ALSO
AUTHORS
LICENSE

ExtUtils::MakeMaker::Config - Wrapper around Config.pm

SYNOPSIS
DESCRIPTION

ExtUtils::MakeMaker::FAQ - Frequently Asked Questions About MakeMaker

DESCRIPTION
Module Installation

How do I keep from installing man pages?, How do I use a module without installing it?

Philosophy and History

Why not just use <insert other build config tool here>?, What is Module::Build and how does it relate to MakeMaker?, pure perl. no make, no shell commands, easier to customize, cleaner internals, less cruft

Module Writing

How do I keep my $VERSION up to date without resetting it manually?, What's this META.yml thing and how did it get in my MANIFEST?!

XS

How to I prevent "object version X.XX does not match bootstrap parameter Y.YY" errors?, How do I make two or more XS files coexist in the same directory?

PATCHING
AUTHOR
SEE ALSO

ExtUtils::MakeMaker::Tutorial - Writing a module with MakeMaker

SYNOPSIS
DESCRIPTION
The Mantra
The Layout

Makefile.PL, MANIFEST, lib/, t/, Changes, README, INSTALL, MANIFEST.SKIP, bin/

SEE ALSO

ExtUtils::MakeMaker::bytes - Version-agnostic bytes.pm

SYNOPSIS
DESCRIPTION

ExtUtils::MakeMaker::vmsish - Platform-agnostic vmsish.pm

SYNOPSIS
DESCRIPTION

ExtUtils::Manifest - utilities to write and check a MANIFEST file

SYNOPSIS
DESCRIPTION
Functions

mkmanifest

manifind

manicheck

filecheck

fullcheck

skipcheck

maniread

manicopy

maniadd

MANIFEST
MANIFEST.SKIP
EXPORT_OK
GLOBAL VARIABLES
DIAGNOSTICS

Not in MANIFEST: file, Skipping file, No such file: file, MANIFEST: $!, Added to MANIFEST: file

ENVIRONMENT

PERL_MM_MANIFEST_DEBUG

SEE ALSO
AUTHOR

ExtUtils::Miniperl, writemain - write the C code for perlmain.c

SYNOPSIS
DESCRIPTION
SEE ALSO

ExtUtils::Mkbootstrap - make a bootstrap file for use by DynaLoader

SYNOPSIS
DESCRIPTION

ExtUtils::Mksymlists - write linker options files for dynamic extension

SYNOPSIS
DESCRIPTION

DLBASE, DL_FUNCS, DL_VARS, FILE, FUNCLIST, IMPORTS, NAME

AUTHOR
REVISION

ExtUtils::Packlist - manage .packlist files

SYNOPSIS
DESCRIPTION
USAGE
FUNCTIONS

new(), read(), write(), validate(), packlist_file()

EXAMPLE
AUTHOR

ExtUtils::testlib - add blib/* directories to @INC

SYNOPSIS
DESCRIPTION

Fatal - replace functions with equivalents which succeed or die

SYNOPSIS
DESCRIPTION
AUTHOR

Fcntl - load the C Fcntl.h defines

SYNOPSIS
DESCRIPTION
NOTE
EXPORTED SYMBOLS

File::Basename - Parse file paths into directory, filename and suffix.

SYNOPSIS
DESCRIPTION

fileparse

basename

dirname

fileparse_set_fstype

SEE ALSO

File::CheckTree, validate - run many filetest checks on a tree

SYNOPSIS
DESCRIPTION
AUTHOR
HISTORY

File::Compare - Compare files or filehandles

SYNOPSIS
DESCRIPTION
RETURN
AUTHOR

File::Copy - Copy files or filehandles

SYNOPSIS
DESCRIPTION
Special behaviour if syscopy is defined (OS/2, VMS and Win32)

rmscopy($from,$to[,$date_flag])

RETURN
NOTES
AUTHOR

File::DosGlob - DOS like globbing and then some

SYNOPSIS
DESCRIPTION
NOTES
EXPORTS (by request only)
BUGS
AUTHOR
HISTORY
SEE ALSO

File::Find - Traverse a directory tree.

SYNOPSIS
DESCRIPTION

find, finddepth

%options

wanted, bydepth, preprocess, postprocess, follow, follow_fast, follow_skip, dangling_symlinks, no_chdir, untaint, untaint_pattern, untaint_skip

The wanted function

$File::Find::dir is the current directory name,, $_ is the current filename within that directory, $File::Find::name is the complete pathname to the file

WARNINGS
CAVEAT

$dont_use_nlink, symlinks

NOTES
BUGS AND CAVEATS
HISTORY

File::Glob - Perl extension for BSD glob routine

SYNOPSIS
DESCRIPTION
META CHARACTERS
POSIX FLAGS

GLOB_ERR, GLOB_LIMIT, GLOB_MARK, GLOB_NOCASE, GLOB_NOCHECK, GLOB_NOSORT, GLOB_BRACE, GLOB_NOMAGIC, GLOB_QUOTE, GLOB_TILDE, GLOB_CSH, GLOB_ALPHASORT

DIAGNOSTICS

GLOB_NOSPACE, GLOB_ABEND

NOTES
SEE ALSO
AUTHOR

File::Path - create or remove directory trees

SYNOPSIS
DESCRIPTION
DIAGNOSTICS
AUTHORS

File::Spec - portably perform operations on file names

SYNOPSIS
DESCRIPTION
METHODS

canonpath, catdir, catfile, curdir, devnull, rootdir, tmpdir, updir, no_upwards, case_tolerant, file_name_is_absolute, path, join, splitpath, splitdir, catpath(), abs2rel, rel2abs()

SEE ALSO
AUTHOR
COPYRIGHT

File::Spec::Cygwin - methods for Cygwin file specs

SYNOPSIS
DESCRIPTION

canonpath

file_name_is_absolute

tmpdir (override)

COPYRIGHT

File::Spec::Epoc - methods for Epoc file specs

SYNOPSIS
DESCRIPTION

canonpath()

AUTHOR
COPYRIGHT
SEE ALSO

File::Spec::Functions - portably perform operations on file names

SYNOPSIS
DESCRIPTION
Exports
COPYRIGHT
SEE ALSO

File::Spec::Mac - File::Spec for Mac OS (Classic)

SYNOPSIS
DESCRIPTION
METHODS

canonpath

catdir()

catfile

curdir

devnull

rootdir

tmpdir

updir

file_name_is_absolute

path

splitpath

splitdir

catpath

abs2rel

rel2abs

AUTHORS
COPYRIGHT
SEE ALSO

File::Spec::OS2 - methods for OS/2 file specs

SYNOPSIS
DESCRIPTION

tmpdir, splitpath

COPYRIGHT

File::Spec::Unix - File::Spec for Unix, base for other File::Spec modules

SYNOPSIS
DESCRIPTION
METHODS

canonpath()

catdir()

catfile

curdir

devnull

rootdir

tmpdir

updir

no_upwards

case_tolerant

file_name_is_absolute

path

join

splitpath

splitdir

catpath()

abs2rel

rel2abs()

COPYRIGHT
SEE ALSO

File::Spec::VMS - methods for VMS file specs

SYNOPSIS
DESCRIPTION

canonpath (override)

catdir (override)

catfile (override)

curdir (override)

devnull (override)

rootdir (override)

tmpdir (override)

updir (override)

case_tolerant (override)

path (override)

file_name_is_absolute (override)

splitpath (override)

splitdir (override)

catpath (override)

abs2rel (override)

rel2abs (override)

COPYRIGHT
SEE ALSO

File::Spec::Win32 - methods for Win32 file specs

SYNOPSIS
DESCRIPTION

devnull

tmpdir

catfile

canonpath

splitpath

splitdir

catpath

Note For File::Spec::Win32 Maintainers
COPYRIGHT
SEE ALSO

File::Temp - return name and handle of a temporary file safely

PORTABILITY
SYNOPSIS
DESCRIPTION
OBJECT-ORIENTED INTERFACE

new

filename

unlink_on_destroy

DESTROY

FUNCTIONS

tempfile

tempdir

MKTEMP FUNCTIONS

mkstemp

mkstemps

mkdtemp

mktemp

POSIX FUNCTIONS

tmpnam

tmpfile

ADDITIONAL FUNCTIONS

tempnam

UTILITY FUNCTIONS

unlink0

cmpstat

unlink1

cleanup

PACKAGE VARIABLES

safe_level, STANDARD, MEDIUM, HIGH

TopSystemUID

$KEEP_ALL, $DEBUG

WARNING
Temporary files and NFS
Forking
BINMODE
HISTORY
SEE ALSO
AUTHOR

File::stat - by-name interface to Perl's built-in stat() functions

SYNOPSIS
DESCRIPTION
BUGS
NOTE
AUTHOR

FileCache - keep more files open than the system permits

SYNOPSIS
DESCRIPTION

cacheout EXPR, cacheout MODE, EXPR

CAVEATS
BUGS

FileHandle - supply object methods for filehandles

SYNOPSIS
DESCRIPTION

$fh->print, $fh->printf, $fh->getline, $fh->getlines

SEE ALSO

Filter::Simple - Simplified source filtering

SYNOPSIS
DESCRIPTION
The Problem
A Solution
Disabling or changing <no> behaviour
All-in-one interface
Filtering only specific components of source code

"code", "code_no_comments", "executable", "executable_no_comments", "quotelike", "string", "regex", "all"

Filtering only the code parts of source code

Most source code ceases to be grammatically correct when it is broken up into the pieces between string literals and regexes. So the 'code' and 'code_no_comments' component filter behave slightly differently from the other partial filters described in the previous section.

Using Filter::Simple with an explicit import subroutine
Using Filter::Simple and Exporter together
How it works
AUTHOR
COPYRIGHT

Filter::Util::Call - Perl Source Filter Utility Module

SYNOPSIS
DESCRIPTION
use Filter::Util::Call
import()
filter() and anonymous sub

$_, $status, filter_read and filter_read_exact, filter_del

EXAMPLES
Example 1: A simple filter.
Example 2: Using the context
Example 3: Using the context within the filter
Example 4: Using filter_del
Filter::Simple
AUTHOR
DATE

FindBin - Locate directory of original perl script

SYNOPSIS
DESCRIPTION
EXPORTABLE VARIABLES
KNOWN ISSUES
KNOWN BUGS
AUTHORS
COPYRIGHT

GDBM_File - Perl5 access to the gdbm library.

SYNOPSIS
DESCRIPTION
AVAILABILITY
BUGS
SEE ALSO

Getopt::Long - Extended processing of command line options

SYNOPSIS
DESCRIPTION
Command Line Options, an Introduction
Getting Started with Getopt::Long
Simple options
A little bit less simple options
Mixing command line option with other arguments
Options with values
Options with multiple values
Options with hash values
User-defined subroutines to handle options
Options with multiple names
Case and abbreviations
Summary of Option Specifications

!, +, s, i, o, f, : type [ desttype ], : number [ desttype ], : + [ desttype ]

Advanced Possibilities
Object oriented interface
Thread Safety
Documentation