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.
Finding the end, Removal of backslashes before delimiters, Interpolation,
"<<'EOF'", "m''", "s'''", "tr///", "y///", '', "q//", "",
``, "qq//", "qx//", "<file*glob>", "?RE?", "/RE/", "m/RE/",
"s/RE/foo/",, Interpolation of regular expressions, Optimization of
regular expressions
I/O Operators
Constant Folding
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
Passing Symbol Table Entries (typeglobs)
When to Still Use local()
Pass by Reference
Prototypes
Constant Functions
Overriding Built-in Functions
Autoloading
Subroutine Attributes
SEE ALSO
perlfunc - Perl builtin functions
DESCRIPTION
Perl Functions by Category
Functions for SCALARs or strings, Regular expressions and pattern matching,
Numeric functions, Functions for real @ARRAYs, Functions for list data,
Functions for real %HASHes, Input and output functions, Functions for fixed
length data or records, Functions for filehandles, files, or directories,
Keywords related to the control flow of your perl program, Keywords related
to scoping, Miscellaneous functions, Functions for processes and process
groups, Keywords related to perl modules, Keywords related to classes and
object-orientedness, Low-level socket functions, System V interprocess
communication functions, Fetching user and group info, Fetching network
info, Time-related functions, Functions new in perl5, Functions obsoleted
in perl5
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
HOME, LOGDIR, PATH, PERL5LIB, PERL5OPT, PERLLIB, PERL5DB, PERL5SHELL
(specific to the Win32 port), PERL_DEBUG_MSTATS, PERL_DESTRUCT_LEVEL,
PERL_ROOT (specific to the VMS port), 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
perldebtut - Perl debugging tutorial
DESCRIPTION
use strict
Looking at data and -w and w
help
Stepping through code
Placeholder for a, w, t, T
REGULAR EXPRESSIONS
OUTPUT TIPS
CGI
GUIs
SUMMARY
SEE ALSO
AUTHOR
CONTRIBUTORS
perldebug - Perl debugging
DESCRIPTION
The Perl Debugger
Debugger Commands
h [command], p expr, x expr, V [pkg [vars]], X [vars], T, s [expr], n
[expr], r, <CR>, c [line|sub], l, l min+incr, l min-max, l line, l subname,
-, w [line], f filename, /pattern/, ?pattern?, L, S [[!]regex], t, t expr,
b [line] [condition], b subname [condition], b postpone subname
[condition], b load filename, b compile subname, d [line], D, a [line]
command, a [line], A, W expr, W, O booloption .., O anyoption? .., O
option=value .., < ?, < [ command ], << command, > ?, > command, >>
command, { ?, { [ command ], {{ command, ! number, ! -number, ! pattern, !!
cmd, H -number, q or ^D, R, |dbcmd, ||dbcmd, command, m expr, man [manpage]
perlipc - Perl interprocess communication (signals, fifos, pipes, safe subprocesses, sockets, and semaphores)
DESCRIPTION
Signals
Named Pipes
WARNING
Using open() for IPC
Filehandles
Background Processes
Complete Dissociation of Child from Parent
Safe Pipe Opens
Bidirectional Communication with Another Process
Bidirectional Communication with Yourself
Sockets: Client/Server Communication
Internet Line Terminators
Internet TCP Clients and Servers
Unix-Domain TCP Clients and Servers
TCP Clients with IO::Socket
A Simple Client
"Proto", "PeerAddr", "PeerPort"
A Webget Client
Interactive Client with IO::Socket
TCP Servers with IO::Socket
Proto, LocalPort, Listen, Reuse
UDP: Message Passing
SysV IPC
NOTES
BUGS
AUTHOR
SEE ALSO
perlfork - Perl's fork() emulation (EXPERIMENTAL, subject to change)
SYNOPSIS
DESCRIPTION
Behavior of other Perl features in forked pseudo-processes
$$ or $PROCESS_ID, %ENV, chdir() and all other builtins that accept
filenames, wait() and waitpid(), kill(), exec(), exit(), Open handles to
files, directories and network sockets
Resource limits
Killing the parent process
Lifetime of the parent process and pseudo-processes
CAVEATS AND LIMITATIONS
BEGIN blocks, Open filehandles, Forking pipe open() not yet implemented,
Global state maintained by XSUBs, Interpreter embedded in larger
application, Thread-safety of extensions
BUGS
AUTHOR
SEE ALSO
perlnumber - semantics of numbers and numeric operations in Perl
SYNOPSIS
DESCRIPTION
Storing numbers
Numeric operators and numeric conversions
Flavors of Perl numeric operations
Arithmetic operators except, "no integer", Arithmetic operators except,
"use integer", Bitwise operators, "no integer", Bitwise operators, "use
integer", Operators which expect an integer, Operators which expect a
string
AUTHOR
SEE ALSO
perlthrtut - tutorial on threads in Perl
DESCRIPTION
What Is A Thread Anyway?
Threaded Program Models
Boss/Worker
Work Crew
Pipeline
Native threads
What kind of threads are perl threads?
Threadsafe Modules
Thread Basics
Basic Thread Support
Creating Threads
Giving up control
Waiting For A Thread To Exit
Errors In Threads
Ignoring A Thread
Threads And Data
Shared And Unshared Data
Thread Pitfall: Races
Controlling access: lock()
Thread Pitfall: Deadlocks
Queues: Passing Data Around
Threads And Code
Semaphores: Synchronizing Data Access
Basic semaphores, Advanced Semaphores
Attributes: Restricting Access To Subroutines
Subroutine Locks
Methods
Locking A Subroutine
General Thread Utility Routines
What Thread Am I In?
Thread IDs
Are These Threads The Same?
What Threads Are Running?
A Complete Example
Conclusion
Bibliography
Introductory Texts
OS-Related References
Other References
Acknowledgements
AUTHOR
Copyrights
perlport - Writing portable Perl
DESCRIPTION
Not all Perl programs have to be portable, Nearly all of Perl already is
portable
v1.48, 02 February 2001, v1.47, 22 March 2000, v1.46, 12 February 2000,
v1.45, 20 December 1999, v1.44, 19 July 1999, v1.43, 24 May 1999, v1.42, 22
May 1999, v1.41, 19 May 1999, v1.40, 11 April 1999, v1.39, 11 February
1999, v1.38, 31 December 1998, v1.37, 19 December 1998, v1.36, 9 September
1998, v1.35, 13 August 1998, v1.33, 06 August 1998, v1.32, 05 August 1998,
v1.30, 03 August 1998, v1.23, 10 July 1998
Supported Platforms
SEE ALSO
AUTHORS / CONTRIBUTORS
VERSION
perllocale - Perl locale handling (internationalization and localization)
DESCRIPTION
PREPARING TO USE LOCALES
USING LOCALES
The use locale pragma
The setlocale function
Finding locales
LOCALE PROBLEMS
Temporarily fixing locale problems
Permanently fixing locale problems
Permanently fixing your system's locale configuration
Fixing system locale configuration
The localeconv function
LOCALE CATEGORIES
Category LC_COLLATE: Collation
Category LC_CTYPE: Character Types
Category LC_NUMERIC: Numeric Formatting
Category LC_MONETARY: Formatting of monetary amounts
LC_TIME
Other categories
SECURITY
ENVIRONMENT
PERL_BADLANG, LC_ALL, LANGUAGE, LC_CTYPE, LC_COLLATE, LC_MONETARY,
LC_NUMERIC, LC_TIME, LANG
NOTES
Backward compatibility
I18N:Collate obsolete
Sort speed and memory use impacts
write() and LC_NUMERIC
Freely available locale definitions
I18n and l10n
An imperfect standard
BUGS
Broken systems
SEE ALSO
HISTORY
perlunicode - Unicode support in Perl (EXPERIMENTAL, subject to change)
DESCRIPTION
Important Caveat
Input and Output Disciplines, Regular Expressions, "use utf8" still needed
to enable a few features
Byte and Character semantics
Effects of character semantics
Character encodings for input and output
CAVEATS
SEE ALSO
perlebcdic - Considerations for running Perl on EBCDIC platforms
Why am I getting long decimals (eg, 19.9499999999999) instead of the numbers I should be getting (eg, 19.95)?
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 bits into ints?
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?
Data: Dates
How do I find the week-of-the-year/day-of-the-year?
How do I find the current century or millennium?
How can I compare two dates and find the difference?
How can I take a string and turn it into epoch seconds?
How can I find the Julian Day?
How do I find yesterday's date?
Does Perl have a Year 2000 problem? Is Perl Y2K compliant?
Data: Strings
How do I validate input?
How do I unescape a string?
How do I remove consecutive pairs of characters?
How do I expand function calls in a string?
How do I find matching/nesting anything?
How do I reverse a string?
How do I expand tabs in a string?
How do I reformat a paragraph?
How can I access/change the first N letters of a string?
How do I change the Nth occurrence of something?
How can I count the number of occurrences of a substring within a string?
How do I capitalize all the words on one line?
How can I split a [character] delimited string except when inside [character]? (Comma-separated files)
How do I strip blank space from the beginning/end of a string?
How do I pad a string with blanks or pad a number with zeroes?
How do I extract selected columns from a string?
How do I find the soundex value of a string?
How can I expand variables in text strings?
What's wrong with always quoting $vars?
Why don't my <<HERE documents work?
1. There must be no space after the << part, 2. There (probably) should be
a semicolon at the end, 3. You can't (easily) have any space in front of
the tag
Data: Arrays
What is the difference between a list and an array?
What is the difference between $array[1] and @array[1]?
How can I remove duplicate elements from a list or array?
a), b), c), d), e)
How can I tell whether a list or array contains a certain element?
How do I compute the difference of two arrays? How do I compute the intersection of two arrays?
How do I test whether two arrays or hashes are equal?
How do I find the first array element for which a condition is true?
How do I handle linked lists?
How do I handle circular lists?
How do I shuffle an array randomly?
How do I process/modify each element of an array?
How do I select a random element from an array?
How do I permute N elements of a list?
How do I sort an array by (anything)?
How do I manipulate arrays of bits?
Why does
defined() return true on empty arrays and hashes?
Data: Hashes (Associative Arrays)
How do I process an entire hash?
What happens if I add or remove keys from a hash while iterating over it?
How do I look up a hash element by value?
How can I know how many entries are in a hash?
How do I sort a hash (optionally by value instead of key)?
How can I always keep my hash sorted?
What's the difference between delete and undef with hashes?
Why don't my tied hashes make the defined/exists distinction?
How do I reset an each() operation part-way through?
How can I get the unique keys from two hashes?
How can I store a multidimensional array in a DBM file?
How can I make my hash remember the order I put elements into it?
Why does passing a subroutine an undefined element in a hash create it?
How can I make the Perl equivalent of a C structure/C++ class/hash or array of hashes or arrays?
How can I use a reference as a hash key?
Data: Misc
How do I handle binary data correctly?
How do I determine whether a scalar is a number/whole/integer/float?
How do I keep persistent data across program calls?
How do I print out or copy a recursive data structure?
How do I define methods for every class/object?
How do I verify a credit card checksum?
How do I pack arrays of doubles or floats for XS code?
How do I find out which operating system I'm running under?
How come exec() doesn't return?
How do I do fancy stuff with the keyboard/screen/mouse?
Keyboard, Screen, Mouse
How do I print something out in color?
How do I read just one key without waiting for a return key?
How do I check whether input is ready on the keyboard?
How do I clear the screen?
How do I get the screen size?
How do I ask the user for a password?
How do I read and write the serial port?
lockfiles, open mode, end of line, flushing output, non-blocking input
How do I decode encrypted password files?
How do I start a process in the background?
STDIN, STDOUT, and STDERR are shared, Signals, Zombies
How do I trap control characters/signals?
How do I modify the shadow password file on a Unix system?
How do I set the time and date?
How can I sleep() or alarm() for under a second?
How can I measure time under a second?
How can I do an atexit() or setjmp()/longjmp()? (Exception handling)
Why doesn't my sockets program work under System V (Solaris)? What does the error message Protocol not supported mean?
How can I call my system's unique C functions from Perl?
Where do I get the include files to do ioctl() or syscall()?
Why do setuid perl scripts complain about kernel problems?
How can I open a pipe both to and from a command?
Why can't I get the output of a command with system()?
How can I capture STDERR from an external command?
Why doesn't open() return an error when a pipe open fails?
What's wrong with using backticks in a void context?
How can I call backticks without shell processing?
Why can't my script read from STDIN after I gave it EOF (^D on Unix, ^Z on MS-DOS)?
How can I convert my shell script to perl?
Can I use perl to run a telnet or ftp session?
How can I write expect in Perl?
Is there a way to hide perl's command line from programs such as ps?
I {changed directory, modified my environment} in a perl script.How come the change disappeared when I exited the script? How do I get my changes to be visible?
Unix
How do I close a process's filehandle without waiting for it to complete?
How do I fork a daemon process?
How do I find out if I'm running interactively or not?
How do I timeout a slow event?
How do I set CPU limits?
How do I avoid zombies on a Unix system?
How do I use an SQL database?
How do I make a system() exit on control-C?
How do I open a file without blocking?
How do I 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 at runtime?
Update the POSIX extension to conform with the POSIX 1003.1 Edition 2
Module versions
New modules
Profiler
Tie Modules
VecArray, SubstrArray, VirtualArray, ShiftSplice
Procedural options
RPC
y2k localtime/gmtime
Export File::Find variables
Ioctl
Debugger attach/detach
Regular Expression debugger
Alternative RE Syntax
Bundled modules
Expect
GUI::Native
Update semibroken auxiliary tools; h2ph, a2p, etc.
pod2html
Podchecker
Tom's Wishes
Webperl
Mobile agents
POSIX on non-POSIX
Portable installations
Win32 Stuff
Rename new headers to be consistent with the rest
Sort out the spawnvp() mess
Work out DLL versioning
Style-check
Would be nice to have
"pack "(stuff)*"", Contiguous bitfields in pack/unpack, lexperl, Bundled
perl preprocessor, Use posix calls internally where possible, format
BOTTOM, -i rename file only when successfully changed, All ARGV input
should act like <>, report HANDLE [formats], support in perlmain to rerun
debugger, lvalue functions
Possible pragmas
'less'
Optimizations
constant function cache
foreach(reverse...)
Cache eval tree
rcatmaybe
Shrink opcode tables
Cache hash value
Optimize away @_ where possible
Optimize sort by { $a <=> $b }
Rewrite regexp parser for better integrated optimization
Vague possibilities
ref function in list context, make tr/// return histogram in list context?,
Loop control on do{} et al, Explicit switch statements, compile to real
threaded code, structured types, Modifiable $1 et al
To Do Or Not To Do
Making my() work on package variables
or testing defined not truth
dynamic lexicals
class-based, rather than package-based lexicals
Threading
Modules
Testing
$AUTOLOAD
exit/die
External threads
Thread::Pool
thread-safety
Per-thread GVs
Compiler
Optimization
Byteperl
Precompiled modules
Executables
Typed lexicals
Win32
END blocks
_AUTOLOAD
comppadlist
Cached compilation
Recently Finished Tasks
Figure a way out of $^(capital letter)
Filenames
Foreign lines
Namespace cleanup
ISA.pm
gettimeofday
autocroak?
perlhack - How to hack at the Perl internals
DESCRIPTION
Does concept match the general goals of Perl?, Where is the
implementation?, Backwards compatibility, Could it be a module instead?, Is
the feature generic enough?, Does it potentially introduce new bugs?, Does
it preclude other desirable features?, Is the implementation robust?, Is
the implementation generic enough to be portable?, Is 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, It's more recent, It's more reliable
Why rsync the patches
It's easier, It's a good reference, Finding a start point, Finding how to
fix a bug, Finding the source of misbehaviour
Submitting patches
perlguts, perlxstut and perlxs, perlapi,
Porting/pumpkin.pod, The perl5-porters FAQ
Simple sort() using { $a <=> $b } and the like are optimized
Optimized assignments to lexical variables
Faster subroutine calls
delete(), each(), values() and hash iteration are faster
Installation and Configuration Improvements
-Dusethreads means something different
New Configure flags
Threadedness and 64-bitness now more daring
Long Doubles
-Dusemorebits
-Duselargefiles
installusrbinperl
SOCKS support
-A flag
Enhanced Installation Directories
gcc automatically tried if 'cc' does not seem to be working
Platform specific changes
Supported platforms
DOS
OS390 (OpenEdition MVS)
VMS
Win32
Significant bug fixes
<HANDLE> on empty files
eval '...' improvements
All compilation errors are true errors
Implicitly closed filehandles are safer
Behavior of list slices is more consistent
(\$) prototype and $foo{a}
goto &sub and
AUTOLOAD
-bareword
allowed under use integer
Failures in
DESTROY()
Locale bugs fixed
Memory leaks
Spurious subroutine stubs after failed subroutine calls
Taint failures under -U
END blocks and the -c switch
Potential to leak DATA filehandles
New or Changed Diagnostics
``%s'' variable %s masks earlier declaration in same %s, ``my sub'' not yet
implemented, ``our'' variable %s redeclared, '!' allowed only after types %s,
/ cannot take a count, / must be followed by a, A or Z, / must be followed
by a*, A* or Z*, / must follow a numeric type, /%s/: Unrecognized escape
\\%c passed through, /%s/: Unrecognized escape \\%c in character class
passed through, /%s/ should probably be written as ``%s'', %s() called too
early to check prototype, %s argument is not a HASH or ARRAY element, %s
argument is not a HASH or ARRAY element or slice, %s argument is not a
subroutine name, %s package attribute may clash with future reserved word:
%s, (in cleanup) %s, <> should be quotes, Attempt to join self, Bad evalled
substitution pattern, Bad realloc() ignored, Bareword found in conditional,
Binary number > 0b11111111111111111111111111111111 non-portable, Bit vector
size > 32 non-portable, Buffer overflow in prime_env_iter: %s, Can't check
filesystem of script ``%s'', Can't declare class for non-scalar %s in ``%s'',
Can't declare %s in ``%s'', Can't ignore signal CHLD, forcing to default,
Can't modify non-lvalue subroutine call, Can't read CRTL environ, Can't
remove %s:%s, skipping file, Can't return %s from lvalue subroutine, Can't
weaken a nonreference, Character class [:%s:] unknown, Character class
syntax [%s] belongs inside character classes, Constant is not %s reference,
constant(%s): %s, CORE::%s is not a keyword, defined(@array) is deprecated,
defined(%hash) is deprecated, Did not produce a valid header, (Did you mean
``local'' instead of ``our''?), Document contains no data, entering effective
%s failed, false [] range ``%s'' in regexp, Filehandle %s opened only for
output, flock() on closed filehandle %s, Global symbol ``%s'' requires
explicit package name, Hexadecimal number > 0xffffffff non-portable,
Ill-formed CRTL environ value ``%s'', Ill-formed message in prime_env_iter:
|%s|, Illegal binary digit %s, Illegal binary digit %s ignored, Illegal
number of bits in vec, Integer overflow in %s number, Invalid %s attribute:
%s, Invalid %s attributes: %s, invalid [] range ``%s'' in regexp, Invalid
separator character %s in attribute list, Invalid separator character %s in
subroutine attribute list, leaving effective %s failed, Lvalue subs
returning %s not implemented yet, Method %s not permitted, Missing
%sbrace%s on \N{}, Missing command in piped open, Missing name in ``my sub'',
No %s specified for -%c, No package name allowed for variable %s in ``our'',
No space allowed after -%c, no UTC offset information; assuming local time
is UTC, Octal number > 037777777777 non-portable, panic: del_backref,
panic: kid popen errno read, panic: magic_killbackrefs, Parentheses missing
around ``%s'' list, Possible unintended interpolation of %s in string,
Possible Y2K bug: %s, pragma ``attrs'' is deprecated, use ``sub NAME : ATTRS''
instead, Premature end of script headers, Repeat count in pack overflows,
Repeat count in unpack overflows, realloc() of freed memory ignored,
Reference is already weak, setpgrp can't take arguments, Strange *+?{} on
zero-length expression, switching effective %s is not implemented, This
Perl can't reset CRTL environ elements (%s), This Perl can't set CRTL
environ elements (%s=%s), Too late to run %s block, Unknown open() mode
'%s', Unknown process %x sent message to prime_env_iter: %s, Unrecognized
escape \\%c passed through, Unterminated attribute parameter in attribute
list, Unterminated attribute list, Unterminated attribute parameter in
subroutine attribute list, Unterminated subroutine attribute list, Value of
CLI symbol ``%s'' too long, Version number must be a constant number
New tests
Incompatible Changes
Perl Source Incompatibilities
CHECK is a new keyword, Treatment of list slices of undef has changed,
Format of $English::PERL_VERSION is different, Literals of the form
1.2.3 parse differently, Possibly changed pseudo-random number
generator, Hashing function for hash keys has changed, "undef" fails on
read only values, Close-on-exec bit may be set on pipe and socket handles,
Writing "$$1" to mean "${$}1" is unsupported, delete(), each(),
values() and "\(%h)", vec(EXPR,OFFSET,BITS) enforces powers-of-two BITS,
Text of some diagnostic output has changed, "%@" has been removed,
Parenthesized not() behaves like a list operator, Semantics of bareword
prototype "(*)" have changed, Semantics of bit operators may have changed
on 64-bit platforms, More builtins taint their results
64-bit builds, Failure of Thread tests, NEXTSTEP 3.3 POSIX test failure,
Tru64 (aka Digital UNIX, aka DEC OSF/1) lib/sdbm test failure with gcc
EBCDIC platforms not fully supported
UNICOS/mk CC failures during Configure run
Arrow operator and arrays
Experimental features
Threads, Unicode, 64-bit support, Lvalue subroutines, Weak references, The
pseudo-hash data type, The Compiler suite, Internal implementation of file
globbing, The DB module, The regular expression code constructs:
Obsolete Diagnostics
Character class syntax [: :] is reserved for future extensions, Ill-formed
logical name |%s| in prime_env_iter, In string, @%s now must be written as
\@%s, Probable precedence problem on %s, regexp too big, Use of ``$$<digit>''
to mean ``${$}<digit>'' is deprecated
Reporting Bugs
SEE ALSO
HISTORY
perl5005delta, perldelta - 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
Ambiguous call resolved as CORE::%s(), qualify as such or use &, Bad index
while coercing array into hash, Bareword ``%s'' refers to nonexistent
package, Can't call method ``%s'' on an undefined value, Can't check
filesystem of script ``%s'' for nosuid, Can't coerce array into hash, Can't
goto subroutine from an eval-string, Can't localize pseudo-hash element,
Can't use %%! because Errno.pm is not available, Cannot find an opnumber
for ``%s'', Character class syntax [. .] is reserved for future extensions,
Character class syntax [: :] is reserved for future extensions, Character
class syntax [= =] is reserved for future extensions, %s: Eval-group in
insecure regular expression, %s: Eval-group not allowed, use re 'eval', %s:
Eval-group not allowed at run time, Explicit blessing to '' (assuming
package main), Illegal hex digit ignored, No such array field, No such
field ``%s'' in variable %s of type %s, Out of memory during ridiculously
large request, Range iterator outside integer range, Recursive inheritance
detected while looking for method '%s' %s, Reference found where even-sized
list expected, Undefined value assigned to typeglob, Use of reserved word
``%s'' is deprecated, perl: warning: Setting locale failed
Obsolete Diagnostics
Can't mktemp(), Can't write to temp file for -e: %s, Cannot open
temporary file, regexp too big
Configuration Changes
BUGS
SEE ALSO
HISTORY
perl5004delta, perldelta - what's new for perl5.004
DESCRIPTION
Supported Environments
Core Changes
List assignment to %ENV works
Change to Can't locate Foo.pm in @INC error
Compilation option: Binary compatibility with 5.003
$PERL5OPT environment variable
Limitations on -M, -m, and -T options
More precise warnings
Deprecated: Inherited AUTOLOAD for non-methods
Previously deprecated %OVERLOAD is no longer usable
Subroutine arguments created only when they're modified
Group vector changeable with $)
Fixed parsing of $$<digit>, &$<digit>, etc.
Fixed localization of $<digit>, $&, etc.
No resetting of $. on implicit close
wantarray may return undef
eval EXPR determines value of EXPR in scalar context
Changes to tainting checks
No glob() or <*>, No spawning if tainted $CDPATH, $ENV, $BASH_ENV, No
spawning if tainted $TERM doesn't look like a terminal name
New Opcode module and revised Safe module
Embedding improvements
Internal change: FileHandle class based on IO::* classes
Internal change: PerlIO abstraction interface
New and changed syntax
$coderef->(PARAMS)
New and changed builtin constants
__PACKAGE__
New and changed builtin variables
$^E, $^H, $^M
New and changed builtin functions
delete on slices, flock, printf and sprintf, keys as an lvalue, my() in
Control Structures, pack() and unpack(), sysseek(), use VERSION, use Module
VERSION LIST, prototype(FUNCTION), srand, $_ as Default, "m//gc" does not
reset search position on failure, "m//x" ignores whitespace before ?*+{},
nested "sub{}" closures work now, formats work right on changing lexicals
New builtin methods
isa(CLASS), can(METHOD), VERSION( [NEED] )
TIEHANDLE now supported
TIEHANDLE classname, LIST, PRINT this, LIST, PRINTF this, LIST, READ this
LIST, READLINE this, GETC this, DESTROY this
``my'' variable %s masks earlier declaration in same scope, %s argument is
not a HASH element or slice, Allocation too large: %lx, Allocation too
large, Applying %s to %s will act on scalar(%s), Attempt to free
nonexistent shared string, Attempt to use reference as lvalue in substr,
Bareword ``%s'' refers to nonexistent package, Can't redefine active sort
subroutine %s, Can't use bareword (``%s'') as %s ref while ``strict refs'' in
use, Cannot resolve method `%s' overloading `%s' in package `%s', Constant
subroutine %s redefined, Constant subroutine %s undefined, Copy method did
not return a reference, Died, Exiting pseudo-block via %s, Identifier too
long, Illegal character %s (carriage return), Illegal switch in PERL5OPT:
%s, Integer overflow in hex number, Integer overflow in octal number,
internal error: glob failed, Invalid conversion in %s: ``%s'', Invalid type
in pack: '%s', Invalid type in unpack: '%s', Name ``%s::%s'' used only once:
possible typo, Null picture in formline, Offset outside string, Out of
memory!, Out of memory during request for %s, panic: frexp, Possible
attempt to put comments in qw() list, Possible attempt to separate words
with commas, Scalar value @%s{%s} better written as $%s{%s}, Stub found
while resolving method `%s' overloading `%s' in %s, Too late for "-T``
option, untie attempted while %d inner references still exist, Unrecognized
character %s, Unsupported function fork, Use of ''$$<digit>`` to mean
''${$}<digit>`` is deprecated, Value of %s can be ''0``; test with defined(),
Variable ''%s`` may be unavailable, Variable ''%s" will not stay shared,
Warning: something's wrong, Ill-formed logical name |%s| in prime_env_iter,
Got an error from DosAllocMem, Malformed PERLLIB_PREFIX, PERL_SH_DIR too
long, Process terminated by SIG%s
BUGS
SEE ALSO
HISTORY
perlaix, README.aix - Perl version 5 on IBM Unix (AIX) systems
perlmachten, README.machten - Perl version 5 on Power MachTen systems
DESCRIPTION
Compiling Perl 5 on MachTen
Failures during make test
op/lexassign.t, pragma/warnings.t
Building external modules
AUTHOR
DATE
perlmacos, README.macos - Perl under Mac OS (Classic)
SYNOPSIS
DESCRIPTION
AUTHOR
DATE
perlmpeix, README.mpeix - Perl/iX for HP e3000 MPE
SYNOPSIS
What's New
System Requirements
How to Obtain Perl/iX
Distribution Contents Highlights
README, public_html/feedback.cgi, 4, 6
Getting Started with Perl/iX
MPE/iX Implementation Considerations
Change History
perlos2 - Perl under OS/2, DOS, Win0.3*, Win0.95 and WinNT.
SYNOPSIS
DESCRIPTION
Target
Other OSes
Prerequisites
EMX, RSX, HPFS, pdksh
Starting Perl programs under OS/2 (and DOS and...)
Starting OS/2 (and DOS) programs under Perl
Frequently asked questions
It does not work
I cannot run external programs
I cannot embed perl into my program, or use perl.dll from my program.
Is your program EMX-compiled with "-Zmt -Zcrtdll"?, Did you use
ExtUtils::Embed?
`` and pipe-open do not work under DOS.
Cannot start find.exe pattern file
INSTALLATION
Automatic binary installation
"PERL_BADLANG"
, "PERL_BADFREE", Config.pm
Manual binary installation
Perl VIO and PM executables (dynamically linked), Perl_ VIO executable
(statically linked), Executables for Perl utilities, Main Perl library,
Additional Perl modules, Tools to compile Perl modules, Manpages for Perl
and utilities, Manpages for Perl modules, Source for Perl documentation,
Perl manual in .INF format, Pdksh
Warning
Accessing documentation
OS/2 .INF file
Plain text
Manpages
HTML
GNU info files
.PDF files
LaTeX docs
BUILD
The short story
Prerequisites
Getting perl source
Application of the patches
Hand-editing
Making
Testing
A lot of "bad free", Process terminated by SIGTERM/SIGINT, op/fs.t,
op/stat.t
perlos390, README.os390 - building and installing Perl for OS/390.
SYNOPSIS
DESCRIPTION
Unpacking
Setup and utilities
Configure
Build, test, install
build anomalies
testing anomalies
installation anomalies
Usage Hints
Floating point anomalies
Modules and Extensions
AUTHORS
SEE ALSO
Mailing list
HISTORY
perlsolaris, README.solaris - Perl version 5 on Solaris systems
DESCRIPTION
Solaris Version Numbers.
RESOURCES
Solaris FAQ, Precompiled Binaries, Solaris Documentation
SETTING UP
File Extraction Problems.
Compiler and Related Tools.
Environment
RUN CONFIGURE.
64-bit Issues.
Threads.
Malloc Issues.
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
MAKE TEST
op/stat.t test 4
PREBUILT BINARIES.
RUNTIME ISSUES.
Limits on Numbers of Open Files.
SOLARIS-SPECIFIC MODULES.
SOLARIS-SPECIFIC PROBLEMS WITH MODULES.
Proc::ProcessTable
BSD::Resource
Net::SSLeay
AUTHOR
LAST MODIFIED
perlvmesa, README.vmesa - building and installing Perl for VM/ESA.
SYNOPSIS
DESCRIPTION
Unpacking
Setup and utilities
Configure
Don't turn on the compiler optimization flag ``-O''. There's a bug in the
compiler (APAR PQ18812) that generates some bad code the optimizer is on,
As VM/ESA doesn't fully support the fork() API programs relying on this
call will not work. I've replaced fork()/exec() with spawn() and the
standalone exec() with spawn(). This has a side effect when opening unnamed
pipes in a shell script: there is no child process generated under
testing anomalies
Usage Hints
When using perl on VM/ESA please keep in mind that the EBCDIC and ASCII
character sets are different. Perl builtin functions that may behave
differently under EBCDIC are mentioned in the perlport.pod document.
%ENV, CRTL_ENV, CLISYM_[LOCAL], Any other string, $!, $^E, $?, $^S, $|
Standard modules with VMS-specific differences
SDBM_File
Revision date
AUTHOR
perlvos, README.vos - Perl for Stratus VOS
SYNOPSIS
Stratus POSIX Support
INSTALLING PERL IN VOS
Compiling Perl 5 on VOS
Installing Perl 5 on VOS
USING PERL IN VOS
Unimplemented Features
Restrictions
SUPPORT STATUS
AUTHOR
LAST UPDATE
perlwin32 - Perl under Win32
SYNOPSIS
DESCRIPTION
Setting Up
Make, Command Shell, Borland C++, Microsoft Visual C++, Mingw32 with GCC
Building
Testing
Installation
Usage Hints
Environment Variables, File Globbing, Using perl from the command line,
Building Extensions, Command-line Wildcard Expansion, Win32 Specific
Extensions, Running Perl Scripts, Miscellaneous Things
attrs - set/get attributes of a subroutine (deprecated)
SYNOPSIS
DESCRIPTION
method, locked
re - Perl pragma to alter regular expression behaviour
SYNOPSIS
DESCRIPTION
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
attrs - set/get attributes of a subroutine (deprecated)
SYNOPSIS
DESCRIPTION
method, locked
autouse - postpone load of modules until a function is used
SYNOPSIS
DESCRIPTION
WARNING
AUTHOR
SEE ALSO
base - Establish IS-A relationship with base class at compile time
SYNOPSIS
DESCRIPTION
HISTORY
SEE ALSO
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
SEE ALSO
charnames - define character names for \N{named} string literal escape.
SYNOPSIS
DESCRIPTION
CUSTOM TRANSLATORS
BUGS
constant - Perl pragma to declare constants
SYNOPSIS
DESCRIPTION
NOTES
TECHNICAL NOTE
BUGS
AUTHOR
COPYRIGHT
diagnostics - Perl compiler pragma to force verbose warning diagnostics
SYNOPSIS
DESCRIPTION
The diagnostics Pragma
The splain Program
EXAMPLES
INTERNALS
BUGS
AUTHOR
fields - compile-time class fields
SYNOPSIS
DESCRIPTION
new, phash
SEE ALSO
filetest - Perl pragma to control the filetest permission operators
SYNOPSIS
DESCRIPTION
subpragma access
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
SEE ALSO
AUTHOR
locale - Perl pragma to use and avoid POSIX locales for built-in operations
SYNOPSIS
DESCRIPTION
open - perl pragma to set default disciplines for input and output
SYNOPSIS
DESCRIPTION
UNIMPLEMENTED FUNCTIONALITY
SEE ALSO
ops - Perl pragma to restrict unsafe operations when compiling
SYNOPSIS
DESCRIPTION
SEE ALSO
overload - Package for overloading perl operations
SYNOPSIS
DESCRIPTION
Declaration of overloaded functions
Calling Conventions for Binary Operations
FALSE, TRUE, "undef"
Calling Conventions for Unary Operations
Calling Conventions for Mutators
"++" and "--", "x=" and other assignment versions
Overloadable Operations
Arithmetic operations, Comparison operations, Bit operations,
Increment and decrement, Transcendental functions, Boolean, string
and numeric conversion, Iteration, Dereferencing, Special
Inheritance and overloading
Strings as values of "use overload" directive, Overloading of an operation
is inherited by derived classes
SPECIAL SYMBOLS FOR use overload
Last Resort
Fallback
"undef", TRUE, defined, but FALSE
Copy Constructor
Example
MAGIC AUTOGENERATION
Assignment forms of arithmetic operations, Conversion operations,
Increment and decrement, "abs($a)", Unary minus, Negation,
Concatenation, Comparison operations, Iterator, Dereferencing,
Copy operator
1. an expiration time, 2. a domain, 3. a path, 4. a ``secure'' flag,
-name, -value, -path, -domain, -expires, -secure
WORKING WITH FRAMES
1. Create a <Frameset> document, 2. Specify the destination for the
document in the HTTP header, 3. Specify the destination for the document in
the <FORM> tag
CGI::Switch - Backward compatibility module for defunct CGI::Switch
SYNOPSIS
ABSTRACT
DESCRIPTION
AUTHOR INFORMATION
BUGS
SEE ALSO
CGI::Util - Internal utilities used by CGI module
SYNOPSIS
DESCRIPTION
AUTHOR INFORMATION
SEE ALSO
CPAN - query, download and build perl modules from CPAN sites
SYNOPSIS
DESCRIPTION
Interactive Mode
Searching for authors, bundles, distribution files and modules, make, test,
install, cleanmodules or distributions, get, readme, look module or
distribution, ls author, Signals
CPAN::Shell
autobundle
recompile
The four CPAN::* Classes: Author, Bundle, Module, Distribution
"o conf <scalar option>", "o conf <scalar option>
<value>", "o conf <list option>", "o conf <list
option> [shift|pop]", "o conf <list option>
[unshift|push|splice] <list>"
Note on urllist parameter's format
urllist parameter has CD-ROM support
SECURITY
EXPORT
POPULATE AN INSTALLATION WITH LOTS OF MODULES
WORKING WITH CPAN.pm BEHIND FIREWALLS
Three basic types of firewalls
http firewall, ftp firewall, One way visibility, SOCKS, IP Masquerade
Configuring lynx or ncftp for going through a firewall
FAQ
1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
BUGS
AUTHOR
TRANSLATIONS
SEE ALSO
CPAN::FirstTime - Utility for CPAN::Config file Initialization
SYNOPSIS
DESCRIPTION
CPANox, CPAN::Nox - Wrapper around CPAN.pm without using any XS module
SYNOPSIS
DESCRIPTION
SEE ALSO
Carp, carp - warn of errors (from perspective of caller)
SYNOPSIS
DESCRIPTION
Forcing a Stack Trace
BUGS
Carp::Heavy - Carp guts
SYNOPIS
DESCRIPTION
Class::Struct - declare struct-like datatypes as Perl classes
SYNOPSIS
DESCRIPTION
The struct() function
Class Creation at Compile Time
Element Types and Accessor Methods
Scalar ('$' or '*$'), Array ('@' or '*@'), Hash ('%' or
'*%'), Class ('Class_Name' or '*Class_Name')