Index of Section 1 Manual Pages
| Interix / SUA | perltoc.1 | Interix / SUA |
PERLTOC(1) Perl Programmers Reference Guide PERLTOC(1)
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
AUTHOR AND COPYRIGHT
Acknowledgments
perlretut - Perl regular expressions tutorial
DESCRIPTION
Part 1: The basics
Simple word matching
Using character classes
Matching this or that
Grouping things and hierarchical matching
Extracting matches
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 expres-
sion
Non-capturing groupings
Looking ahead and looking behind
Using independent subexpressions to prevent backtrack-
ing
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
COPYRIGHT
perltoot - Tom's object-oriented tutorial for perl
DESCRIPTION
Creating a Class
Object Representation
Class Interface
Constructors and Instance Methods
Planning for the Future: Better Constructors
Destructors
Other Object Methods
Class Data
Accessing Class Data
Debugging Methods
Class Destructors
Documenting the Interface
Aggregation
Inheritance
Overridden Methods
Multiple Inheritance
UNIVERSAL: The Root of All Objects
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, Bet-
ter 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 nega-
tion (of strings), Modifying of constants prohib-
ited, "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 opera-
tor 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, Prece-
dence 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 substi-
tution, 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
Author and Copyright Information
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 - Net-
working
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 lan-
guage?
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 Top-
ics
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 sys-
tem?
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 sys-
tem?
Where can I learn about CGI or Web programming in
Perl?
Where can I learn about object-oriented Perl program-
ming?
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 representa-
tions/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 sec-
onds?
How can I find the Julian Day?
How do I find yesterday's date?
Does Perl have a Year 2000 problem? Is Perl Y2K com-
pliant?
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 sub-
string 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 <?
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 cre-
ating 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 compli-
ant?
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 Filehan-
dles, 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 bind-
ing?
Why doesn't "my($foo) = ;" 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, func-
tions, 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 key-
board/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 out-
put, 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 prob-
lems?
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 pro-
grams 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 vis-
ible?
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 pro-
gram?
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 mes-
sage?
How do I read mail?
How do I find out my hostname, domainname, or IP
address?
gethostbyname, Socket, Net::Domain, Sys::Hostname"
How do I fetch a news article or the active news-
groups?
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
err operator, logical, defined or operator, logi-
cal, exclusive or or xor err"
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/REPLACE-
MENT/egimosx
, tr/SEARCHLIST/REPLACEMENTLIST/cds
, y/SEARCHLIST/REPLACEMENTLIST/cds, <", "?RE?", "/RE/",
"m/RE/", "s/RE/foo/",, Interpolation of regular
expressions , Optimization of regular expressions
optimization"
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 func-
tions , 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, Mis-
cellaneous 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 inter-
process communication functions
, Fetching user and group info
, Fetching network info , Time-related func-
tions , Functions new in perl5 , Functions obso-
leted in perl5
Portability
Alphabetical Listing of Perl Functions
-X FILEHANDLE
, -X EXPR, -X, abs VALUE , abs, accept NEW-
SOCKET,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 FILEHAN-
DLE , 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, geth-
ostbyaddr ADDR,ADDRTYPE, getnetbyaddr ADDR,ADDR-
TYPE, getprotobynumber NUMBER, getservbyport
PORT,PROTO, getpwent, getgrent, gethostent, getne-
tent, getprotoent, getservent, setpwent, setgrent,
sethostent STAYOPEN, setnetent STAYOPEN, setpro-
toent STAYOPEN, setservent STAYOPEN, endpwent,
endgrent, endhostent, endnetent, endprotoent, end-
servent, 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,NEW-
FILE , 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 FILE-
NAME, 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 VER-
SION, no Module LIST, no Module, oct EXPR
, oct, open FILEHANDLE,EXPR , open FILEHAN-
DLE,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 FILEHAN-
DLE,SCALAR,LENGTH,OFFSET , read FILEHAN-
DLE,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,SUB-
STR,POSITION , rindex STR,SUBSTR, rmdir FILENAME
, rmdir, s///, scalar EXPR , seek FILEHAN-
DLE,POSITION,WHENCE , seekdir DIRHANDLE,POS ,
select FILEHANDLE , select, select
RBITS,WBITS,EBITS,TIMEOUT , semctl ID,SEM-
NUM,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 , shm-
read 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 SUB-
NAME LIST
, sort BLOCK LIST, sort LIST, splice ARRAY,OFF-
SET,LENGTH,LIST , splice ARRAY,OFFSET,LENGTH,
splice ARRAY,OFFSET, splice ARRAY, split /PAT-
TERN/,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 FILE-
HANDLE,FILENAME,MODE,PERMS, sysread FILEHAN-
DLE,SCALAR,LENGTH,OFFSET , sysread FILEHAN-
DLE,SCALAR,LENGTH, sysseek FILEHANDLE,POSI-
TION,WHENCE , system LIST , system PROGRAM LIST,
syswrite FILEHANDLE,SCALAR,LENGTH,OFFSET ,
syswrite FILEHANDLE,SCALAR,LENGTH, syswrite FILE-
HANDLE,SCALAR, tell FILEHANDLE , tell, telldir
DIRHANDLE , tie VARIABLE,CLASSNAME,LIST , tied
VARIABLE , time , times , tr///, truncate FILEHAN-
DLE,LENGTH , truncate EXPR,LENGTH, uc EXPR , uc,
ucfirst EXPR , ucfirst, umask EXPR , umask, undef
EXPR , undef, unlink LIST , unlink, unpack TEM-
PLATE,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/// default select semctl semget semop
send setpgrp group setpriority priority nice
renice setsockopt shift shmctl shmget shmread
shmwrite shutdown sin sine asin arcsine sleep
pause socket socketpair sort qsort quicksort
mergesort splice split sprintf precision sqrt root
square root srand seed randseed stat file, status
study sub substr substring mid left right symlink
link symbolic link link, symbolic syscall system
call sysopen sysread sysseek lseek system shell
syswrite tell telldir tie tied time epoch times
truncate uc uppercase toupper ucfirst uppercase
umask undef undefine unlink delete remove rm
unpack untie unshift use module import utime val-
ues vec bit bit vector wait waitpid wantarray con-
text warn warning STDERR write"
perlopentut - tutorial on opening things in Perl
DESCRIPTION
Open A la shell
Simple Opens
Indirect Filehandles
Pipe Opens
The Minus File
Mixing Reads and Writes
Filters
Open A la C
Permissions A la mode
Obscure Open Tricks
Re-Opening Files (dups)
Dispelling the Dweomer
Paths as Opens
Single Argument Open
Playing with STDIN and STDOUT
Other I/O Issues
Opening Non-File Files
Opening Named Pipes
Opening Sockets
Binary Files
File Locking
IO Layers
SEE ALSO
AUTHOR and COPYRIGHT
HISTORY
perlpacktut - tutorial on "pack" and "unpack"
DESCRIPTION
The Basic Principle
Packing Text
Packing Numbers
Integers
Unpacking a Stack Frame
How to Eat an Egg on a Net
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" -- italic text , "B" -- bold
text
, "C" -- code text
, "L" -- a hyperlink , "E" -- a
character escape
, "F" -- used for filenames , "S"
-- text contains non-breaking spaces
, "X" -- an index entry
, "Z<>" -- a null (zero-effect) formatting code
code, italic italic B B<> POD, formatting code,
bold bold C C<> POD, formatting code, code code L
L<> POD, formatting code, hyperlink hyperlink E
E<> POD, formatting code, escape escape F F<> POD,
formatting code, filename filename S S<> POD, for-
matting code, non-breaking space non-breaking
space X X<> POD, formatting code, index entry
index entry Z Z<> POD, formatting code, null null"
The Intent
Embedding Pods in Perl Modules
Hints for Writing Pod
SEE ALSO
AUTHOR
perlpodspec - Plain Old Documentation: format specifica-
tion and notes
DESCRIPTION
Pod Definitions
Pod Commands
"=head1", "=head2", "=head3", "=head4", "=pod",
"=cut", "=over", "=item", "=back", "=begin format-
name", "=end formatname", "=for formatname text...",
"=encoding encodingname"
Pod Formatting Codes
"I" -- italic text, "B" -- bold text,
"C" -- code text, "F" -- style for
filenames, "X" -- an index entry, "Z<>" --
a null (zero-effect) formatting code, "L" -- a
hyperlink, "E" -- a character escape,
"S" -- 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 com-
mandline , -f , -Fpattern , -h , -i[extension] ,
-Idirectory , -l[octnum] , -m[-]module ,
-M[-]module, -M[-]'module ...', -[mM][-]mod-
ule=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 , PERL-
LIB , PERL5DB , PERL5DB_THREADED , PERL5SHELL (spe-
cific 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_UNI-
CODE , 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 , , 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 com-
pile 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] command, V debugger command, X
debugger command, y debugger command, T backtrace
stack, backtrace debugger command, s step debugger
command, n debugger command, r debugger command, c
debugger command, l debugger command, - debugger
command, v debugger command, . debugger command, f
debugger command, L debugger command, S debugger
command, t debugger command, t breakpoint debugger
command, b breakpoint debugger command, b break-
point debugger command, b breakpoint debugger com-
mand, b breakpoint debugger command, b breakpoint
debugger command, b breakpoint debugger command, B
breakpoint debugger command, B debugger command, a
debugger command, A debugger command, A debugger
command, w debugger command, W debugger command, W
debugger command, o debugger command, o debugger
command, o debugger command, o debugger command, <
debugger command, < debugger command, < debugger
command, << debugger command, > debugger command,
> debugger command, > debugger command, >> debug-
ger command, { debugger command, { debugger com-
mand, {{ debugger command, ! debugger command, !
debugger command, ! debugger command, !! debugger
command, source debugger command, H debugger com-
mand, q debugger command, ^D debugger command, R
debugger command, | debugger command, || debugger
command, m debugger command, M debugger command,
man"
Configurable Options
"recallCommand", "ShellBang" , "pager" , "tkRun-
ning" , "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" option, ShellBang debugger option, pager
debugger option, tkRunning debugger option, sig-
nalLevel debugger option, warnLevel debugger
option, dieLevel debugger option, AutoTrace debug-
ger option, LineInfo debugger option, inhibit_exit
debugger option, PrintRet debugger option, orna-
ments debugger option, frame debugger option, max-
TraceLen debugger option, windowSize debugger
option, arrayDepth debugger option, hashDepth
debugger option, dumpDepth debugger option, com-
pactDump debugger option, veryCompact debugger
option, globPrint debugger option, DumpDBFiles
debugger option, DumpPackages debugger option,
DumpReused debugger option, quote debugger option,
HighBit debugger option, undefPrint debugger
option, UsageOnly debugger option, TTY debugger
option, noTTY debugger option, ReadLine debugger
option, NonStop"
Debugger input/output
Prompt, Multiline commands, Stack backtrace ,
Line Listing Format, Frame listing backtrace"
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, $, $MATCH, $&, $PRE-
MATCH, $`, $POSTMATCH, $', $LAST_PAREN_MATCH, $+,
$^N, @LAST_MATCH_END, @+, $*, HAN-
DLE->input_line_number(EXPR), $INPUT_LINE_NUMBER,
$NR, $, IO::Handle->input_record_separator(EXPR),
$INPUT_RECORD_SEPARATOR, $RS, $/, HANDLE->aut-
oflush(EXPR), $OUTPUT_AUTOFLUSH, $|, IO::Han-
dle->output_field_separator EXPR, $OUT-
PUT_FIELD_SEPARATOR, $OFS, $,, IO::Handle->out-
put_record_separator EXPR, $OUTPUT_RECORD_SEPARA-
TOR, $ORS, $\, $LIST_SEPARATOR, $", $SUB-
SCRIPT_SEPARATOR, $SUBSEP, $;, $#, HANDLE->for-
mat_page_number(EXPR), $FORMAT_PAGE_NUMBER, $%,
HANDLE->format_lines_per_page(EXPR), $FOR-
MAT_LINES_PER_PAGE, $=, HANDLE->for-
mat_lines_left(EXPR), $FORMAT_LINES_LEFT, $-,
@LAST_MATCH_START, @-, $` is the same as "sub-
str($var, 0, $-[0])", $& is the same as "sub-
str($var, $-[0], $+[0] - $-[0])", $' is the same
as "substr($var, $+[0])", $1 is the same as "sub-
str($var, $-[1], $+[1] - $-[1])", $2 is the same
as "substr($var, $-[2], $+[2] - $-[2])", $3 is the
same as "substr($var, $-[3], $+[3] - $-[3])", HAN-
DLE->format_name(EXPR), $FORMAT_NAME, $~, HAN-
DLE->format_top_name(EXPR), $FORMAT_TOP_NAME, $^,
IO::Handle->format_line_break_characters EXPR,
$FORMAT_LINE_BREAK_CHARACTERS, $:, IO::Han-
dle->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, $(, $EFFEC-
TIVE_GROUP_ID, $EGID, $), $PROGRAM_NAME, $0, $[,
$], $COMPILING, $^C, $DEBUGGING, $^D, $SYS-
TEM_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_VER-
SION, $^V, $WARNING, $^W, ${^WARNING_BITS}, $EXE-
CUTABLE_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 expression, case-insensitive m regex, multiline
regexp, multiline regular expression, multiline s
regex, single-line regexp, single-line regular expres-
sion, single-line x"
Regular Expressions
[1], [2], [3], cntrl , graph , print , punct ,
xdigit
Extended Patterns
"(?#text)" , "(?imsx-imsx)" , "(?:pattern)" ,
"(?imsx-imsx:pattern)", "(?=pattern)" , "(?!pat-
tern)" , "(?<=pattern)" , "(?pattern)" , "(?(condition)yes-pat-
tern|no-pattern)" , "(?(condition)yes-pattern)"
postponed regex, recursive regexp, recursive regu-
lar expression, recursive backtrack backtracking
(?()"
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)",
"(?' 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 imple-
mentation 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 ref-
erence, 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, Port-
ing/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 tor-
turetest, 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', -Uusemymal-
loc, -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 "GV"s, "CV"s
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::Make-
text, 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::Nor-
malize, 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, lib-
net, MIME::Base64, Pod::Perldoc, strict,
Tie::Hash, Time::HiRes, Unicode::Collate, Uni-
code::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, Bench-
mark, 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::Nor-
malize, 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 run-
ning"
Removed "Attempt to clear a restricted hash"
New "Illegal declaration of anonymous subroutine"
Changed "Invalid range "%s" in transliteration opera-
tor"
New "Missing control char name in \c"
New "Newline in left-justified string for %s"
New "Possible precedence problem on bitwise %c opera-
tor"
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 inse-
cure'
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 inse-
cure'
Cygwin intermittent failures of lib/Memo-
ize/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 inse-
cure'
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 conver-
sions, qw(a\\b), caller(), Bugs in regular expres-
sions, "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 sup-
port, 64-bit support, Compiler, Lvalue subrou-
tines, IO::Socket, File::Find, xsubpp, "no Mod-
ule;", 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::Com-
plex, Net::Ping, Opcode, Pod::Parser, Pod::Text,
SDBM_File, Sys::Syslog, Tie::RefHash, Tie::Sub-
strHash
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 ordi-
nals
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
Boolean assignment operators are legal lvalues
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 opera-
tions
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 char-
acter
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, podse-
lect, 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, perldbm-
filter.pod, perldebug.pod, perldebguts.pod, perl-
fork.pod, perlfilter.pod, perlhack.pod, perlin-
tern.pod, perllexwarn.pod, perlnumber.pod, perlopen-
tut.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
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 rede-
clared, '!' 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, con-
stant(%s): %s, CORE::%s is not a keyword,
defined(@array) is deprecated, defined(%hash) is dep-
recated, 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 unin-
tended 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, Refer-
ence 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 mes-
sage to prime_env_iter: %s, Unrecognized escape \\%c
passed through, Unterminated attribute parameter in
attribute list, Unterminated attribute list, Untermi-
nated 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 plat-
forms, 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 subrou-
tines, Weak references, The pseudo-hash data type,
The Compiler suite, Internal implementation of
file globbing, The DB module, The regular expres-
sion 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 "$$" to mean "${$}" is dep-
recated
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 ordi-
nals
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
Boolean assignment operators are legal lvalues
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 opera-
tions
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 char-
acter
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, podse-
lect, 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, perldbm-
filter.pod, perldebug.pod, perldebguts.pod, perl-
fork.pod, perlfilter.pod, perlhack.pod, perlin-
tern.pod, perllexwarn.pod, perlnumber.pod, perlopen-
tut.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
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 rede-
clared, '!' 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, con-
stant(%s): %s, CORE::%s is not a keyword,
defined(@array) is deprecated, defined(%hash) is dep-
recated, 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 unin-
tended 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, Refer-
ence 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 mes-
sage to prime_env_iter: %s, Unrecognized escape \\%c
passed through, Unterminated attribute parameter in
attribute list, Unterminated attribute list, Untermi-
nated 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 plat-
forms, 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 subrou-
tines, Weak references, The pseudo-hash data type,
The Compiler suite, Internal implementation of
file globbing, The DB module, The regular expres-
sion 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 "$$" to mean "${$}" is dep-
recated
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, Recur-
sive 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: Set-
ting 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 modi-
fied
Group vector changeable with $)
Fixed parsing of $$, &$, etc.
Fixed localization of $, $&, 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 refer-
ence as lvalue in substr, Bareword "%s" refers to
nonexistent package, Can't redefine active sort sub-
routine %s, Can't use bareword ("%s") as %s ref while
"strict refs" in use, Cannot resolve method `%s' over-
loading `%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 sep-
arate 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 "$$" to mean "${$}" is depre-
cated, 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 Avail-
able"
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, Ver-
sion 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", "-Duse-
multiplicity", "-Duse64bitint", "-Duselongdouble",
"-Dusethreads", "-Duselargefiles", "-Dmksymlinks"
Suspicious Warnings on Cygwin
dlsym(), Win9x and "d_eofnblk", Compiler/Prepro-
cessor 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::win-
pid_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 environ-
ment
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 get-
servbyname_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 -Zcrt-
dll"?, 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), Executa-
bles for Perl utilities, Main Perl library, Addi-
tional Perl modules, Tools to compile Perl mod-
ules, 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 stati-
cally 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_abso-
lute(name)", "Cwd::sys_is_rooted(name)",
"Cwd::sys_is_rela-
tive(name)", "Cwd::sys_cwd(name)",
"Cwd::sys_abspath(name, dir)", "Cwd::extLib-
path([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_Mes-
sages(force)", "OS2::Process_Messages(force [,
cnt])", "OS2::_control87(new,mask)", OS2::get_con-
trol87(), "OS2::set_con-
trol87_em(new=MCW_EM,mask=MCW_EM)", "OS2::DLL-
name([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)", "SaveCroakWin-
Error(expr,die,name1,name2)", "Win-
Error_2_Perl_rc", "FillWinError", "FillOSEr-
ror(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 Documenta-
tion
SETTING UP
File Extraction Problems on Solaris.
Compiler and Related Tools 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 (for-
merly 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, get-
pwnam, 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, Com-
mand-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
, Nick Ing-Simmons
, Jan Dubois , Steve Hay
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 run-
ning
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
Filter-related changes at Encode version 1.87
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 com-
piling
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, Transcenden-
tal functions, Boolean, string and numeric conver-
sion, 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 refer-
ence
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-sig-
nals
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 fea-
tures
SYNOPSIS
DESCRIPTION
"vmsish status", "vmsish exit", "vmsish time", "vmsish
hushed"
warnings - Perl pragma to control optional warnings
SYNOPSIS
DESCRIPTION
use warnings::register, warnings::enabled(), warn-
ings::enabled($category), warnings::enabled($object),
warnings::warn($message), warnings::warn($category,
$message), warnings::warn($object, $message), warn-
ings::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 han-
dlers
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 subrou-
tine", "Can't autotie a %s", "Internal error: %s sym-
bol went missing", "Won't be able to apply END han-
dler"
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
SV-RELATED 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, OUT-
SIDE, OUTSIDE_SEQ, XSUB, XSUBANY, CvFLAGS,
const_sv
B::HV Methods
FILL, MAX, KEYS, RITER, NAME, PMROOT, ARRAY
OP-RELATED CLASSES
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, pmoff-
set
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, #priv-
val, #seq, #seqnum, #opt, #static, #sibaddr,
#svaddr, #svclass, #svval, #targ, #targarg, #tar-
garglife, #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, reg-
exp-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 pro-
grams
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 PARAME-
TER:
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 tag), 2.
end_table() (generates a
tag), 3.
start_ul() (generates a tag), 4. end_ul()
(generates a
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, multi-
part/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:
CREATING A GROUP OF RELATED CHECKBOXES
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