perltoc - perl documentation table of contents

- NAME
- DESCRIPTION
- BASIC DOCUMENTATION

- perl - Practical Extraction and Report Language
- perlintro - a brief introduction and overview of Perl
- perlreftut - Mark's very short tutorial about references
- perldsc - Perl Data Structures Cookbook
- perllol - Manipulating Arrays of Arrays in Perl
- perlrequick - Perl regular expressions quick start
- perlretut - Perl regular expressions tutorial
- perlboot - Beginner's Object-Oriented Tutorial
- perltoot - Tom's object-oriented tutorial for perl
- perltooc - Tom's OO Tutorial for Class Data in Perl
- perlbot - Bag'o Object Tricks (the BOT)
- perlstyle - Perl style guide
- perlcheat - Perl 5 Cheat Sheet
- perltrap - Perl traps for the unwary
- perldebtut - Perl debugging tutorial
- perlfaq - frequently asked questions about Perl ($Date: 2003/01/31
- perlfaq1 - General Questions About Perl ($Revision: 1.14 $, $Date:
- perlfaq2 - Obtaining and Learning about Perl ($Revision: 1.25 $,
- perlfaq3 - Programming Tools ($Revision: 1.37 $, $Date: 2003/11/24
- perlfaq4 - Data Manipulation ($Revision: 1.54 $, $Date: 2003/11/30
- perlfaq5 - Files and Formats ($Revision: 1.30 $, $Date: 2003/11/23
- perlfaq6 - Regular Expressions ($Revision: 1.20 $, $Date: 2003/01/03
- perlfaq7 - General Perl Language Issues ($Revision: 1.15 $, $Date:
- perlfaq8 - System Interaction ($Revision: 1.17 $, $Date: 2003/01/26
- perlfaq9 - Networking ($Revision: 1.15 $, $Date: 2003/01/31 17:36:57
- perlsyn - Perl syntax
- perldata - Perl data types
- perlop - Perl operators and precedence
- perlsub - Perl subroutines
- perlfunc - Perl builtin functions
- perlopentut - tutorial on opening things in Perl
- perlpacktut - tutorial on `pack` and `unpack`
- perlpod - the Plain Old Documentation format
- perlpodspec - Plain Old Documentation: format specification and
- perlrun - how to execute the Perl interpreter
- perldiag - various Perl diagnostics
- perllexwarn - Perl Lexical Warnings
- perldebug - Perl debugging
- perlvar - Perl predefined variables
- perlre - Perl regular expressions
- perlreref - Perl Regular Expressions Reference
- perlref - Perl references and nested data structures
- perlform - Perl formats
- perlobj - Perl objects
- perltie - how to hide an object class in a simple variable
- perldbmfilter - Perl DBM Filters
- perlipc - Perl interprocess communication (signals, fifos, pipes,
- perlfork - Perl's `fork()` emulation
- perlnumber - semantics of numbers and numeric operations in Perl
- perlthrtut - tutorial on threads in Perl
- perlothrtut - old tutorial on threads in Perl
- perlport - Writing portable Perl
- perllocale - Perl locale handling (internationalization and
- perluniintro - Perl Unicode introduction
- perlunicode - Unicode support in Perl
- perlebcdic - Considerations for running Perl on EBCDIC platforms
- perlsec - Perl security
- perlmod - Perl modules (packages and symbol tables)
- perlmodlib - constructing new Perl modules and finding existing ones
- perlmodstyle - Perl module style guide
- perlmodinstall - Installing CPAN Modules
- perlnewmod - preparing a new module for distribution
- perlutil - utilities packaged with the Perl distribution
- perlcompile - Introduction to the Perl Compiler-Translator
- perlfilter - Source Filters
- perlembed - how to embed perl in your C program
- perldebguts - Guts of Perl debugging
- perlxstut, perlXStut - Tutorial for writing XSUBs
- perlxs - XS language reference manual
- perlclib - Internal replacements for standard C library functions
- perlguts - Introduction to the Perl API
- perlcall - Perl calling conventions from C
- perlapi - autogenerated documentation for the perl public API
- perlintern - autogenerated documentation of purely internal
- perliol - C API for Perl's implementation of IO in Layers.
- perlapio - perl's IO abstraction interface.
- perlhack - How to hack at the Perl internals
- perlbook - Perl book information
- perltodo - Perl TO-DO List
- perldoc - Look up Perl documentation in Pod format.
- perlhist - the Perl history records
- perldelta - what is new for perl v5.8.4
- perl584delta, perldelta - what is new for perl v5.8.4
- perl583delta - what is new for perl v5.8.3
- perl582delta - what is new for perl v5.8.2
- perl581delta - what is new for perl v5.8.1
- perl58delta - what is new for perl v5.8.0
- perl573delta - what's new for perl v5.7.3
- perl572delta - what's new for perl v5.7.2
- perl571delta - what's new for perl v5.7.1
- perl570delta - what's new for perl v5.7.0
- perl561delta - what's new for perl v5.6.x
- perl56delta - what's new for perl v5.6.0
- perl5005delta - what's new for perl5.005
- perl5004delta - what's new for perl5.004
- perlartistic - the Perl Artistic License
- perlgpl - the GNU General Public License, version 2
- perlaix, README.aix - Perl version 5 on IBM Unix (AIX) systems
- perlamiga - Perl under Amiga OS
- perlapollo, README.apollo - Perl version 5 on Apollo DomainOS
- perlbeos, README.beos - Perl version 5 on BeOS
- perlbs2000, README.BS2000 - building and installing Perl for BS2000.
- perlce - Perl for WinCE
- perlcygwin, README.cygwin - Perl for Cygwin
- perldgux - Perl under DG/UX.
- perldos - Perl under DOS, W31, W95.
- perlepoc, README.epoc - Perl for EPOC
- perlfreebsd, README.freebsd - Perl version 5 on FreeBSD systems
- perlhpux, README.hpux - Perl version 5 on Hewlett-Packard Unix
- perlhurd, README.hurd - Perl version 5 on Hurd
- perlirix, README.irix - Perl version 5 on Irix systems
- perlmachten, README.machten - Perl version 5 on Power MachTen
- perlmacos, README.macos - Perl under Mac OS (Classic)
- perlmacosx, README.macosx - Perl under Mac OS X
- perlmint, README.mint - Perl version 5 on Atari MiNT
- perlmpeix, README.mpeix - Perl/iX for HP e3000 MPE
- perlnetware - Perl for NetWare
- perlos2 - Perl under OS/2, DOS, Win0.3*, Win0.95 and WinNT.
- perlos390, README.os390 - building and installing Perl for OS/390
- perlos400, README.os400 - Perl version 5 on OS/400
- perlplan9 - Plan 9-specific documentation for Perl
- perlqnx, README.qnx - Perl version 5 on QNX
- perlsolaris, README.solaris - Perl version 5 on Solaris systems
- perltru64, README.tru64 - Perl version 5 on Tru64 (formerly known as
- perluts - Perl under UTS
- perlvmesa, README.vmesa - building and installing Perl for VM/ESA.
- perlvms - VMS-specific documentation for Perl
- perlvos, README.vos - Perl for Stratus VOS
- perlwin32 - Perl under Windows

- PRAGMA DOCUMENTATION

- attrs - set/get attributes of a subroutine (deprecated)
- re - Perl pragma to alter regular expression behaviour
- threadshared::shared, threads::shared - Perl extension for sharing
- threads - Perl extension allowing use of interpreter based threads
- attributes - get/set subroutine or variable attributes
- autouse - postpone load of modules until a function is used
- base - Establish IS-A relationship with base classes at compile time
- bigint - Transparent BigInteger support for Perl
- bignum - Transparent BigNumber support for Perl
- bigrat - Transparent BigNumber/BigRational support for Perl
- blib - Use MakeMaker's uninstalled version of a package
- bytes - Perl pragma to force byte semantics rather than character
- charnames - define character names for `\N{named}` string literal
- constant - Perl pragma to declare constants
- diagnostics, splain - produce verbose warning diagnostics
- encoding - allows you to write your script in non-ascii or non-utf8
- fields - compile-time class fields
- filetest - Perl pragma to control the filetest permission operators
- if - `use` a Perl module if a condition holds
- integer - Perl pragma to use integer arithmetic instead of floating
- less - perl pragma to request less of something from the compiler
- lib - manipulate @INC at compile time
- locale - Perl pragma to use and avoid POSIX locales for built-in
- open - perl pragma to set default PerlIO layers for input and output
- ops - Perl pragma to restrict unsafe operations when compiling
- overload - Package for overloading perl operations
- sigtrap - Perl pragma to enable simple signal handling
- sort - perl pragma to control `sort()` behaviour
- strict - Perl pragma to restrict unsafe constructs
- subs - Perl pragma to predeclare sub names
- threadshared, threads::shared - Perl extension for sharing data
- utf8 - Perl pragma to enable/disable UTF-8 (or UTF-EBCDIC) in source
- vars - Perl pragma to predeclare global variable names (obsolete)
- vmsish - Perl pragma to control VMS-specific language features
- warnings - Perl pragma to control optional warnings
- warnings::register - warnings import function

- MODULE DOCUMENTATION

- AnyDBM_File - provide framework for multiple DBMs
- Attribute::Handlers - Simpler definition of attribute handlers
- AutoLoader - load subroutines only on demand
- AutoSplit - split a package for autoloading
- B - The Perl Compiler
- B::Asmdata - Autogenerated data about Perl ops, used to generate
- B::Assembler - Assemble Perl bytecode
- B::Bblock - Walk basic blocks
- B::Bytecode - Perl compiler's bytecode backend
- B::C - Perl compiler's C backend
- B::CC - Perl compiler's optimized C translation backend
- B::Concise - Walk Perl syntax tree, printing concise info about ops
- B::Debug - Walk Perl syntax tree, printing debug info about ops
- B::Deparse - Perl compiler backend to produce perl code
- B::Disassembler - Disassemble Perl bytecode
- B::Lint - Perl lint
- B::O, O - Generic interface to Perl Compiler backends
- B::Showlex - Show lexical variables used in functions or files
- B::Stackobj - Helper module for CC backend
- B::Stash - show what stashes are loaded
- B::Terse - Walk Perl syntax tree, printing terse info about ops
- B::Xref - Generates cross reference reports for Perl programs
- Bblock, B::Bblock - Walk basic blocks
- Benchmark - benchmark running times of Perl code
- ByteLoader - load byte compiled perl code
- Bytecode, B::Bytecode - Perl compiler's bytecode backend
- CGI - Simple Common Gateway Interface Class
- CGI::Apache - Backward compatibility module for CGI.pm
- CGI::Carp, CGI::Carp - CGI routines for writing to the HTTPD (or
- CGI::Cookie - Interface to Netscape Cookies
- CGI::Fast - CGI Interface for Fast CGI
- CGI::Pretty - module to produce nicely formatted HTML code
- CGI::Push - Simple Interface to Server Push
- CGI::Switch - Backward compatibility module for defunct CGI::Switch
- CGI::Util - Internal utilities used by CGI module
- CPAN - query, download and build perl modules from CPAN sites
- CPAN::FirstTime - Utility for CPAN::Config file Initialization
- CPANox, CPAN::Nox - Wrapper around CPAN.pm without using any XS
- Carp, carp - warn of errors (from perspective of caller)
- Carp::Heavy - heavy machinery, no user serviceable parts inside
- Class::ISA - report the search path for a class's ISA tree
- Class::Struct - declare struct-like datatypes as Perl classes
- Config - access Perl configuration information
- Cwd - get pathname of current working directory
- DB - programmatic interface to the Perl debugging API (draft,
- DBM_Filter - Filter DBM keys/values
- DB_File - Perl5 access to Berkeley DB version 1.x
- Data::Dumper - stringified perl data structures, suitable for both
- Devel::DProf - a Perl code profiler
- Devel::PPPort - Perl/Pollution/Portability
- Devel::Peek - A data debugging tool for the XS programmer
- Devel::SelfStubber - generate stubs for a SelfLoading module
- Digest - Modules that calculate message digests
- Digest::MD5 - Perl interface to the MD5 Algorithm
- Digest::base - Digest base class
- DirHandle - supply object methods for directory handles
- Dumpvalue - provides screen dump of Perl data.
- DynaLoader - Dynamically load C libraries into Perl code
- DynaLoader::XSLoader, XSLoader - Dynamically load C libraries into
- Encode - character encodings
- Encode::Alias - alias definitions to encodings
- Encode::Byte - Single Byte Encodings
- Encode::CJKConstants - Internally used by Encode::??::ISO_2022_*
- Encode::CN - China-based Chinese Encodings
- Encode::CN::HZ - internally used by Encode::CN
- Encode::Config - internally used by Encode
- Encode::EBCDIC - EBCDIC Encodings
- Encode::Encoding - Encode Implementation Base Class
- Encode::Guess - Guesses encoding from data
- Encode::JP - Japanese Encodings
- Encode::JP::H2Z - internally used by Encode::JP::2022_JP*
- Encode::JP::JIS7 - internally used by Encode::JP
- Encode::KR - Korean Encodings
- Encode::KR::2022_KR - internally used by Encode::KR
- Encode::MIME::Header - MIME 'B' and 'Q' header encoding
- Encode::PerlIO - a detailed document on Encode and PerlIO
- Encode::Supported - Encodings supported by Encode
- Encode::Symbol - Symbol Encodings
- Encode::TW - Taiwan-based Chinese Encodings
- Encode::Unicode - Various Unicode Transformation Formats
- Encode::Unicode::UTF7 - UTF-7 encoding
- Encode::lib::Encode::Alias, Encode::Alias - alias definitions to
- Encode::lib::Encode::CJKConstants, Encode::CJKConstants.pm -
- Encode::lib::Encode::CN::HZ, Encode::CN::HZ - internally used by
- Encode::lib::Encode::Config, Encode::Config - internally used by
- Encode::lib::Encode::Encoding, Encode::Encoding - Encode
- Encode::lib::Encode::Guess, Encode::Guess - Guesses encoding from
- Encode::lib::Encode::JP::H2Z, Encode::JP::H2Z - internally used by
- Encode::lib::Encode::JP::JIS7, Encode::JP::JIS7 - internally used
- Encode::lib::Encode::KR::2022_KR, Encode::KR::2022_KR - internally
- Encode::lib::Encode::MIME::Header, Encode::MIME::Header - MIME 'B'
- Encode::lib::Encode::PerlIO, Encode::PerlIO - a detailed document
- Encode::lib::Encode::Supported, Encode::Supported - Encodings
- Encode::lib::Encode::Unicode::UTF7, Encode::Unicode::UTF7 - UTF-7
- Encode::lib::Encoder, Encode::Encoder - Object Oriented Encoder
- Encodencoding, encoding - allows you to write your script in
- Encoder, Encode::Encoder - Object Oriented Encoder
- English - use nice English (or awk) names for ugly punctuation
- Env - perl module that imports environment variables as scalars or
- Errno - System errno constants
- Exporter - Implements default import method for modules
- Exporter::Heavy - Exporter guts
- ExtUtils::Command - utilities to replace common UNIX commands in
- ExtUtils::Command::MM - Commands for the MM's to use in Makefiles
- ExtUtils::Constant - generate XS code to import C header constants
- ExtUtils::Embed - Utilities for embedding Perl in C/C++ applications
- ExtUtils::Install - install files from here to there
- ExtUtils::Installed - Inventory management of installed modules
- ExtUtils::Liblist - determine libraries to use and how to use them
- ExtUtils::MM - OS adjusted ExtUtils::MakeMaker subclass
- ExtUtils::MM_Any - Platform-agnostic MM methods
- ExtUtils::MM_BeOS - methods to override UN*X behaviour in
- ExtUtils::MM_Cygwin - methods to override UN*X behaviour in
- ExtUtils::MM_DOS - DOS specific subclass of ExtUtils::MM_Unix
- ExtUtils::MM_MacOS - methods to override UN*X behaviour in
- ExtUtils::MM_NW5 - methods to override UN*X behaviour in
- ExtUtils::MM_OS2 - methods to override UN*X behaviour in
- ExtUtils::MM_UWIN - U/WIN specific subclass of ExtUtils::MM_Unix
- ExtUtils::MM_Unix - methods used by ExtUtils::MakeMaker
- ExtUtils::MM_VMS - methods to override UN*X behaviour in
- ExtUtils::MM_Win32 - methods to override UN*X behaviour in
- ExtUtils::MM_Win95 - method to customize MakeMaker for Win9X
- ExtUtils::MY - ExtUtils::MakeMaker subclass for customization
- ExtUtils::MakeMaker - Create a module Makefile
- ExtUtils::MakeMaker::FAQ - Frequently Asked Questions About
- ExtUtils::MakeMaker::Tutorial - Writing a module with MakeMaker
- ExtUtils::MakeMaker::bytes - Version agnostic bytes.pm
- ExtUtils::MakeMaker::vmsish - Platform agnostic vmsish.pm
- ExtUtils::Manifest - utilities to write and check a MANIFEST file
- ExtUtils::Miniperl, writemain - write the C code for perlmain.c
- ExtUtils::Mkbootstrap - make a bootstrap file for use by DynaLoader
- ExtUtils::Mksymlists - write linker options files for dynamic
- ExtUtils::Packlist - manage .packlist files
- ExtUtils::testlib - add blib/* directories to @INC
- Fatal - replace functions with equivalents which succeed or die
- Fcntl - load the C Fcntl.h defines
- File::Basename, fileparse - split a pathname into pieces
- File::CheckTree, validate - run many filetest checks on a tree
- File::Compare - Compare files or filehandles
- File::Copy - Copy files or filehandles
- File::DosGlob - DOS like globbing and then some
- File::Find - Traverse a directory tree.
- File::Glob - Perl extension for BSD glob routine
- File::Path - create or remove directory trees
- File::Spec - portably perform operations on file names
- File::Spec::Cygwin - methods for Cygwin file specs
- File::Spec::Epoc - methods for Epoc file specs
- File::Spec::Functions - portably perform operations on file names
- File::Spec::Mac - File::Spec for Mac OS (Classic)
- File::Spec::OS2 - methods for OS/2 file specs
- File::Spec::Unix - File::Spec for Unix, base for other File::Spec
- File::Spec::VMS - methods for VMS file specs
- File::Spec::Win32 - methods for Win32 file specs
- File::Temp - return name and handle of a temporary file safely
- File::stat - by-name interface to Perl's built-in `stat()` functions
- FileCache - keep more files open than the system permits
- FileHandle - supply object methods for filehandles
- Filter::Simple - Simplified source filtering
- Filter::Util::Call - Perl Source Filter Utility Module
- FindBin - Locate directory of original perl script
- GDBM_File - Perl5 access to the gdbm library.
- Getopt::Long - Extended processing of command line options
- Getopt::Std, getopt, getopts - Process single-character switches
- Hash::Util - A selection of general-utility hash subroutines
- I18N::Collate - compare 8-bit scalar data according to the current
- I18N::LangTags - functions for dealing with RFC3066-style language
- I18N::LangTags::List - tags and names for human languages
- I18N::Langinfo - query locale information
- IO - load various IO modules
- IO::Dir - supply object methods for directory handles
- IO::File - supply object methods for filehandles
- IO::Handle - supply object methods for I/O handles
- IO::Pipe - supply object methods for pipes
- IO::Poll - Object interface to system poll call
- IO::Seekable - supply seek based methods for I/O objects
- IO::Select - OO interface to the select system call
- IO::Socket - Object interface to socket communications
- IO::Socket::INET - Object interface for AF_INET domain sockets
- IO::Socket::UNIX - Object interface for AF_UNIX domain sockets
- IO::lib::IO::Dir, IO::Dir - supply object methods for directory
- IO::lib::IO::File, IO::File - supply object methods for filehandles
- IO::lib::IO::Handle, IO::Handle - supply object methods for I/O
- IO::lib::IO::Pipe, IO::Pipe - supply object methods for pipes
- IO::lib::IO::Poll, IO::Poll - Object interface to system poll call
- IO::lib::IO::Seekable, IO::Seekable - supply seek based methods for
- IO::lib::IO::Select, IO::Select - OO interface to the select system
- IO::lib::IO::Socket, IO::Socket - Object interface to socket
- IO::lib::IO::Socket::INET, IO::Socket::INET - Object interface for
- IO::lib::IO::Socket::UNIX, IO::Socket::UNIX - Object interface for
- IPC::Msg - SysV Msg IPC object class
- IPC::Open2, open2 - open a process for both reading and writing
- IPC::Open3, open3 - open a process for reading, writing, and error
- IPC::Semaphore - SysV Semaphore IPC object class
- IPC::SysV - SysV IPC constants
- IPC::SysV::Msg, IPC::Msg - SysV Msg IPC object class
- IPC::SysV::Semaphore, IPC::Semaphore - SysV Semaphore IPC object
- List::Util - A selection of general-utility list subroutines
- List::Utilib::List::Util, List::Util - A selection of
- List::Utilib::Scalar::Util, Scalar::Util - A selection of
- Locale::Constants - constants for Locale codes
- Locale::Country - ISO codes for country identification (ISO 3166)
- Locale::Currency - ISO three letter codes for currency
- Locale::Language - ISO two letter codes for language identification
- Locale::Maketext - framework for localization
- Locale::Maketext::TPJ13 - article about software localization
- Locale::Script - ISO codes for script identification (ISO 15924)
- MIME::Base64 - Encoding and decoding of base64 strings
- MIME::Base64::QuotedPrint, MIME::QuotedPrint - Encoding and decoding
- MIME::QuotedPrint - Encoding and decoding of quoted-printable
- Math::BigFloat - Arbitrary size floating point math package
- Math::BigInt - Arbitrary size integer math package
- Math::BigInt::Calc - Pure Perl module to support Math::BigInt
- Math::BigInt::CalcEmu - Emulate low-level math with BigInt code
- Math::BigRat - arbitrarily big rational numbers
- Math::Complex - complex numbers and associated mathematical
- Math::Trig - trigonometric functions
- Memoize - Make functions faster by trading space for time
- Memoize::AnyDBM_File - glue to provide EXISTS for AnyDBM_File for
- Memoize::Expire - Plug-in module for automatic expiration of
- Memoize::ExpireFile - test for Memoize expiration semantics
- Memoize::ExpireTest - test for Memoize expiration semantics
- Memoize::NDBM_File - glue to provide EXISTS for NDBM_File for
- Memoize::SDBM_File - glue to provide EXISTS for SDBM_File for
- Memoize::Storable - store Memoized data in Storable database
- NDBM_File - Tied access to ndbm files
- NEXT - Provide a pseudo-class NEXT (et al) that allows method
- Net::Cmd - Network Command class (as used by FTP, SMTP etc)
- Net::Config - Local configuration data for libnet
- Net::Domain - Attempt to evaluate the current host's internet name
- Net::FTP - FTP Client class
- Net::NNTP - NNTP Client class
- Net::POP3 - Post Office Protocol 3 Client class (RFC1939)
- Net::Ping - check a remote host for reachability
- Net::SMTP - Simple Mail Transfer Protocol Client
- Net::Time - time and daytime network client interface
- Net::hostent - by-name interface to Perl's built-in gethost*()
- Net::libnetFAQ, libnetFAQ - libnet Frequently Asked Questions
- Net::netent - by-name interface to Perl's built-in getnet*()
- Net::protoent - by-name interface to Perl's built-in getproto*()
- Net::servent - by-name interface to Perl's built-in getserv*()
- Netrc, Net::Netrc - OO interface to users netrc file
- O - Generic interface to Perl Compiler backends
- ODBM_File - Tied access to odbm files
- Opcode - Disable named opcodes when compiling perl code
- Opcode::Safe, Safe - Compile and execute code in restricted
- Opcode::ops, ops - Perl pragma to restrict unsafe operations when
- POSIX - Perl interface to IEEE Std 1003.1
- PerlIO - On demand loader for PerlIO layers and root of PerlIO::*
- PerlIO::encoding - encoding layer
- PerlIO::scalar - in-memory IO, scalar IO
- PerlIO::via - Helper class for PerlIO layers implemented in perl
- PerlIO::via::QuotedPrint - PerlIO layer for quoted-printable strings
- Pod::Checker, `podchecker()` - check pod documents for syntax errors
- Pod::Find - find POD documents in directory trees
- Pod::Html - module to convert pod files to HTML
- Pod::InputObjects - objects representing POD input paragraphs,
- Pod::LaTeX - Convert Pod data to formatted Latex
- Pod::Man - Convert POD data to formatted *roff input
- Pod::ParseLink - Parse an L<> formatting code in POD text
- Pod::ParseUtils - helpers for POD parsing and conversion
- Pod::Parser - base class for creating POD filters and translators
- Pod::Perldoc::ToChecker - let Perldoc check Pod for errors
- Pod::Perldoc::ToMan - let Perldoc render Pod as man pages
- Pod::Perldoc::ToNroff - let Perldoc convert Pod to nroff
- Pod::Perldoc::ToPod - let Perldoc render Pod as ... Pod!
- Pod::Perldoc::ToRtf - let Perldoc render Pod as RTF
- Pod::Perldoc::ToText - let Perldoc render Pod as plaintext
- Pod::Perldoc::ToTk - let Perldoc use Tk::Pod to render Pod
- Pod::Perldoc::ToXml - let Perldoc render Pod as XML
- Pod::PlainText - Convert POD data to formatted ASCII text
- Pod::Plainer - Perl extension for converting Pod to old style Pod.
- Pod::Select, `podselect()` - extract selected sections of POD from
- Pod::Text - Convert POD data to formatted ASCII text
- Pod::Text::Color - Convert POD data to formatted color ASCII text
- Pod::Text::Overstrike - Convert POD data to formatted overstrike
- Pod::Text::Termcap - Convert POD data to ASCII text with format
- Pod::Usage, `pod2usage()` - print a usage message from embedded pod
- SDBM_File - Tied access to sdbm files
- Safe - Compile and execute code in restricted compartments
- Scalar::Util - A selection of general-utility scalar subroutines
- Search::Dict, look - search for key in dictionary file
- SelectSaver - save and restore selected file handle
- SelfLoader - load functions only on demand
- Shell - run shell commands transparently within perl
- Socket, sockaddr_in, sockaddr_un, inet_aton, inet_ntoa - load the C
- Storable - persistence for Perl data structures
- Switch - A switch statement for Perl
- Symbol - manipulate Perl symbols and their names
- Sys::Hostname - Try every conceivable way to get hostname
- Syslog, Sys::Syslog, openlog, closelog, setlogmask, syslog - Perl
- Syslog::Syslog, Sys::Syslog, openlog, closelog, setlogmask, syslog -
- Term::ANSIColor - Color screen output using ANSI escape sequences
- Term::Cap - Perl termcap interface
- Term::Complete - Perl word completion module
- Term::ReadLine - Perl interface to various `readline` packages.
- Test - provides a simple framework for writing test scripts
- Test::Builder - Backend for building test libraries
- Test::Harness - Run Perl standard test scripts with statistics
- Test::Harness::Assert - simple assert
- Test::Harness::Iterator - Internal Test::Harness Iterator
- Test::Harness::Straps - detailed analysis of test results
- Test::More - yet another framework for writing test scripts
- Test::Simple - Basic utilities for writing tests.
- Test::Tutorial - A tutorial about writing really basic tests
- Text::Abbrev, abbrev - create an abbreviation table from a list
- Text::Balanced - Extract delimited text sequences from strings.
- Text::ParseWords - parse text into an array of tokens or array of
- Text::Soundex - Implementation of the Soundex Algorithm as Described
- Text::Tabs - expand and unexpand tabs per the unix `expand(1)` and
- Text::Wrap - line wrapping to form simple paragraphs
- Thread - manipulate threads in Perl (for old code only)
- Thread::Queue - thread-safe queues
- Thread::Semaphore - thread-safe semaphores
- Thread::Signal - Start a thread which runs signal handlers reliably
- Thread::Specific - thread-specific keys
- Tie::Array - base class for tied arrays
- Tie::File - Access the lines of a disk file via a Perl array
- Tie::Handle, Tie::StdHandle - base class definitions for tied
- Tie::Hash, Tie::StdHash, Tie::ExtraHash - base class definitions for
- Tie::Memoize - add data to hash when needed
- Tie::RefHash - use references as hash keys
- Tie::Scalar, Tie::StdScalar - base class definitions for tied
- Tie::SubstrHash - Fixed-table-size, fixed-key-length hashing
- Time::HiRes - High resolution alarm, sleep, gettimeofday, interval
- Time::Local - efficiently compute time from local and GMT time
- Time::gmtime - by-name interface to Perl's built-in `gmtime()`
- Time::localtime - by-name interface to Perl's built-in `localtime()`
- Time::tm - internal object used by Time::gmtime and Time::localtime
- UNIVERSAL - base class for ALL classes (blessed references)
- Unicode::Collate - Unicode Collation Algorithm
- Unicode::Normalize - Unicode Normalization Forms
- Unicode::UCD - Unicode character database
- User::grent - by-name interface to Perl's built-in getgr*()
- User::pwent - by-name interface to Perl's built-in getpw*()
- XSLoader - Dynamically load C libraries into Perl code

- AUXILIARY DOCUMENTATION
- AUTHOR

# 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 expression
Non-capturing groupings
Looking ahead and looking behind
Using independent subexpressions to prevent backtracking
Conditional expressions
A bit of magic: executing Perl code in a regular expression
Pragmas and debugging

BUGS
SEE ALSO
AUTHOR AND COPYRIGHT

Acknowledgments

## perlboot - Beginner's Object-Oriented Tutorial

DESCRIPTION

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

SEE ALSO
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
  Discontinuance, Deprecation, BugFix, Discontinuance, Discontinuance, Discontinuance, BugFix, Discontinuance, Discontinuance, BugFix, Discontinuance, Deprecation, Discontinuance, Discontinuance

Parsing Traps
  Parsing, Parsing, Parsing, Parsing, Parsing

Numerical Traps
  Numerical, Numerical, Numerical, Bitwise string ops

General data type traps
  (Arrays), (Arrays), (Hashes), (Globs), (Globs), (Scalar String), (Constants), (Scalars), (Variable Suicide)

Context Traps - scalar, list contexts
  (list context), (scalar context), (scalar context), (list, builtin)

Precedence Traps
  Precedence, Precedence, Precedence, Precedence, Precedence, Precedence, Precedence

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

Subroutine, Signal, Sorting Traps
  (Signals), (Sort Subroutine), `warn()` won't let you specify a filehandle

OS Traps
  (SysV), (SysV)

Interpolation Traps
  Interpolation, Interpolation, Interpolation, Interpolation, Interpolation, Interpolation, Interpolation, Interpolation, Interpolation

DBM Traps
  DBM, DBM

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: 2003/01/31 17:37:17 $)

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

The Questions

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

## perlfaq1 - General Questions About Perl ($Revision: 1.14 $, $Date: 2003/11/23 08:02:29 $)

DESCRIPTION

What is Perl?
Who supports Perl? Who develops it? Why is it free?
Which version of Perl should I use?
What are perl4 and perl5?
What is Ponie?
What is perl6?
How stable is Perl?
Is Perl difficult to learn?
How does Perl compare with other languages like Java, Python, REXX, Scheme, or Tcl?
Can I do [task] in Perl?
When shouldn't I program in Perl?
What's the difference between ``perl'' and ``Perl''?
Is it a Perl program or a Perl script?
What is a JAPH?
Where can I get a list of Larry Wall witticisms?
How can I convince my sysadmin/supervisor/employees to use version 5/5.6.1/Perl instead of some other language?

AUTHOR AND COPYRIGHT

## perlfaq2 - Obtaining and Learning about Perl ($Revision: 1.25 $, $Date: 2003/10/16 04:57:38 $)

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 on my system. How can I compile perl?
I copied the Perl binary from one machine to another, but scripts don't work.
I grabbed the sources and tried to compile but gdbm/dynamic loading/malloc/linking/... failed. How do I make it work?
What modules and extensions are available for Perl? What is CPAN? What does CPAN/src/... mean?
Is there an ISO or ANSI certified version of Perl?
Where can I get information on Perl?
What are the Perl newsgroups on Usenet? Where do I post questions?
Where should I post source code?
Perl Books
  References, Tutorials, Task-Oriented, Special Topics

Perl in Magazines
Perl on the Net: FTP and WWW Access
What mailing lists are there for Perl?
Archives of comp.lang.perl.misc
Where can I buy a commercial version of Perl?
Where do I send bug reports?
What is perl.com? Perl Mongers? pm.org? perl.org? cpan.org?

AUTHOR AND COPYRIGHT

## perlfaq3 - Programming Tools ($Revision: 1.37 $, $Date: 2003/11/24 19:55:50 $)

DESCRIPTION

How do I do (anything)?
How can I use Perl interactively?
Is there a Perl shell?
How do I find which modules are installed on my system?
How do I debug my Perl programs?
How do I profile my Perl programs?
How do I cross-reference my Perl programs?
Is there a pretty-printer (formatter) for Perl?
Is there a ctags for Perl?
Is there an IDE or Windows Perl Editor?
  Komodo, The Object System, Open Perl IDE, PerlBuilder, visiPerl+, OptiPerl, GNU Emacs, MicroEMACS, XEmacs, Jed, Elvis, Vile, Vim, Codewright, MultiEdit, SlickEdit, Bash, Ksh, Tcsh, Zsh, BBEdit and BBEdit Lite, Alpha

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 generate simple menus without using CGI or Tk?
How can I make my Perl program run faster?
How can I make my Perl program take less memory?
  Don't slurp!, Use map and grep selectively, Avoid unnecessary quotes and stringification, Pass by reference, Tie large variables to disk

Is it safe to return a reference to local or lexical data?
How can I free an array or hash so my program shrinks?
How can I make my CGI script more efficient?
How can I hide the source for my Perl program?
How can I compile my Perl program into byte code or C?
How can I compile Perl into Java?
How can I get `#!perl` to work on [MS-DOS,NT,...]?
Can I write useful Perl programs on the command line?
Why don't Perl one-liners work on my DOS/Mac/VMS system?
Where can I learn about CGI or Web programming in Perl?
Where can I learn about object-oriented Perl programming?
Where can I learn about linking C with Perl? [h2xs, xsubpp]
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.54 $, $Date: 2003/11/30 00:50:08 $)

DESCRIPTION
Data: Numbers

Why am I getting long decimals (eg, 19.9499999999999) instead of the numbers I should be getting (eg, 19.95)?
Why is `int()` broken?
Why isn't my octal data interpreted correctly?
Does Perl have a `round()` function? What about `ceil()` and floor()? Trig functions?
How do I convert between numeric representations/bases/radixes?
  How do I convert hexadecimal into decimal, How do I convert from decimal to hexadecimal, How do I convert from octal to decimal, How do I convert from decimal to octal, How do I convert from binary to decimal, How do I convert from decimal to binary

Why doesn't & work the way I want it to?
How do I multiply matrices?
How do I perform an operation on a series of integers?
How can I output Roman numerals?
Why aren't my random numbers random?
How do I get a random number between X and Y?

Data: Dates

How do I find the day or week of the year?
How do I find the current century or millennium?
How can I compare two dates and find the difference?
How can I take a string and turn it into epoch seconds?
How can I find the Julian Day?
How do I find yesterday's date?
Does Perl have a Year 2000 problem? Is Perl Y2K compliant?

Data: Strings

How do I validate input?
How do I unescape a string?
How do I remove consecutive pairs of characters?
How do I expand function calls in a string?
How do I find matching/nesting anything?
How do I reverse a string?
How do I expand tabs in a string?
How do I reformat a paragraph?
How can I access or change N characters of a string?
How do I change the Nth occurrence of something?
How can I count the number of occurrences of a substring within a string?
How do I capitalize all the words on one line?
How can I split a [character] delimited string except when inside [character]?
How do I strip blank space from the beginning/end of a string?
How do I pad a string with blanks or pad a number with zeroes?
How do I extract selected columns from a string?
How do I find the soundex value of a string?
How can I expand variables in text strings?
What's wrong with always quoting ``$vars''?
Why don't my <<HERE documents work?
  There must be no space after the << part, There (probably) should be a semicolon at the end, You can't (easily) have any space in front of the tag

Data: Arrays

What is the difference between a list and an array?
What is the difference between $array[1] and @array[1]?
How can I remove duplicate elements from a list or array?
  a), b), c), d), e)

How can I tell whether a certain element is contained in a list or array?
How do I compute the difference of two arrays? How do I compute the intersection of two arrays?
How do I test whether two arrays or hashes are equal?
How do I find the first array element for which a condition is true?
How do I handle linked lists?
How do I handle circular lists?
How do I shuffle an array randomly?
How do I process/modify each element of an array?
How do I select a random element from an array?
How do I permute N elements of a list?
How do I sort an array by (anything)?
How do I manipulate arrays of bits?
Why does `defined()` return true on empty arrays and hashes?

Data: Hashes (Associative Arrays)

How do I process an entire hash?
What happens if I add or remove keys from a hash while iterating over it?
How do I look up a hash element by value?
How can I know how many entries are in a hash?
How do I sort a hash (optionally by value instead of key)?
How can I always keep my hash sorted?
What's the difference between ``delete'' and ``undef'' with hashes?
Why don't my tied hashes make the defined/exists distinction?
How do I reset an `each()` operation part-way through?
How can I get the unique keys from two hashes?
How can I store a multidimensional array in a DBM file?
How can I make my hash remember the order I put elements into it?
Why does passing a subroutine an undefined element in a hash create it?
How can I make the Perl equivalent of a C structure/C++ class/hash or array of hashes or arrays?
How can I use a reference as a hash key?

Data: Misc

How do I handle binary data correctly?
How do I determine whether a scalar is a number/whole/integer/float?
How do I keep persistent data across program calls?
How do I print out or copy a recursive data structure?
How do I define methods for every class/object?
How do I verify a credit card checksum?
How do I pack arrays of doubles or floats for XS code?

AUTHOR AND COPYRIGHT

## perlfaq5 - Files and Formats ($Revision: 1.30 $, $Date: 2003/11/23 08:07:46 $)

DESCRIPTION

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

AUTHOR AND COPYRIGHT

## perlfaq6 - Regular Expressions ($Revision: 1.20 $, $Date: 2003/01/03 20:05:28 $)

DESCRIPTION

How can I hope to use regular expressions without creating illegible and unmaintainable code?
  Comments Outside the Regex, Comments Inside the Regex, Different Delimiters

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

AUTHOR AND COPYRIGHT

## perlfaq7 - General Perl Language Issues ($Revision: 1.15 $, $Date: 2003/07/24 02:17:21 $)

DESCRIPTION

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

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

AUTHOR AND COPYRIGHT

## perlfaq8 - System Interaction ($Revision: 1.17 $, $Date: 2003/01/26 17:44:04 $)

DESCRIPTION

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

How do I print something out in color?
How do I read just one key without waiting for a return key?
How do I check whether input is ready on the keyboard?
How do I clear the screen?
How do I get the screen size?
How do I ask the user for a password?
How do I read and write the serial port?
  lockfiles, open mode, end of line, flushing output, non-blocking input

How do I decode encrypted password files?
How do I start a process in the background?
  STDIN, STDOUT, and STDERR are shared, Signals, Zombies

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

How do I close a process's filehandle without waiting for it to complete?
How do I fork a daemon process?
How do I find out if I'm running interactively or not?
How do I timeout a slow event?
How do I set CPU limits?
How do I avoid zombies on a Unix system?
How do I use an SQL database?
How do I make a `system()` exit on control-C?
How do I open a file without blocking?
How do I 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.15 $, $Date: 2003/01/31 17:36:57 $)

DESCRIPTION

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

AUTHOR AND COPYRIGHT

## perlsyn - Perl syntax

DESCRIPTION

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

## perldata - Perl data types

DESCRIPTION

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

SEE ALSO

## perlop - Perl operators and precedence

DESCRIPTION

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

Quote and Quote-like Operators
Regexp Quote-Like Operators
  ?PATTERN?, m/PATTERN/cgimosx, /PATTERN/cgimosx, q/STRING/, `'STRING'`, qq/STRING/, ``STRING'', qr/STRING/imosx, qx/STRING/, `STRING`, qw/STRING/, s/PATTERN/REPLACEMENT/egimosx, tr/SEARCHLIST/REPLACEMENTLIST/cds, y/SEARCHLIST/REPLACEMENTLIST/cds, <<EOF

Gory details of parsing quoted constructs
  Finding the end, Removal of backslashes before delimiters, Interpolation, `<<'EOF'`, `m''`, `s'''`, `tr///`, `y///`, `''`, `q//`, `""`, ````, `qq//`, `qx//`, `<file*glob>`, `?RE?`, `/RE/`, `m/RE/`, `s/RE/foo/`,, Interpolation of regular expressions, Optimization of regular expressions

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

## perlsub - Perl subroutines

SYNOPSIS
DESCRIPTION

Private Variables via `my()`
Persistent Private Variables
Temporary Values via `local()`
Lvalue subroutines
  Lvalue subroutines are EXPERIMENTAL

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

SEE ALSO

## perlfunc - Perl builtin functions

DESCRIPTION

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

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

## perlopentut - tutorial on opening things in Perl

DESCRIPTION
Open à la shell

Simple Opens
Indirect Filehandles
Pipe Opens
The Minus File
Mixing Reads and Writes
Filters

Open à la C

Permissions à la mode

Obscure Open Tricks

Re-Opening Files (dups)
Dispelling the Dweomer
Paths as Opens
Single Argument Open
Playing with STDIN and STDOUT

Other I/O Issues

Opening Non-File Files
Opening Named Pipes
Opening Sockets
Binary Files
File Locking
IO Layers

SEE ALSO
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 I<stuff...>`, `=back`, `=cut`, `=pod`, `=begin formatname`, `=end I<formatname>`, `=for formatname text...`, `=encoding I<encodingname>`

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

The Intent
Embedding Pods in Perl Modules
Hints for Writing Pod

SEE ALSO
AUTHOR

## perlpodspec - Plain Old Documentation: format specification and notes

DESCRIPTION
Pod Definitions
Pod Commands
  ``=head1'', ``=head2'', ``=head3'', ``=head4'', ``=pod'', ``=cut'', ``=over'', ``=item'', ``=back'', ``=begin formatname'', ``=end formatname'', ``=for formatname text...'', ``=encoding encodingname''

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

Notes on Implementing Pod Processors
About L<...> Codes
  First:, Second:, Third:, Fourth:, Fifth:, Sixth:

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

## perlrun - how to execute the Perl interpreter

SYNOPSIS
DESCRIPTION

#! and quoting on non-Unix systems
  OS/2, MS-DOS, Win95/NT, Macintosh, VMS

Location of Perl
Command Switches
  -0[octal/hexadecimal], -a, -C [number/list], -c, -d, -d:foo[=bar,baz], -D letters, -D number, -e commandline, -F pattern, -h, -i[extension], -I directory, -l[octnum], -m[-]module, -M[-]module, -M[-]'module ...', -[mM][-]module=arg[,arg]..., -n, -p, -P, -s, -S, -t, -T, -u, -U, -v, -V, -V:name, -w, -W, -X, -x directory

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

## perldiag - various Perl diagnostics

DESCRIPTION

## perllexwarn - Perl Lexical Warnings

DESCRIPTION

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

Backward Compatibility
Category Hierarchy
Fatal Warnings
Reporting Warnings from a Module

TODO
SEE ALSO
AUTHOR

## perldebug - Perl debugging

DESCRIPTION
The Perl Debugger

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

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

Debugger input/output
  Prompt, Multiline commands, Stack backtrace, Line Listing Format, Frame listing

Debugging compile-time statements
Debugger Customization
Readline Support
Editor Support for Debugging
The Perl Profiler

Debugging regular expressions
Debugging memory usage
SEE ALSO
BUGS

## perlvar - Perl predefined variables

DESCRIPTION

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

Error Indicators
Technical Note on the Syntax of Variable Names

BUGS

## perlre - Perl regular expressions

DESCRIPTION
  i, m, s, x

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

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

Backtracking
Version 8 Regular Expressions
Warning on \1 vs $1
Repeated patterns matching zero-length substring
Combining pieces together
  `ST`, `S|T`, `S{REPEAT_COUNT}`, `S{min,max}`, `S{min,max}?`, `S?`, `S*`, `S+`, `S??`, `S*?`, `S+?`, `(?>S)`, `(?=S)`, `(?<=S)`, `(?!S)`, `(?<!S)`, `(??{ EXPR })`, `(?(condition)yes-pattern|no-pattern)`

Creating custom RE engines

BUGS
SEE ALSO

## perlreref - Perl Regular Expressions Reference

DESCRIPTION

OPERATORS
SYNTAX
ESCAPE SEQUENCES
CHARACTER CLASSES
ANCHORS
QUANTIFIERS
EXTENDED CONSTRUCTS
VARIABLES
FUNCTIONS
TERMINOLOGY

AUTHOR
SEE ALSO
THANKS

## perlref - Perl references and nested data structures

NOTE
DESCRIPTION

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

WARNING
SEE ALSO

## perlform - Perl formats

DESCRIPTION

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

NOTES

Footers
Accessing Formatting Internals

WARNINGS

## perlobj - Perl objects

DESCRIPTION

An Object is Simply a Reference
A Class is Simply a Package
A Method is Simply a Subroutine
Method Invocation
Indirect Object Syntax
Default UNIVERSAL methods
  isa(CLASS), can(METHOD), VERSION( [NEED] )

Destructors
Summary
Two-Phased Garbage Collection

SEE ALSO

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

SYNOPSIS
DESCRIPTION

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

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

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

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

UNTIE this
The `untie` Gotcha

SEE ALSO
BUGS
AUTHOR

## perldbmfilter - Perl DBM Filters

SYNOPSIS
DESCRIPTION
  filter_store_key, filter_store_value, filter_fetch_key, filter_fetch_value

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

SEE ALSO
AUTHOR

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

DESCRIPTION
Signals

Handling the SIGHUP Signal in Daemons

Named Pipes

Deferred Signals (Safe Signals)
  Long running opcodes, Interrupting IO, Restartable system calls, Signals as ``faults'', Signals triggered by operating system state

Using `open()` for IPC

Filehandles
Background Processes
Complete Dissociation of Child from Parent
Safe Pipe Opens
Bidirectional Communication with Another Process
Bidirectional Communication with Yourself

Sockets: Client/Server Communication

Internet Line Terminators
Internet TCP Clients and Servers
Unix-Domain TCP Clients and Servers

TCP Clients with IO::Socket

A Simple Client
  `Proto`, `PeerAddr`, `PeerPort`

A Webget Client
Interactive Client with IO::Socket

TCP Servers with IO::Socket
  Proto, LocalPort, Listen, Reuse

UDP: Message Passing
SysV IPC
NOTES
BUGS
AUTHOR
SEE ALSO

## perlfork - Perl's `fork()` emulation

SYNOPSIS
DESCRIPTION

Behavior of other Perl features in forked pseudo-processes
  $$ or $PROCESS_ID, %ENV, `chdir()` and all other builtins that accept filenames, `wait()` and waitpid(), kill(), exec(), exit(), Open handles to files, directories and network sockets

Resource limits
Killing the parent process
Lifetime of the parent process and pseudo-processes
CAVEATS AND LIMITATIONS
  BEGIN blocks, Open filehandles, Forking pipe `open()` not yet implemented, Global state maintained by XSUBs, Interpreter embedded in larger application, Thread-safety of extensions

BUGS
AUTHOR
SEE ALSO

## perlnumber - semantics of numbers and numeric operations in Perl

SYNOPSIS
DESCRIPTION
Storing numbers
Numeric operators and numeric conversions
Flavors of Perl numeric operations
  Arithmetic operators, ++, Arithmetic operators during `use integer`, Other mathematical operators, Bitwise operators, Bitwise operators during `use integer`, Operators which expect an integer, Operators which expect a string

AUTHOR
SEE ALSO

## perlthrtut - tutorial on threads in Perl

DESCRIPTION
Status
What Is A Thread Anyway?
Threaded Program Models

Boss/Worker
Work Crew
Pipeline

What kind of threads are Perl threads?
Thread-Safe Modules
Thread Basics

Basic Thread Support
A Note about the Examples
Creating Threads
Waiting For A Thread To Exit
Ignoring A Thread

Threads And Data

Shared And Unshared Data
Thread Pitfalls: Races

Synchronization and control

Controlling access: `lock()`
A Thread Pitfall: Deadlocks
Queues: Passing Data Around
Semaphores: Synchronizing Data Access
Basic semaphores
Advanced Semaphores
`cond_wait()` and `cond_signal()`
Giving up control

General Thread Utility Routines

What Thread Am I In?
Thread IDs
Are These Threads The Same?
What Threads Are Running?

A Complete Example
Different implementations of threads
Performance considerations
Process-scope Changes
Thread-Safety of System Libraries
Conclusion
Bibliography

Introductory Texts
OS-Related References
Other References

Acknowledgements
AUTHOR
Copyrights

## perlothrtut - old tutorial on threads in Perl

DESCRIPTION
What Is A Thread Anyway?
Threaded Program Models

Boss/Worker
Work Crew
Pipeline

Native threads
What kind of threads are perl threads?
Threadsafe Modules
Thread Basics

Basic Thread Support
Creating Threads
Giving up control
Waiting For A Thread To Exit
Errors In Threads
Ignoring A Thread

Threads And Data

Shared And Unshared Data
Thread Pitfall: Races
Controlling access: `lock()`
Thread Pitfall: Deadlocks
Queues: Passing Data Around

Threads And Code

Semaphores: Synchronizing Data Access
  Basic semaphores, Advanced Semaphores

Attributes: Restricting Access To Subroutines
Subroutine Locks
Methods
Locking A Subroutine

General Thread Utility Routines

What Thread Am I In?
Thread IDs
Are These Threads The Same?
What Threads Are Running?

A Complete Example
Conclusion
Bibliography

Introductory Texts
OS-Related References
Other References

Acknowledgements
AUTHOR
Copyrights

## perlport - Writing portable Perl

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

ISSUES

Newlines
Numbers endianness and Width
Files and Filesystems
System Interaction
Command names versus file pathnames
Networking
Interprocess Communication (IPC)
External Subroutines (XS)
Standard Modules
Time and Date
Character sets and character encoding
Internationalisation
System Resources
Security
Style

CPAN Testers
  Mailing list: cpan-testers@perl.org, Testing results: http://testers.cpan.org/

PLATFORMS

Unix
DOS and Derivatives
Mac OS
VMS
VOS
EBCDIC Platforms
Acorn RISC OS
Other perls

FUNCTION IMPLEMENTATIONS

Alphabetical Listing of Perl Functions
  -X FILEHANDLE, -X EXPR, -X, binmode FILEHANDLE, chmod LIST, chown LIST, chroot FILENAME, chroot, crypt PLAINTEXT,SALT, dbmclose HASH, dbmopen HASH,DBNAME,MODE, dump LABEL, exec LIST, exit EXPR, exit, fcntl FILEHANDLE,FUNCTION,SCALAR, flock FILEHANDLE,OPERATION, fork, getlogin, getpgrp PID, getppid, getpriority WHICH,WHO, getpwnam NAME, getgrnam NAME, getnetbyname NAME, getpwuid UID, getgrgid GID, getnetbyaddr ADDR,ADDRTYPE, getprotobynumber NUMBER, getservbyport PORT,PROTO, getpwent, getgrent, gethostbyname, gethostent, getnetent, getprotoent, getservent, sethostent STAYOPEN, setnetent STAYOPEN, setprotoent STAYOPEN, setservent STAYOPEN, endpwent, endgrent, endhostent, endnetent, endprotoent, endservent, getsockopt SOCKET,LEVEL,OPTNAME, glob EXPR, glob, ioctl FILEHANDLE,FUNCTION,SCALAR, kill SIGNAL, LIST, link OLDFILE,NEWFILE, lstat FILEHANDLE, lstat EXPR, lstat, msgctl ID,CMD,ARG, msgget KEY,FLAGS, msgsnd ID,MSG,FLAGS, msgrcv ID,VAR,SIZE,TYPE,FLAGS, open FILEHANDLE,EXPR, open FILEHANDLE, pipe READHANDLE,WRITEHANDLE, readlink EXPR, readlink, select RBITS,WBITS,EBITS,TIMEOUT, semctl ID,SEMNUM,CMD,ARG, semget KEY,NSEMS,FLAGS, semop KEY,OPSTRING, setgrent, setpgrp PID,PGRP, setpriority WHICH,WHO,PRIORITY, setpwent, setsockopt SOCKET,LEVEL,OPTNAME,OPTVAL, shmctl ID,CMD,ARG, shmget KEY,SIZE,FLAGS, shmread ID,VAR,POS,SIZE, shmwrite ID,STRING,POS,SIZE, sockatmark SOCKET, socketpair SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL, stat FILEHANDLE, stat EXPR, stat, symlink OLDFILE,NEWFILE, syscall LIST, sysopen FILEHANDLE,FILENAME,MODE,PERMS, system LIST, times, truncate FILEHANDLE,LENGTH, truncate EXPR,LENGTH, umask EXPR, umask, utime LIST, wait, waitpid PID,FLAGS

CHANGES
  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

## perllocale - Perl locale handling (internationalization and localization)

DESCRIPTION
PREPARING TO USE LOCALES
USING LOCALES

The use locale pragma
The setlocale function
Finding locales
LOCALE PROBLEMS
Temporarily fixing locale problems
Permanently fixing locale problems
Permanently fixing your system's locale configuration
Fixing system locale configuration
The localeconv function
I18N::Langinfo

LOCALE CATEGORIES

Category LC_COLLATE: Collation
Category LC_CTYPE: Character Types
Category LC_NUMERIC: Numeric Formatting
Category LC_MONETARY: Formatting of monetary amounts
LC_TIME
Other categories

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

NOTES

Backward compatibility
I18N:Collate obsolete
Sort speed and memory use impacts
`write()` and LC_NUMERIC
Freely available locale definitions
I18n and l10n
An imperfect standard

Unicode and UTF-8
BUGS

Broken systems

SEE ALSO
HISTORY

## perluniintro - Perl Unicode introduction

DESCRIPTION

Unicode
Perl's Unicode Support
Perl's Unicode Model
Unicode and EBCDIC
Creating Unicode
Handling Unicode
Legacy Encodings
Unicode I/O
Displaying Unicode As Text
Special Cases
Advanced Topics
Miscellaneous
Questions With Answers
Hexadecimal Notation
Further Resources

UNICODE IN OLDER PERLS
SEE ALSO
ACKNOWLEDGMENTS
AUTHOR, COPYRIGHT, AND LICENSE

## perlunicode - Unicode support in Perl

DESCRIPTION

Important Caveats
  Input and Output Layers, Regular Expressions, `use utf8` still needed to enable UTF-8/UTF-EBCDIC in scripts, `use encoding` needed to upgrade non-Latin-1 byte strings

Byte and Character Semantics
Effects of Character Semantics
Scripts
Blocks
User-Defined Character Properties
Character Encodings for Input and Output
Unicode Regular Expression Support Level
Unicode Encodings
Security Implications of Unicode
Unicode in Perl on EBCDIC
Locales
When Unicode Does Not Happen
Forcing Unicode in Perl (Or Unforcing Unicode in Perl)
Using Unicode in XS

BUGS

Interaction with Locales
Interaction with Extensions
Speed
Porting code from perl-5.6.X

SEE ALSO

## perlebcdic - Considerations for running Perl on EBCDIC platforms

DESCRIPTION
COMMON CHARACTER CODE SETS

ASCII
ISO 8859
Latin 1 (ISO 8859-1)
EBCDIC
- variant characters
POSIX-BC
Unicode code points versus EBCDIC code points
Remaining Perl Unicode problems in EBCDIC
Unicode and UTF
Using Encode

SINGLE OCTET TABLES
  recipe 0, recipe 1, recipe 2, recipe 3, recipe 4, recipe 5, recipe 6

IDENTIFYING CHARACTER CODE SETS
CONVERSIONS

tr///
iconv
C RTL

OPERATOR DIFFERENCES
FUNCTION DIFFERENCES
  chr(), ord(), pack(), print(), printf(), sort(), sprintf(), `unpack()`

REGULAR EXPRESSION DIFFERENCES
SOCKETS
SORTING

Ignore ASCII vs. EBCDIC sort differences.
MONO CASE then sort data.
Convert, sort data, then re convert.
Perform sorting on one type of machine only.

TRANSFORMATION FORMATS

URL decoding and encoding
uu encoding and decoding
Quoted-Printable encoding and decoding
Caesarian ciphers

Hashing order and checksums
I18N AND L10N
MULTI OCTET CHARACTER SETS
OS ISSUES

OS/400
  PASE, IFS access

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

VM/ESA?
POSIX-BC?

BUGS
SEE ALSO
REFERENCES
HISTORY
AUTHOR

## perlsec - Perl security

DESCRIPTION

Laundering and Detecting Tainted Data
Switches On the ``#!'' Line
Taint mode and @INC
Cleaning Up Your Path
Security Bugs
Protecting Your Programs
Unicode
Algorithmic Complexity Attacks

SEE ALSO

## perlmod - Perl modules (packages and symbol tables)

DESCRIPTION

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

SEE ALSO

## perlmodlib - constructing new Perl modules and finding existing ones

THE PERL MODULE LIBRARY

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

Standard Modules
  AnyDBM_File, Attribute::Handlers, AutoLoader, AutoSplit, B, B::Asmdata, B::Assembler, B::Bblock, B::Bytecode, B::C, B::CC, B::Concise, B::Debug, B::Deparse, B::Disassembler, B::Lint, B::Showlex, B::Stackobj, B::Stash, B::Terse, B::Xref, Benchmark, ByteLoader, CGI, CGI::Apache, CGI::Carp, CGI::Cookie, CGI::Fast, CGI::Pretty, CGI::Push, CGI::Switch, CGI::Util, CPAN, CPAN::FirstTime, CPAN::Nox, Carp, Carp::Heavy, Class::ISA, Class::Struct, Config, Cwd, DB, DB_File, Data::Dumper, Devel::DProf, Devel::PPPort, Devel::Peek, Devel::SelfStubber, Digest, Digest::MD5, Digest::base, DirHandle, Dumpvalue, DynaLoader, Encode, Encode::Alias, Encode::Byte, Encode::CJKConstants, Encode::CN, Encode::CN::HZ, Encode::Config, Encode::EBCDIC, Encode::Encoder, Encode::Encoding, Encode::Guess, Encode::JP, Encode::JP::H2Z, Encode::JP::JIS7, Encode::KR, Encode::KR::2022_KR, Encode::MIME::Header, Encode::PerlIO, Encode::Supported, Encode::Symbol, Encode::TW, Encode::Unicode, Encode::Unicode::UTF7, English, Env, Errno, Exporter, Exporter::Heavy, ExtUtils::Command, ExtUtils::Command::MM, ExtUtils::Constant, ExtUtils::Embed, ExtUtils::Install, ExtUtils::Installed, ExtUtils::Liblist, ExtUtils::MM, ExtUtils::MM_Any, ExtUtils::MM_BeOS, ExtUtils::MM_Cygwin, ExtUtils::MM_DOS, ExtUtils::MM_MacOS, ExtUtils::MM_NW5, ExtUtils::MM_OS2, ExtUtils::MM_UWIN, ExtUtils::MM_Unix, ExtUtils::MM_VMS, ExtUtils::MM_Win32, ExtUtils::MM_Win95, ExtUtils::MY, ExtUtils::MakeMaker, ExtUtils::MakeMaker::FAQ, ExtUtils::MakeMaker::Tutorial, ExtUtils::MakeMaker::bytes, ExtUtils::MakeMaker::vmsish, ExtUtils::Manifest, ExtUtils::Mkbootstrap, ExtUtils::Mksymlists, ExtUtils::Packlist, ExtUtils::testlib, Fatal, Fcntl, File::Basename, File::CheckTree, File::Compare, File::Copy, File::DosGlob, File::Find, File::Glob, File::Path, File::Spec, File::Spec::Cygwin, File::Spec::Epoc, File::Spec::Functions, File::Spec::Mac, File::Spec::OS2, File::Spec::Unix, File::Spec::VMS, File::Spec::Win32, File::Temp, File::stat, FileCache, FileHandle, Filter::Simple, Filter::Util::Call, FindBin, GDBM_File, Getopt::Long, Getopt::Std, Hash::Util, I18N::Collate, I18N::LangTags, I18N::LangTags::List, I18N::Langinfo, IO, IO::Dir, IO::File, IO::Handle, IO::Pipe, IO::Poll, IO::Seekable, IO::Select, IO::Socket, IO::Socket::INET, IO::Socket::UNIX, IPC::Open2, IPC::Open3, IPC::SysV, IPC::SysV::Msg, IPC::SysV::Semaphore, List::Util, Locale::Constants, Locale::Country, Locale::Currency, Locale::Language, Locale::Maketext, Locale::Maketext::TPJ13, Locale::Script, MIME::Base64, MIME::Base64::QuotedPrint, Math::BigFloat, Math::BigInt, Math::BigInt::Calc, Math::BigRat, Math::Complex, Math::Trig, Memoize, Memoize::AnyDBM_File, Memoize::Expire, Memoize::ExpireFile, Memoize::ExpireTest, Memoize::NDBM_File, Memoize::SDBM_File, Memoize::Storable, NDBM_File, NEXT, Net::Cmd, Net::Config, Net::Domain, Net::FTP, Net::NNTP, Net::Netrc, Net::POP3, Net::Ping, Net::SMTP, Net::Time, Net::hostent, Net::libnetFAQ, Net::netent, Net::protoent, Net::servent, O, ODBM_File, Opcode, POSIX, PerlIO, PerlIO::encoding, PerlIO::scalar, PerlIO::via, PerlIO::via::QuotedPrint, Pod::Checker, Pod::Find, Pod::Functions, Pod::Html, Pod::InputObjects, Pod::LaTeX, Pod::Man, Pod::ParseLink, Pod::ParseUtils, Pod::Parser, Pod::Perldoc::ToChecker, Pod::Perldoc::ToMan, Pod::Perldoc::ToNroff, Pod::Perldoc::ToPod, Pod::Perldoc::ToRtf, Pod::Perldoc::ToText, Pod::Perldoc::ToTk, Pod::Perldoc::ToXml, Pod::PlainText, Pod::Plainer, Pod::Select, Pod::Text, Pod::Text::Color, Pod::Text::Overstrike, Pod::Text::Termcap, Pod::Usage, SDBM_File, Safe, Scalar::Util, Search::Dict, SelectSaver, SelfLoader, Shell, Socket, Storable, Switch, Symbol, Sys::Hostname, Sys::Syslog, Term::ANSIColor, Term::Cap, Term::Complete, Term::ReadLine, Test, Test::Builder, Test::Harness, Test::Harness::Assert, Test::Harness::Iterator, Test::Harness::Straps, Test::More, Test::Simple, Test::Tutorial, Text::Abbrev, Text::Balanced, Text::ParseWords, Text::Soundex, Text::Tabs, Text::Wrap, Thread, Thread::Queue, Thread::Semaphore, Thread::Signal, Thread::Specific, Tie::Array, Tie::File, Tie::Handle, Tie::Hash, Tie::Memoize, Tie::RefHash, Tie::Scalar, Tie::SubstrHash, Time::HiRes, Time::Local, Time::gmtime, Time::localtime, Time::tm, UNIVERSAL, Unicode::Collate, Unicode::Normalize, Unicode::UCD, User::grent, User::pwent, Win32, XS::APItest, XS::Typemap, XSLoader

Extension Modules

CPAN

Africa
  South Africa

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

Central America
  Costa Rica

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

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

Oceania
  Australia, New Zealand, United States

South America
  Argentina, Brazil, Chile

RSYNC Mirrors

Modules: Creation, Use, and Abuse

Guidelines for Module Creation
Guidelines for Converting Perl 4 Library Scripts into Modules
Guidelines for Reusing Application Code

NOTE

## perlmodstyle - Perl module style guide

INTRODUCTION
QUICK CHECKLIST

Before you start
The API
Stability
Documentation
Release considerations

BEFORE YOU START WRITING A MODULE

Has it been done before?
Do one thing and do it well
What's in a name?

DESIGNING AND WRITING YOUR MODULE

To OO or not to OO?
Designing your API
  Write simple routines to do simple things, Separate functionality from output, Provide sensible shortcuts and defaults, Naming conventions, Parameter passing

Strictness and warnings
Backwards compatibility
Error handling and messages

DOCUMENTING YOUR MODULE

POD
README, INSTALL, release notes, changelogs
  perl Makefile.PL, make, make test, make install, perl Build.PL, perl Build, perl Build test, perl Build install

RELEASE CONSIDERATIONS

Version numbering
Pre-requisites
Testing
Packaging
Licensing

COMMON PITFALLS

Reinventing the wheel
Trying to do too much
Inappropriate documentation

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

AUTHOR

## perlmodinstall - Installing CPAN Modules

DESCRIPTION

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

PORTABILITY
HEY
AUTHOR
COPYRIGHT

## perlnewmod - preparing a new module for distribution

DESCRIPTION

Warning
What should I make into a module?
Step-by-step: Preparing the ground
  Look around, Check it's new, Discuss the need, Choose a name, Check again

Step-by-step: Making the module
  Start with h2xs, Use strict and warnings, Use Carp, Use Exporter - wisely!, Use plain old documentation, Write tests, Write the README

Step-by-step: Distributing your module
  Get a CPAN user ID, `perl Makefile.PL; make test; make dist`, Upload the tarball, Announce to the modules list, Announce to clpa, Fix bugs!

AUTHOR
SEE ALSO

## perlutil - utilities packaged with the Perl distribution

DESCRIPTION

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

CONVERTORS
  a2p, s2p, find2perl

Administration
  libnetcfg

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

SEE ALSO

## perlcompile - Introduction to the Perl Compiler-Translator

DESCRIPTION

Layout
  B::Bytecode, B::C, B::CC, B::Lint, B::Deparse, B::Xref

Using The Back Ends

The Cross Referencing Back End
  i, &, s, r

The Decompiling Back End
The Lint Back End
The Simple C Back End
The Bytecode Back End
The Optimized C Back End

Module List for the Compiler Suite
  B, O, B::Asmdata, B::Assembler, B::Bblock, B::Bytecode, B::C, B::CC, B::Concise, B::Debug, B::Deparse, B::Disassembler, B::Lint, B::Showlex, B::Stackobj, B::Stash, B::Terse, B::Xref

KNOWN PROBLEMS
AUTHOR

## perlfilter - Source Filters

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

CREATING A SOURCE FILTER AS A SEPARATE EXECUTABLE
WRITING A SOURCE FILTER IN PERL
USING CONTEXT: THE DEBUG FILTER
CONCLUSION
THINGS TO LOOK OUT FOR
  Some Filters Clobber the `DATA` Handle

REQUIREMENTS
AUTHOR
Copyrights

## perlembed - how to embed perl in your C program

DESCRIPTION

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

ROADMAP
Compiling your C program
Adding a Perl interpreter to your C program
Calling a Perl subroutine from your C program
Evaluating a Perl statement from your C program
Performing Perl pattern matches and substitutions from your C program
Fiddling with the Perl stack from your C program
Maintaining a persistent interpreter
Execution of END blocks
Maintaining multiple interpreter instances
Using Perl modules, which themselves use C libraries, from your C program

Embedding Perl under Win32
Hiding Perl_
MORAL
AUTHOR
COPYRIGHT

## perldebguts - Guts of Perl debugging

DESCRIPTION
Debugger Internals

Writing Your Own Debugger

Frame Listing Output Examples
Debugging regular expressions

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

Types of nodes
Run-time output

Debugging Perl memory usage

Using `$ENV{PERL_DEBUG_MSTATS}`
  `buckets SMALLEST(APPROX)..GREATEST(APPROX)`, Free/Used, `Total sbrk(): SBRKed/SBRKs:CONTINUOUS`, `pad: 0`, `heads: 2192`, `chain: 0`, `tail: 6144`

Example of using -DL switch
  `717`, `002`, `054`, `602`, `702`, `704`

-DL details
  `!!!`, `!!`, `!`

Limitations of -DL statistics

SEE ALSO

## perlxstut, perlXStut - Tutorial for writing XSUBs

DESCRIPTION
SPECIAL NOTES

make
Version caveat
Dynamic Loading versus Static Loading

TUTORIAL

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

See also
Author

Last Changed

## perlxs - XS language reference manual

DESCRIPTION

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

EXAMPLES
XS VERSION
AUTHOR

## perlclib - Internal replacements for standard C library functions

DESCRIPTION

Conventions
  `t`, `p`, `n`, `s`

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

SEE ALSO

## perlguts - Introduction to the Perl API

DESCRIPTION
Variables

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

Reference Counts and Mortality
Stashes and Globs
Double-Typed SVs
Magic Variables
Assigning Magic
Magic Virtual Tables
Finding Magic
Understanding the Magic of Tied Hashes and Arrays
Localizing changes
  `SAVEINT(int i)`, `SAVEIV(IV i)`, `SAVEI32(I32 i)`, `SAVELONG(long i)`, `SAVESPTR(s)`, `SAVEPPTR(p)`, `SAVEFREESV(SV *sv)`, `SAVEMORTALIZESV(SV *sv)`, `SAVEFREEOP(OP *op)`, `SAVEFREEPV(p)`, `SAVECLEARSV(SV *sv)`, `SAVEDELETE(HV *hv, char *key, I32 length)`, `SAVEDESTRUCTOR(DESTRUCTORFUNC_NOCONTEXT_t f, void *p)`, `SAVEDESTRUCTOR_X(DESTRUCTORFUNC_t f, void *p)`, `SAVESTACK_POS()`, `SV* save_scalar(GV *gv)`, `AV* save_ary(GV *gv)`, `HV* save_hash(GV *gv)`, `void save_item(SV *item)`, `void save_list(SV **sarg, I32 maxsarg)`, `SV* save_svref(SV **sptr)`, `void save_aptr(AV **aptr)`, `void save_hptr(HV **hptr)`

Subroutines

XSUBs and the Argument Stack
Calling Perl Routines from within C Programs
Memory Allocation
PerlIO
Putting a C value on Perl stack
Scratchpads
Scratchpads and recursion

Compiled code

Code tree
Examining the tree
Compile pass 1: check routines
Compile pass 1a: constant folding
Compile pass 2: context propagation
Compile pass 3: peephole optimization
Pluggable runops

Examining internal data structures with the `dump` functions
How multiple interpreters and concurrency are supported

Background and PERL_IMPLICIT_CONTEXT
So what happened to dTHR?
How do I use all this in extensions?
Should I do anything special if I call perl from multiple threads?
Future Plans and PERL_IMPLICIT_SYS

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

Formatted Printing of IVs, UVs, and NVs
Pointer-To-Integer and Integer-To-Pointer
Source Documentation

Unicode Support

What is Unicode, anyway?
How can I recognise a UTF-8 string?
How does UTF-8 represent Unicode characters?
How does Perl store UTF-8 strings?
How do I convert a string to UTF-8?
Is there anything else I need to know?

Custom Operators
AUTHORS
SEE ALSO

## perlcall - Perl calling conventions from C

DESCRIPTION
  An Error Handler, An Event Driven Program

THE CALL_ FUNCTIONS
  call_sv, call_pv, call_method, call_argv

FLAG VALUES

G_VOID
G_SCALAR
G_ARRAY
G_DISCARD
G_NOARGS
G_EVAL
G_KEEPERR
Determining the Context

KNOWN PROBLEMS
EXAMPLES

No Parameters, Nothing returned
Passing Parameters
Returning a Scalar
Returning a list of values
Returning a list in a scalar context
Returning Data from Perl via the parameter list
Using G_EVAL
Using G_KEEPERR
Using call_sv
Using call_argv
Using call_method
Using GIMME_V
Using Perl to dispose of temporaries
Strategies for storing Callback Context Information
  1. Ignore the problem - Allow only 1 callback, 2. Create a sequence of callbacks - hard wired limit, 3. Use a parameter to map to the Perl callback

Alternate Stack Manipulation
Creating and calling an anonymous subroutine in C

SEE ALSO
AUTHOR
DATE

## perlapi - autogenerated documentation for the perl public API

DESCRIPTION
``Gimme'' Values
  GIMME, GIMME_V, G_ARRAY, G_DISCARD, G_EVAL, G_NOARGS, G_SCALAR, G_VOID

Array Manipulation Functions
  AvFILL, av_clear, av_delete, av_exists, av_extend, av_fetch, av_fill, av_len, av_make, av_pop, av_push, av_shift, av_store, av_undef, av_unshift, get_av, newAV, Nullav, sortsv

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

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

Cloning an interpreter
  perl_clone

CV Manipulation Functions
  CvSTASH, get_cv, Nullcv

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

Functions in file pp_pack.c
  packlist, pack_cat, unpackstring, unpack_str

Global Variables
  PL_modglobal, PL_na, PL_sv_no, PL_sv_undef, PL_sv_yes

GV Functions
  GvSV, gv_fetchmeth, gv_fetchmethod, gv_fetchmethod_autoload, gv_fetchmeth_autoload, gv_stashpv, gv_stashsv

Handy Values
  HEf_SVKEY, Nullch, Nullsv

Hash Manipulation Functions
  get_hv, HeHASH, HeKEY, HeKLEN, HePV, HeSVKEY, HeSVKEY_force, HeSVKEY_set, HeVAL, HvNAME, hv_clear, hv_clear_placeholders, hv_delete, hv_delete_ent, hv_exists, hv_exists_ent, hv_fetch, hv_fetch_ent, hv_iterinit, hv_iterkey, hv_iterkeysv, hv_iternext, hv_iternextsv, hv_iternext_flags, hv_iterval, hv_magic, hv_scalar, hv_store, hv_store_ent, hv_undef, newHV, Nullhv

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

Memory Management
  Copy, Move, New, Newc, NEWSV, Newz, Poison, Renew, Renewc, Safefree, savepv, savepvn, savesharedpv, StructCopy, Zero

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

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

Optree Manipulation Functions
  cv_const_sv, newCONSTSUB, newXS

Pad Data Structures
  pad_sv

Stack Manipulation Macros
  dMARK, dORIGMARK, dSP, EXTEND, MARK, ORIGMARK, POPi, POPl, POPn, POPp, POPpbytex, POPpx, POPs, PUSHi, PUSHMARK, PUSHn, PUSHp, PUSHs, PUSHu, PUTBACK, SP, SPAGAIN, XPUSHi, XPUSHn, XPUSHp, XPUSHs, XPUSHu, XSRETURN, XSRETURN_IV, XSRETURN_NO, XSRETURN_NV, XSRETURN_PV, XSRETURN_UNDEF, XSRETURN_UV, XSRETURN_YES, XST_mIV, XST_mNO, XST_mNV, XST_mPV, XST_mUNDEF, XST_mYES

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

SV Manipulation Functions
  get_sv, looks_like_number, newRV_inc, newRV_noinc, newSV, newSViv, newSVnv, newSVpv, newSVpvf, newSVpvn, newSVpvn_share, newSVrv, newSVsv, newSVuv, SvCUR, SvCUR_set, SvEND, SvGROW, SvIOK, SvIOKp, SvIOK_notUV, SvIOK_off, SvIOK_on, SvIOK_only, SvIOK_only_UV, SvIOK_UV, SvIsCOW, SvIsCOW_shared_hash, SvIV, SvIVx, SvIVX, SvLEN, SvNIOK, SvNIOKp, SvNIOK_off, SvNOK, SvNOKp, SvNOK_off, SvNOK_on, SvNOK_only, SvNV, SvNVx, SvNVX, SvOK, SvOOK, SvPOK, SvPOKp, SvPOK_off, SvPOK_on, SvPOK_only, SvPOK_only_UTF8, SvPV, SvPVbyte, SvPVbytex, SvPVbytex_force, SvPVbyte_force, SvPVbyte_nolen, SvPVutf8, SvPVutf8x, SvPVutf8x_force, SvPVutf8_force, SvPVutf8_nolen, SvPVX, SvPVx, SvPV_force, SvPV_force_nomg, SvPV_nolen, SvREFCNT, SvREFCNT_dec, SvREFCNT_inc, SvROK, SvROK_off, SvROK_on, SvRV, SvSTASH, SvTAINT, SvTAINTED, SvTAINTED_off, SvTAINTED_on, SvTRUE, SvTYPE, SvUNLOCK, SvUOK, SvUPGRADE, SvUTF8, SvUTF8_off, SvUTF8_on, SvUV, SvUVx, SvUVX, sv_2bool, sv_2cv, sv_2io, sv_2iv, sv_2mortal, sv_2nv, sv_2pvbyte, sv_2pvbyte_nolen, sv_2pvutf8, sv_2pvutf8_nolen, sv_2pv_flags, sv_2pv_nolen, sv_2uv, sv_backoff, sv_bless, sv_catpv, sv_catpvf, sv_catpvf_mg, sv_catpvn, sv_catpvn_flags, sv_catpvn_mg, sv_catpv_mg, sv_catsv, sv_catsv_flags, sv_catsv_mg, sv_chop, sv_clear, sv_cmp, sv_cmp_locale, sv_collxfrm, sv_copypv, sv_dec, sv_derived_from, sv_eq, sv_force_normal, sv_force_normal_flags, sv_free, sv_gets, sv_grow, sv_inc, sv_insert, sv_isa, sv_isobject, sv_iv, sv_len, sv_len_utf8, sv_magic, sv_magicext, sv_mortalcopy, sv_newmortal, sv_newref, sv_nv, sv_pos_b2u, sv_pos_u2b, sv_pv, sv_pvbyte, sv_pvbyten, sv_pvbyten_force, sv_pvn, sv_pvn_force, sv_pvn_force_flags, sv_pvutf8, sv_pvutf8n, sv_pvutf8n_force, sv_reftype, sv_replace, sv_report_used, sv_reset, sv_rvweaken, sv_setiv, sv_setiv_mg, sv_setnv, sv_setnv_mg, sv_setpv, sv_setpvf, sv_setpvf_mg, sv_setpviv, sv_setpviv_mg, sv_setpvn, sv_setpvn_mg, sv_setpv_mg, sv_setref_iv, sv_setref_nv, sv_setref_pv, sv_setref_pvn, sv_setref_uv, sv_setsv, sv_setsv_flags, sv_setsv_mg, sv_setuv, sv_setuv_mg, sv_taint, sv_tainted, sv_true, sv_unmagic, sv_unref, sv_unref_flags, sv_untaint, sv_upgrade, sv_usepvn, sv_usepvn_mg, sv_utf8_decode, sv_utf8_downgrade, sv_utf8_encode, sv_utf8_upgrade, sv_utf8_upgrade_flags, sv_uv, sv_vcatpvfn, sv_vsetpvfn

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

Variables created by `xsubpp` and `xsubpp` internal functions
  ax, CLASS, dAX, dITEMS, dXSARGS, dXSI32, items, ix, newXSproto, RETVAL, ST, THIS, XS, XSRETURN_EMPTY, XS_VERSION, XS_VERSION_BOOTCHECK

Warning and Dieing
  croak, warn

AUTHORS
SEE ALSO

## perlintern - autogenerated documentation of purely internal Perl functions

DESCRIPTION
CV reference counts and CvOUTSIDE
  CvWEAKOUTSIDE

Functions in file pad.h
  CX_CURPAD_SAVE, CX_CURPAD_SV, PAD_BASE_SV, PAD_CLONE_VARS, PAD_COMPNAME_FLAGS, PAD_COMPNAME_GEN, PAD_COMPNAME_OURSTASH, PAD_COMPNAME_PV, PAD_COMPNAME_TYPE, PAD_DUP, PAD_RESTORE_LOCAL, PAD_SAVE_LOCAL, PAD_SAVE_SETNULLPAD, PAD_SETSV, PAD_SET_CUR, PAD_SET_CUR_NOSAVE, PAD_SV, PAD_SVl, SAVECLEARSV, SAVECOMPPAD, SAVEPADSV

Functions in file pp_ctl.c
  find_runcv

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

GV Functions
  is_gv_magical

IO Functions
  start_glob

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

Stack Manipulation Macros
  djSP, LVRET

SV Manipulation Functions
  report_uninit, sv_add_arena, sv_clean_all, sv_clean_objs, sv_free_arenas

AUTHORS
SEE ALSO

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

SYNOPSIS
DESCRIPTION

History and Background
Basic Structure
Layers vs Disciplines
Data Structures
Functions and Attributes
Per-instance Data
Layers in action.
Per-instance flag bits
  PERLIO_F_EOF, PERLIO_F_CANWRITE, PERLIO_F_CANREAD, PERLIO_F_ERROR, PERLIO_F_TRUNCATE, PERLIO_F_APPEND, PERLIO_F_CRLF, PERLIO_F_UTF8, PERLIO_F_UNBUF, PERLIO_F_WRBUF, PERLIO_F_RDBUF, PERLIO_F_LINEBUF, PERLIO_F_TEMP, PERLIO_F_OPEN, PERLIO_F_FASTGETS

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

Utilities
Implementing PerlIO Layers
  C implementations, Perl implementations

Core Layers
  ``unix'', ``perlio'', ``stdio'', ``crlf'', ``mmap'', ``pending'', ``raw'', ``utf8''

Extension Layers
  ``:encoding'', ``:scalar'', ``:via''

TODO

## perlapio - perl's IO abstraction interface.

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

Co-existence with stdio
  PerlIO_importFILE(f,mode), PerlIO_exportFILE(f,mode), PerlIO_releaseFILE(p,f), PerlIO_findFILE(f)

``Fast gets'' Functions
  PerlIO_fast_gets(f), PerlIO_has_cntptr(f), PerlIO_get_cnt(f), PerlIO_get_ptr(f), PerlIO_set_ptrcnt(f,p,c), PerlIO_canset_cnt(f), PerlIO_set_cnt(f,c), PerlIO_has_base(f), PerlIO_get_base(f), PerlIO_get_bufsiz(f)

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

## perlhack - How to hack at the Perl internals

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

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

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

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

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

Finding Your Way Around
  Core modules, Tests, Documentation, Configure, Interpreter

Elements of the interpreter
  Startup, Parsing, Optimization, Running

Internal Variable Types
Op Trees
Stacks
  Argument stack, Mark stack, Save stack

Millions of Macros
The .i Targets
Poking at Perl
Using a source-level debugger
  run [args], break function_name, break source.c:xxx, step, next, continue, finish, 'enter', print

gdb macro support
Dumping Perl Data Structures
Patching
Patching a core module
Adding a new function to the core
Writing a test
  t/base/, t/cmd/, t/comp/, t/io/, t/lib/, t/op/, t/pod/, t/run/, t/uni/, t/win32/, t/x2p, t/base t/comp, t/cmd t/run t/io t/op, t/lib ext lib

Special Make Test Targets
  coretest, test.deparse, test.taintwarn, minitest, test.valgrind check.valgrind utest.valgrind ucheck.valgrind, test.third check.third utest.third ucheck.third, test.torture torturetest, utest ucheck test.utf8 check.utf8, test_harness

Running tests by hand
  PERL_CORE=1, PERL_DESTRUCT_LEVEL=2, PERL, PERL_SKIP_TTY_TEST

EXTERNAL TOOLS FOR DEBUGGING PERL

Rational Software's Purify
Purify on Unix
  -Accflags=-DPURIFY, -Doptimize='-g', -Uusemymalloc, -Dusemultiplicity

Purify on NT
  DEFINES, USE_MULTI = define, #PERL_MALLOC = define, CFG = Debug

valgrind
Compaq's/Digital's/HP's Third Degree
PERL_DESTRUCT_LEVEL
Profiling
Gprof Profiling
  -a, -b, -e routine, -f routine, -s, -z

GCC gcov Profiling
Pixie Profiling
  -h, -l, -p[rocedures], -h[eavy], -i[nvocations], -l[ines], -testcoverage, -z[ero]

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

AUTHOR

## perlbook - Perl book information

DESCRIPTION

## perltodo - Perl TO-DO List

DESCRIPTION
To do during 5.6.x

Support for I/O disciplines
Autoload bytes.pm
Make ``\u{XXXX}'' et al work
Create a char *sv_pvprintify(sv, STRLEN *lenp, UV flags)
Overloadable regex assertions
Unicode
Work out exit/die semantics for threads
Better support for nonpreemptive threading systems like GNU pth
Typed lexicals for compiler
Compiler workarounds for Win32
AUTOLOADing in the compiler
Fixing comppadlist when compiling
Cleaning up exported namespace
Complete signal handling
Out-of-source builds
POSIX realtime support
UNIX98 support
IPv6 Support
Long double conversion
Locales
Arithmetic on non-Arabic numerals
POSIX Unicode character classes
Factoring out common suffices/prefices in regexps (trie optimization)
Security audit shipped utilities
Sort out the uid-setting mess
Custom opcodes
DLL Versioning
Introduce @( and @)
Floating point handling
IV/UV preservation
Replace pod2html with something using Pod::Parser
Automate module testing on CPAN
sendmsg and recvmsg
Rewrite perlre documentation
Convert example code to IO::Handle filehandles
Document Win32 choices
Check new modules
Make roffitall find pods and libs itself

To do at some point

Remove regular expression recursion
Memory leaks after failed eval
bitfields in pack
Cross compilation
Perl preprocessor / macros
Perl lexer in Perl
Using POSIX calls internally
-i rename file when changed
All ARGV input should act like <>
Support for rerunning debugger
Test Suite for the Debugger
my sub foo { }
One-pass global destruction
Rewrite regexp parser
Cache recently used regexps
Cross-compilation support
Bit-shifting bitvectors
debugger pragma
use less pragma
switch structures
Cache eval tree
rcatmaybe
Shrink opcode tables
Optimize away @_
Prototypes versus indirect objects
Install HTML
Prototype method calls
Return context prototype declarations
magic_setisa
Garbage collection
IO tutorial
Rewrite perldoc
Install .3p manpages
Unicode tutorial
Update POSIX.pm for 1003.1-2
Retargetable installation
POSIX emulation on non-POSIX systems
Rename Win32 headers
Finish off lvalue functions
Update sprintf documentation
Use fchown/fchmod internally
Make v-strings overloaded objects
Allow restricted hash assignment
Should overload be inheritable?
Taint rethink
Perform correctly when XSUBs call subroutines that exit via `goto(LABEL)` and friends

Vague ideas

`ref()` in list context
Make tr/// return histogram of characters in list context
Compile to real threaded code
Structured types
Modifiable $1 et al.
Procedural interfaces for IO::*, etc.
RPC modules
Attach/detach debugger from running program
GUI::Native
foreach(reverse ...)
Constant function cache
Approximate regular expression matching

Ongoing

Update guts documentation
Add more tests
Update auxiliary tools
Create debugging macros
truncate to the people
Unicode in Filenames

Unicode in %ENV
Recently done things

Alternative RE syntax module
Safe signal handling
Tie Modules
gettimeofday
setitimer and getimiter
Testing __DIE__ hook
CPP equivalent in Perl
Explicit switch statements
autocroak
UTF/EBCDIC
UTF Regexes
perlcc to produce executable
END blocks saved in compiled output
Secure temporary file module
Integrate Time::HiRes
Turn Cwd into XS
Mmap for input
Byte to/from UTF-8 and UTF-8 to/from local conversion
Add sockatmark support
Mailing list archives
Bug tracking
Integrate MacPerl
Web ``nerve center'' for Perl
Regular expression tutorial
Debugging Tutorial
Integrate new modules
Integrate profiler
Y2K error detection
Regular expression debugger
POD checker
``Dynamic'' lexicals
Cache precompiled modules

Deprecated Wishes

Loop control on do{}
Lexically scoped typeglobs
format BOTTOM
report HANDLE
Generalised `want()/caller())`
Named prototypes
Built-in globbing
Regression tests for suidperl
Cached hash values
Add compression modules
Reorganise documentation into tutorials/references
Remove distinction between functions and operators
Make XS easier to use
Make embedding easier to use
man for perl
my $Package::variable
``or'' tests defined, not truth
``class''-based lexicals
byteperl
Lazy evaluation / tail recursion removal
Make ``use utf8'' the default
Unicode collation and normalization
pack/unpack tutorial

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

DESCRIPTION
Incompatible Changes
Core Enhancements

Malloc wrapping
Unicode Character Database 4.0.1
suidperl less insecure
format

Modules and Pragmata

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

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

## perl584delta, perldelta - what is new for perl v5.8.4

DESCRIPTION
Incompatible Changes
Core Enhancements

Malloc wrapping
Unicode Character Database 4.0.1
suidperl less insecure
format

Modules and Pragmata

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

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

## perl583delta - what is new for perl v5.8.3

DESCRIPTION
Incompatible Changes
Core Enhancements
Modules and Pragmata
  CGI, Cwd, Digest, Digest::MD5, Encode, File::Spec, FindBin, List::Util, Math::BigInt, PodParser, Pod::Perldoc, POSIX, Unicode::Collate, Unicode::Normalize, Test::Harness, threads::shared

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

## perl582delta - what is new for perl v5.8.2

DESCRIPTION
Incompatible Changes
Core Enhancements

Hash Randomisation
Threading

Modules and Pragmata

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

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

## perl581delta - what is new for perl v5.8.1

DESCRIPTION
Incompatible Changes

Hash Randomisation
UTF-8 On Filehandles No Longer Activated By Locale
Single-number v-strings are no longer v-strings before ``=>''
(Win32) The -C Switch Has Been Repurposed
(Win32) The /d Switch Of cmd.exe

Core Enhancements

UTF-8 no longer default under UTF-8 locales
Unsafe signals again available
Tied Arrays with Negative Array Indices
local ${$x}
Unicode Character Database 4.0.0
Deprecation Warnings
Miscellaneous Enhancements

Modules and Pragmata

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

Utility Changes
New Documentation
Installation and Configuration Improvements

Platform-specific enhancements

Selected Bug Fixes

Closures, eval and lexicals
Generic fixes
Platform-specific fixes

New or Changed Diagnostics

Changed ``A thread exited while %d threads were running''
Removed ``Attempt to clear a restricted hash''
New ``Illegal declaration of anonymous subroutine''
Changed ``Invalid range ''%s`` in transliteration operator''
New ``Missing control char name in \c''
New ``Newline in left-justified string for %s''
New ``Possible precedence problem on bitwise %c operator''
New ``Pseudo-hashes are deprecated''
New ``read() on %s filehandle %s''
New ``5.005 threads are deprecated''
New ``Tied variable freed while still in use''
New ``To%s: illegal mapping '%s'''
New ``Use of freed value in iteration''

Changed Internals
New Tests
Known Problems

Tied hashes in scalar context
Net::Ping 450_service and 510_ping_udp failures
B::C

Platform Specific Problems

EBCDIC Platforms
Cygwin 1.5 problems
HP-UX: HP cc warnings about sendfile and sendpath
IRIX: t/uni/tr_7jis.t falsely failing
Mac OS X: no usemymalloc
Tru64: No threaded builds with GNU cc (gcc)
Win32: sysopen, sysread, syswrite

Future Directions
Reporting Bugs
SEE ALSO

## perl58delta - what is new for perl v5.8.0

DESCRIPTION
Highlights In 5.8.0
Incompatible Changes

Binary Incompatibility
- -bit platforms and malloc
AIX Dynaloading
Attributes for `my` variables now handled at run-time
Socket Extension Dynamic in VMS
IEEE-format Floating Point Default on OpenVMS Alpha
New Unicode Semantics (no more `use utf8`, almost)
New Unicode Properties
`REF(...)` Instead Of `SCALAR(...)`
pack/unpack D/F recycled
`glob()` now returns filenames in alphabetical order
Deprecations

Core Enhancements

Unicode Overhaul
PerlIO is Now The Default
ithreads
Restricted Hashes
Safe Signals
Understanding of Numbers
Arrays now always interpolate into double-quoted strings [561]
Miscellaneous Changes

Modules and Pragmata

New Modules and Pragmata
Updated And Improved Modules and Pragmata

Utility Changes
New Documentation
Performance Enhancements
Installation and Configuration Improvements

Generic Improvements
New Or Improved Platforms

Selected Bug Fixes

Platform Specific Changes and Fixes

New or Changed Diagnostics
Changed Internals
Security Vulnerability Closed [561]
New Tests
Known Problems

The Compiler Suite Is Still Very Experimental
Localising Tied Arrays and Hashes Is Broken
Building Extensions Can Fail Because Of Largefiles
Modifying $_ Inside `for(..)`
mod_perl 1.26 Doesn't Build With Threaded Perl
lib/ftmp-security tests warn 'system possibly insecure'
libwww-perl (LWP) fails base/date #51
PDL failing some tests
Perl_get_sv
Self-tying Problems
ext/threads/t/libc
Failure of Thread (5.005-style) tests
Timing problems
Tied/Magical Array/Hash Elements Do Not Autovivify
Unicode in package/class and subroutine names does not work

Platform Specific Problems

AIX
Alpha systems with old gccs fail several tests
AmigaOS
BeOS
Cygwin ``unable to remap''
Cygwin ndbm tests fail on FAT
DJGPP Failures
FreeBSD built with ithreads coredumps reading large directories
FreeBSD Failing locale Test 117 For ISO 8859-15 Locales
IRIX fails ext/List/Util/t/shuffle.t or Digest::MD5
HP-UX lib/posix Subtest 9 Fails When LP64-Configured
Linux with glibc 2.2.5 fails t/op/int subtest #6 with -Duse64bitint
Linux With Sfio Fails op/misc Test 48
Mac OS X
Mac OS X dyld undefined symbols
OS/2 Test Failures
op/sprintf tests 91, 129, and 130
SCO
Solaris 2.5
Solaris x86 Fails Tests With -Duse64bitint
SUPER-UX (NEC SX)
Term::ReadKey not working on Win32
UNICOS/mk
UTS
VOS (Stratus)
VMS
Win32
XML::Parser not working
z/OS (OS/390)
Unicode Support on EBCDIC Still Spotty
Seen In Perl 5.7 But Gone Now

Reporting Bugs
SEE ALSO
HISTORY

## perl573delta - what's new for perl v5.7.3

DESCRIPTION
Changes
Reporting Bugs
SEE ALSO
HISTORY

## perl572delta - what's new for perl v5.7.2

DESCRIPTION
Security Vulnerability Closed
Incompatible Changes

1. -bit platforms and malloc
AIX Dynaloading
Socket Extension Dynamic in VMS
Different Definition of the Unicode Character Classes \p{In...}
Deprecations

Core Enhancements
Modules and Pragmata

New Modules and Distributions
Updated And Improved Modules and Pragmata

Utility Changes
New Documentation
Installation and Configuration Improvements

New Or Improved Platforms
Generic Improvements

Selected Bug Fixes

Platform Specific Changes and Fixes

New or Changed Diagnostics
Source Code Enhancements

MAGIC constants
Better commented code
Regex pre-/post-compilation items matched up
gcc -Wall

New Tests
Known Problems

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

Reporting Bugs
SEE ALSO
HISTORY

## perl571delta - what's new for perl v5.7.1

DESCRIPTION
Security Vulnerability Closed
Incompatible Changes
Core Enhancements

AUTOLOAD Is Now Lvaluable
PerlIO is Now The Default
Signals Are Now Safe

Modules and Pragmata

New Modules
Updated And Improved Modules and Pragmata

Performance Enhancements
Utility Changes
New Documentation

perlclib
perliol
README.aix
README.bs2000
README.macos
README.mpeix
README.solaris
README.vos
Porting/repository.pod

Installation and Configuration Improvements

New Or Improved Platforms
Generic Improvements
  d_cmsghdr, d_fcntl_can_lock, d_fsync, d_getitimer, d_getpagsz, d_msghdr_s, need_va_copy, d_readv, d_recvmsg, d_sendmsg, sig_size, d_sockatmark, d_strtoq, d_u32align, d_ualarm, d_usleep

Selected Bug Fixes

Platform Specific Changes and Fixes

New or Changed Diagnostics
Changed Internals
New Tests
Known Problems

AIX vac 5.0.0.0 May Produce Buggy Code For Perl
lib/ftmp-security tests warn 'system possibly insecure'
lib/io_multihomed Fails In LP64-Configured HP-UX
Test lib/posix Subtest 9 Fails In LP64-Configured HP-UX
lib/b test 19
Linux With Sfio Fails op/misc Test 48
sigaction test 13 in VMS
sprintf tests 129 and 130
Failure of Thread tests
Localising a Tied Variable Leaks Memory
Self-tying of Arrays and Hashes Is Forbidden
Building Extensions Can Fail Because Of Largefiles
The Compiler Suite Is Still Experimental

Reporting Bugs
SEE ALSO
HISTORY

## perl570delta - what's new for perl v5.7.0

DESCRIPTION
Security Vulnerability Closed
Incompatible Changes
Core Enhancements
Modules and Pragmata

New Modules
Updated And Improved Modules and Pragmata

Utility Changes
New Documentation
Performance Enhancements
Installation and Configuration Improvements

Generic Improvements

Selected Bug Fixes

Platform Specific Changes and Fixes

New or Changed Diagnostics
Changed Internals
Known Problems

Unicode Support Still Far From Perfect
EBCDIC Still A Lost Platform
Building Extensions Can Fail Because Of Largefiles
ftmp-security tests warn 'system possibly insecure'
Test lib/posix Subtest 9 Fails In LP64-Configured HP-UX
Long Doubles Still Don't Work In Solaris
Linux With Sfio Fails op/misc Test 48
Storable tests fail in some platforms
Threads Are Still Experimental
The Compiler Suite Is Still Experimental

Reporting Bugs
SEE ALSO
HISTORY

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

DESCRIPTION
Summary of changes between 5.6.0 and 5.6.1

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

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

Platform-specific improvements
  NCR MP-RAS, NonStop-UX

Core Enhancements

Interpreter cloning, threads, and concurrency
Lexically scoped warning categories
Unicode and UTF-8 support
Support for interpolating named characters
``our'' declarations
Support for strings represented as a vector of ordinals
Improved Perl version numbering system
New syntax for declaring subroutine attributes
File and directory handles can be autovivified
`open()` with more than two arguments
- -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 operations
Where possible, buffered data discarded from duped input filehandle
`eof()` has the same old magic as <>
`binmode()` can be used to set :crlf and :raw modes
`-T` filetest recognizes UTF-8 encoded files as ``text''
system(), backticks and pipe open now reflect `exec()` failure
Improved diagnostics
Diagnostics follow STDERR
More consistent close-on-exec behavior
`syswrite()` ease-of-use
Better syntax checks on parenthesized unary operators
Bit operators support full native integer width
Improved security features
More functional bareword prototype (*)
`require` and `do` may be overridden
$^X variables may now have names longer than one character
New variable $^C reflects `-c` switch
New variable $^V contains Perl version as a string
Optional Y2K warnings
Arrays now always interpolate into double-quoted strings

Modules and Pragmata

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

Pragmata

Utility Changes

dprofpp
find2perl
h2xs
perlcc
perldoc
The Perl Debugger

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

Performance enhancements

Simple `sort()` using { $a <=> $b } and the like are optimized
Optimized assignments to lexical variables
Faster subroutine calls
delete(), each(), `values()` and hash iteration are faster

Installation and Configuration Improvements

-Dusethreads means something different
New Configure flags
Threadedness and 64-bitness now more daring
Long Doubles
-Dusemorebits
-Duselargefiles
installusrbinperl
SOCKS support
`-A` flag
Enhanced Installation Directories
gcc automatically tried if 'cc' does not seem to be working

Platform specific changes

Supported platforms
DOS
OS390 (OpenEdition MVS)
VMS
Win32

Significant bug fixes

<HANDLE> on empty files
`eval '...'` improvements
All compilation errors are true errors
Implicitly closed filehandles are safer
Behavior of list slices is more consistent
`(\$)` prototype and `$foo{a}`
`goto &sub` and AUTOLOAD
`-bareword` allowed under `use integer`
Failures in `DESTROY()`
Locale bugs fixed
Memory leaks
Spurious subroutine stubs after failed subroutine calls
Taint failures under `-U`
END blocks and the `-c` switch
Potential to leak DATA filehandles

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

New tests
Incompatible Changes

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

C Source Incompatibilities
  `PERL_POLLUTE`, `PERL_IMPLICIT_CONTEXT`, `PERL_POLLUTE_MALLOC`

Compatible C Source API Changes
  `PATCHLEVEL` is now `PERL_VERSION`

Binary Incompatibilities

Known Problems

Localizing a tied hash element may leak memory
Known test failures
EBCDIC platforms not fully supported
UNICOS/mk CC failures during Configure run
Arrow operator and arrays
Experimental features
  Threads, Unicode, 64-bit support, Lvalue subroutines, Weak references, The pseudo-hash data type, The Compiler suite, Internal implementation of file globbing, The DB module, The regular expression code constructs:

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

Reporting Bugs
SEE ALSO
HISTORY

## perl56delta - what's new for perl v5.6.0

DESCRIPTION
Core Enhancements

Interpreter cloning, threads, and concurrency
Lexically scoped warning categories
Unicode and UTF-8 support
Support for interpolating named characters
``our'' declarations
Support for strings represented as a vector of ordinals
Improved Perl version numbering system
New syntax for declaring subroutine attributes
File and directory handles can be autovivified
`open()` with more than two arguments
- -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 operations
Where possible, buffered data discarded from duped input filehandle
`eof()` has the same old magic as <>
`binmode()` can be used to set :crlf and :raw modes
`-T` filetest recognizes UTF-8 encoded files as ``text''
system(), backticks and pipe open now reflect `exec()` failure
Improved diagnostics
Diagnostics follow STDERR
More consistent close-on-exec behavior
`syswrite()` ease-of-use
Better syntax checks on parenthesized unary operators
Bit operators support full native integer width
Improved security features
More functional bareword prototype (*)
`require` and `do` may be overridden
$^X variables may now have names longer than one character
New variable $^C reflects `-c` switch
New variable $^V contains Perl version as a string
Optional Y2K warnings
Arrays now always interpolate into double-quoted strings

Modules and Pragmata

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

Pragmata

Utility Changes

dprofpp
find2perl
h2xs
perlcc
perldoc
The Perl Debugger

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

Performance enhancements

Simple `sort()` using { $a <=> $b } and the like are optimized
Optimized assignments to lexical variables
Faster subroutine calls
delete(), each(), `values()` and hash iteration are faster

Installation and Configuration Improvements

-Dusethreads means something different
New Configure flags
Threadedness and 64-bitness now more daring
Long Doubles
-Dusemorebits
-Duselargefiles
installusrbinperl
SOCKS support
`-A` flag
Enhanced Installation Directories

Platform specific changes

Supported platforms
DOS
OS390 (OpenEdition MVS)
VMS
Win32

Significant bug fixes

<HANDLE> on empty files
`eval '...'` improvements
All compilation errors are true errors
Implicitly closed filehandles are safer
Behavior of list slices is more consistent
`(\$)` prototype and `$foo{a}`
`goto &sub` and AUTOLOAD
`-bareword` allowed under `use integer`
Failures in `DESTROY()`
Locale bugs fixed
Memory leaks
Spurious subroutine stubs after failed subroutine calls
Taint failures under `-U`
END blocks and the `-c` switch
Potential to leak DATA filehandles

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

New tests
Incompatible Changes

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

C Source Incompatibilities
  `PERL_POLLUTE`, `PERL_IMPLICIT_CONTEXT`, `PERL_POLLUTE_MALLOC`

Compatible C Source API Changes
  `PATCHLEVEL` is now `PERL_VERSION`

Binary Incompatibilities

Known Problems

Thread test failures
EBCDIC platforms not supported
In 64-bit HP-UX the lib/io_multihomed test may hang
NEXTSTEP 3.3 POSIX test failure
Tru64 (aka Digital UNIX, aka DEC OSF/1) lib/sdbm test failure with gcc
UNICOS/mk CC failures during Configure run
Arrow operator and arrays
Experimental features
  Threads, Unicode, 64-bit support, Lvalue subroutines, Weak references, The pseudo-hash data type, The Compiler suite, Internal implementation of file globbing, The DB module, The regular expression code constructs:

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

Reporting Bugs
SEE ALSO
HISTORY

## perl5005delta - what's new for perl5.005

DESCRIPTION
About the new versioning system
Incompatible Changes

WARNING: This version is not binary compatible with Perl 5.004.
Default installation structure has changed
Perl Source Compatibility
C Source Compatibility
Binary Compatibility
Security fixes may affect compatibility
Relaxed new mandatory warnings introduced in 5.004
Licensing

Core Changes

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

Improved `malloc()`
Quicksort is internally implemented
Reliable signals
Reliable stack pointers
More generous treatment of carriage returns
Memory leaks
Better support for multiple interpreters
Behavior of `local()` on array and hash elements is now well-defined
`%!` is transparently tied to the the Errno manpage 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
- th argument to substr
Negative LENGTH argument to splice
Magic lvalues are now more magical
<> now reads in records

Supported Platforms

New Platforms
Changes in existing support

Modules and Pragmata

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

Changes in existing modules
  Benchmark, Carp, CGI, Fcntl, Math::Complex, Math::Trig, POSIX, DB_File, MakeMaker, CPAN, Cwd

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

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

Configuration Changes
BUGS
SEE ALSO
HISTORY

## perl5004delta - what's new for perl5.004

DESCRIPTION
Supported Environments
Core Changes

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

New Opcode module and revised Safe module
Embedding improvements
Internal change: FileHandle class based on IO::* classes
Internal change: PerlIO abstraction interface
New and changed syntax
  $coderef->(PARAMS)

New and changed builtin constants
  __PACKAGE__

New and changed builtin variables
  $^E, $^H, $^M

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

New builtin methods
  isa(CLASS), can(METHOD), VERSION( [NEED] )

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

Malloc enhancements
  -DPERL_EMERGENCY_SBRK, -DPACK_MALLOC, -DTWO_POT_OPTIMIZE

Miscellaneous efficiency enhancements

Support for More Operating Systems

Win32
Plan 9
QNX
AmigaOS

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

Modules

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

Utility Changes

pod2html
  Sends converted HTML to standard output

xsubpp
  `void` XSUBs now default to returning nothing

C Language API Changes
  `gv_fetchmethod` and `perl_call_sv`, `perl_eval_pv`, Extended API for manipulating hashes

Documentation Changes
  the perldelta manpage, the perlfaq manpage, the perllocale manpage, the perltoot manpage, the perlapio manpage, the perlmodlib manpage, the perldebug manpage, the perlsec manpage

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

BUGS
SEE ALSO
HISTORY

## perlartistic - the Perl Artistic License

SYNOPSIS
DESCRIPTION
The ``Artistic License''

Preamble
Definitions
  ``Package'', ``Standard Version'', ``Copyright Holder'', ``You'', ``Reasonable copying fee'', ``Freely Available''

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

## perlgpl - the GNU General Public License, version 2

SYNOPSIS

DESCRIPTION
GNU GENERAL PUBLIC LICENSE

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

DESCRIPTION

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

AUTHOR
DATE

## perlamiga - Perl under Amiga OS

NOTE
SYNOPSIS

DESCRIPTION

Prerequisites for Compiling Perl on AmigaOS
  Unix emulation for AmigaOS: ixemul.library, Version of Amiga OS

Starting Perl programs under AmigaOS
Shortcomings of Perl under AmigaOS

INSTALLATION
Accessing documentation

Manpages for Perl on AmigaOS
Perl HTML Documentation on AmigaOS
Perl GNU Info Files on AmigaOS
Perl LaTeX Documentation on AmigaOS

BUILDING PERL ON AMIGAOS

Build Prerequisites for Perl on AmigaOS
Getting the Perl Source for AmigaOS
Making Perl on AmigaOS
Testing Perl on AmigaOS
Installing the built Perl on AmigaOS

PERL 5.8.0 BROKEN IN AMIGAOS
AUTHORS
SEE ALSO

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

DESCRIPTION
AUTHOR

## perlbeos, README.beos - Perl version 5 on BeOS

DESCRIPTION

General Issues with Perl on BeOS
BeOS Release-specific Notes
  R4 x86, R4 PPC

Contact Information
Update 2002-05-30

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

SYNOPSIS
DESCRIPTION

gzip on BS2000
bison on BS2000
Unpacking Perl Distribution on BS2000
Compiling Perl on BS2000
Testing Perl on BS2000
Installing Perl on BS2000
Using Perl in the Posix-Shell of BS2000
Using Perl in ``native'' BS2000
Floating point anomalies on BS2000
Using PerlIO and different encodings on ASCII and EBCDIC partitions

AUTHORS
SEE ALSO

Mailing list

HISTORY

## perlce - Perl for WinCE

DESCRIPTION
BUILD

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

Make

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

ACKNOWLEDGEMENTS
AUTHORS

## perlcygwin, README.cygwin - Perl for Cygwin

SYNOPSIS
PREREQUISITES FOR COMPILING PERL ON CYGWIN

Cygwin = GNU+Cygnus+Windows (Don't leave UNIX without it)
Cygwin Configuration
  `PATH`, nroff, Permissions

CONFIGURE PERL ON CYGWIN

Stripping Perl Binaries on Cygwin
Optional Libraries for Perl on Cygwin
  `-lcrypt`, `-lgdbm` (`use GDBM_File`), `-ldb` (`use DB_File`), `-lcygipc` (`use IPC::SysV`), `-lutil`

Configure-time Options for Perl on Cygwin
  `-Uusedl`, `-Uusemymalloc`, `-Uuseperlio`, `-Dusemultiplicity`, `-Duse64bitint`, `-Duselongdouble`, `-Dusethreads`, `-Duselargefiles`, `-Dmksymlinks`

Suspicious Warnings on Cygwin
  dlsym(), Win9x and `d_eofnblk`, Compiler/Preprocessor defines

MAKE ON CYGWIN

Errors on Cygwin
ld2 on Cygwin

TEST ON CYGWIN

File Permissions on Cygwin
NDBM_File and ODBM_File do not work on FAT filesystems
`fork()` failures in io_* tests
Script Portability on Cygwin
  Pathnames, Text/Binary, PerlIO, .exe, `chown()`, Miscellaneous

INSTALL PERL ON CYGWIN
MANIFEST ON CYGWIN
  Documentation, Build, Configure, Make, Install, Tests, Compiled Perl Source, Compiled Module Source, Perl Modules/Scripts

BUGS ON CYGWIN
AUTHORS
HISTORY

## perldgux - Perl under DG/UX.

SYNOPSIS

DESCRIPTION
BUILDING PERL ON DG/UX

Non-threaded Perl on DG/UX
Threaded Perl on DG/UX
Testing Perl on DG/UX
Installing the built perl on DG/UX

AUTHOR
SEE ALSO

## perldos - Perl under DOS, W31, W95.

SYNOPSIS
DESCRIPTION

Prerequisites for Compiling Perl on DOS
  DJGPP, Pthreads

Shortcomings of Perl under DOS
Building Perl on DOS
Testing Perl on DOS
Installation of Perl on DOS

BUILDING AND INSTALLING MODULES ON DOS

Building Prerequisites for Perl on DOS
Unpacking CPAN Modules on DOS
Building Non-XS Modules on DOS
Building XS Modules on DOS

AUTHOR
SEE ALSO

## perlepoc, README.epoc - Perl for EPOC

SYNOPSIS
INTRODUCTION
INSTALLING PERL ON EPOC
STARTING PERL ON EPOC

Editors on Epoc
Features of Perl on Epoc
Restrictions of Perl on Epoc
Compiling Perl 5 on the EPOC cross compiling environment

SUPPORT STATUS OF PERL ON EPOC
AUTHOR
LAST UPDATE

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

DESCRIPTION

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

AUTHOR

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

DESCRIPTION

Using perl as shipped with HP-UX
Using perl from HP's porting centre
Compiling Perl 5 on HP-UX
PA-RISC
PA-RISC 1.0
PA-RISC 1.1
PA-RISC 2.0
Itanium
Portability Between PA-RISC Versions
Itanium Processor Family and HP-UX
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
- -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

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

## 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 the ExtUtils::Embed manpage?

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

INSTALLATION

Automatic binary installation
  `PERL_BADLANG`, `PERL_BADFREE`, Config.pm

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

Warning

Accessing documentation

OS/2 .INF file
Plain text
Manpages
HTML
GNU `info` files
PDF files
`LaTeX` docs

BUILD

The short story
Prerequisites
Getting perl source
Application of the patches
Hand-editing
Making
Testing
  A lot of `bad free`, Process terminated by SIGTERM/SIGINT, op/fs.t, op/stat.t

Installing the built perl
`a.out`-style build

Building a binary distribution
Building custom .EXE files

Making executables with a custom collection of statically loaded extensions
Making executables with a custom search-paths

Build FAQ

Some `/` became `\` in pdksh.
`'errno'` - unresolved external
Problems with tr or sed
Some problem (forget which ;-)
Library ... not found
Segfault in make
op/sprintf test failure

Specific (mis)features of OS/2 port

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

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

Misfeatures
Modifications
  `popen`, `tmpnam`, `tmpfile`, `ctermid`, `stat`, `mkdir`, `rmdir`, `flock`

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

Perl flavors

perl.exe
perl_.exe
perl__.exe
perl___.exe
Why strange names?
Why dynamic linking?
Why chimera build?

ENVIRONMENT

`PERLLIB_PREFIX`
`PERL_BADLANG`
`PERL_BADFREE`
`PERL_SH_DIR`
`USE_PERL_FLOCK`
`TMP` or `TEMP`

Evolution

Text-mode filehandles
Priorities
DLL name mangling: pre 5.6.2
DLL name mangling: 5.6.2 and beyond
  Global DLLs, specific DLLs, `BEGINLIBPATH` and `ENDLIBPATH`, . from `LIBPATH`

DLL forwarder generation
Threading
Calls to external programs
Memory allocation
Threads
  `COND_WAIT`, os2.c

BUGS

AUTHOR
SEE ALSO

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

SYNOPSIS
DESCRIPTION

Tools
Unpacking Perl distribution on OS/390
Setup and utilities for Perl on OS/390
Configure Perl on OS/390
Build, Test, Install Perl on OS/390
Build Anomalies with Perl on OS/390
Testing Anomalies with Perl on OS/390
Installation Anomalies with Perl on OS/390
Usage Hints for Perl on OS/390
Floating Point Anomalies with Perl on OS/390
Modules and Extensions for Perl on OS/390

AUTHORS
SEE ALSO

Mailing list for Perl on OS/390

HISTORY

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

DESCRIPTION

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

AUTHORS

## perlplan9 - Plan 9-specific documentation for Perl

DESCRIPTION

Invoking Perl
What's in Plan 9 Perl
What's not in Plan 9 Perl
Perl5 Functions not currently supported in Plan 9 Perl
Signals in Plan 9 Perl

COMPILING AND INSTALLING PERL ON PLAN 9

Installing Perl Documentation on Plan 9

BUGS
Revision date
AUTHOR

## perlqnx, README.qnx - Perl version 5 on QNX

DESCRIPTION

Required Software for Compiling Perl on QNX4
  /bin/sh, ar, nm, cpp, make

Outstanding Issues with Perl on QNX4
QNX auxiliary files
  qnx/ar, qnx/cpp

Outstanding issues with perl under QNX6

AUTHOR

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

DESCRIPTION

Solaris Version Numbers.

RESOURCES
  Solaris FAQ, Precompiled Binaries, Solaris Documentation

SETTING UP

File Extraction Problems on Solaris.
Compiler and Related Tools on Solaris.
Environment for Compiling perl on Solaris

RUN CONFIGURE.

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

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

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

DESCRIPTION

Compiling Perl 5 on Tru64
Using Large Files with Perl on Tru64
Threaded Perl on Tru64
Long Doubles on Tru64
DB_File tests failing on Tru64
- -bit Perl on Tru64
Warnings about floating-point overflow when compiling Perl on Tru64

Testing Perl on Tru64
ext/ODBM_File/odbm Test Failing With Static Builds
Perl Fails Because Of Unresolved Symbol sockatmark
AUTHOR

## perluts - Perl under UTS

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

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

SYNOPSIS
DESCRIPTION

Unpacking Perl Distribution on VM/ESA
Setup Perl and utilities on VM/ESA
Configure Perl on VM/ESA
Testing Anomalies of Perl on VM/ESA
Usage Hints for Perl on VM/ESA

AUTHORS
SEE ALSO

Mailing list for Perl on VM/ESA

## perlvms - VMS-specific documentation for Perl

DESCRIPTION
Installation
Organization of Perl Images

Core Images
Perl Extensions
Installing static extensions
Installing dynamic extensions

File specifications

Syntax
Wildcard expansion
Pipes

PERL5LIB and PERLLIB
Command line

I/O redirection and backgrounding
Command line switches
  -i, -S, -u

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

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

Standard modules with VMS-specific differences

SDBM_File

Revision date
AUTHOR

## perlvos, README.vos - Perl for Stratus VOS

SYNOPSIS

Multiple methods to build perl for VOS
Stratus POSIX Support

INSTALLING PERL IN VOS

Compiling Perl 5 on VOS
Installing Perl 5 on VOS

USING PERL IN VOS

Unimplemented Features of Perl on VOS
Restrictions of Perl on VOS
Handling of underflow and overflow

TEST STATUS
SUPPORT STATUS
AUTHOR
LAST UPDATE

## perlwin32 - Perl under Windows

SYNOPSIS
DESCRIPTION

Setting Up Perl on Win32
  Make, Command Shell, Borland C++, Microsoft Visual C++, Microsoft Platform SDK 64-bit Compiler, MinGW32 with gcc, MinGW release 1

Building
Testing Perl on Win32
Installation of Perl on Win32
Usage Hints for Perl on Win32
  Environment Variables, File Globbing, Using perl from the command line, Building Extensions, Command-line Wildcard Expansion, Win32 Specific Extensions, Notes on 64-bit Windows

Running Perl Scripts
  Miscellaneous Things

BUGS AND CAVEATS
ACKNOWLEDGEMENTS
AUTHORS
  Gary Ng <71564.1743@CompuServe.COM>, Gurusamy Sarathy <gsar@activestate.com>, Nick Ing-Simmons <nick@ing-simmons.net>

SEE ALSO
HISTORY

# PRAGMA DOCUMENTATION

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

SYNOPSIS
DESCRIPTION
  method, locked

## re - Perl pragma to alter regular expression behaviour

SYNOPSIS
DESCRIPTION

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

SYNOPSIS
DESCRIPTION
EXPORT
FUNCTIONS
  share VARIABLE, lock VARIABLE, cond_wait VARIABLE, cond_wait CONDVAR, LOCKVAR, cond_timedwait VARIABLE, ABS_TIMEOUT, cond_timedwait CONDVAR, ABS_TIMEOUT, LOCKVAR, cond_signal VARIABLE, cond_broadcast VARIABLE

NOTES
BUGS
AUTHOR
SEE ALSO

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

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

WARNINGS
  A thread exited while %d other threads were still running

TODO
BUGS
  Parent-Child threads, 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
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
CAVEAT

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

HISTORY
SEE ALSO

## fields - compile-time class fields

SYNOPSIS
DESCRIPTION
  new, phash

SEE ALSO

## filetest - Perl pragma to control the filetest permission operators

SYNOPSIS
DESCRIPTION

subpragma access

## if - `use` a Perl module if a condition holds

SYNOPSIS
DESCRIPTION
BUGS
AUTHOR

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

SYNOPSIS
DESCRIPTION

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

SYNOPSIS
DESCRIPTION

## lib - manipulate @INC at compile time

SYNOPSIS
DESCRIPTION

Adding directories to @INC
Deleting directories from @INC
Restoring original @INC

CAVEATS
NOTES
SEE ALSO
AUTHOR

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

SYNOPSIS
DESCRIPTION

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

SYNOPSIS
DESCRIPTION
NONPERLIO FUNCTIONALITY
IMPLEMENTATION DETAILS
SEE ALSO

## ops - Perl pragma to restrict unsafe operations when compiling

SYNOPSIS
DESCRIPTION
SEE ALSO

## overload - Package for overloading perl operations

SYNOPSIS
DESCRIPTION

Declaration of overloaded functions
Calling Conventions for Binary Operations
  FALSE, TRUE, `undef`

Calling Conventions for Unary Operations
Calling Conventions for Mutators
  `++` and `--`, `x=` and other assignment versions

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

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

SPECIAL SYMBOLS FOR `use overload`

Last Resort
Fallback
  `undef`, TRUE, defined, but FALSE

Copy Constructor
  Example

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

Losing overloading
Run-time Overloading
Public functions
  overload::StrVal(arg), overload::Overloaded(arg), overload::Method(obj,op)

Overloading constants
  integer, float, binary, q, qr

IMPLEMENTATION
Metaphor clash
Cookbook

Two-face scalars
Two-face references
Symbolic calculator
Really symbolic calculator

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

BUGS

## sigtrap - Perl pragma to enable simple signal handling

SYNOPSIS
DESCRIPTION
OPTIONS

SIGNAL HANDLERS
  stack-trace, die, handler your-handler

SIGNAL LISTS
  normal-signals, error-signals, old-interface-signals

OTHER
  untrapped, any, signal, number

EXAMPLES

## sort - perl pragma to control `sort()` behaviour

SYNOPSIS
DESCRIPTION
CAVEATS

## strict - Perl pragma to restrict unsafe constructs

SYNOPSIS
DESCRIPTION
  `strict refs`, `strict vars`, `strict subs`

HISTORY

## subs - Perl pragma to predeclare sub names

SYNOPSIS
DESCRIPTION

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

SYNOPSIS
DESCRIPTION
EXPORT
FUNCTIONS
  share VARIABLE, lock VARIABLE, cond_wait VARIABLE, cond_wait CONDVAR, LOCKVAR, cond_timedwait VARIABLE, ABS_TIMEOUT, cond_timedwait CONDVAR, ABS_TIMEOUT, LOCKVAR, cond_signal VARIABLE, cond_broadcast VARIABLE

NOTES
BUGS
AUTHOR
SEE ALSO

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

SYNOPSIS
DESCRIPTION

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

BUGS
SEE ALSO

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

SYNOPSIS
DESCRIPTION

## vmsish - Perl pragma to control VMS-specific language features

SYNOPSIS
DESCRIPTION
  `vmsish status`, `vmsish exit`, `vmsish time`, `vmsish hushed`

## warnings - Perl pragma to control optional warnings

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

## warnings::register - warnings import function

SYNOPSIS
DESCRIPTION

# MODULE DOCUMENTATION

## AnyDBM_File - provide framework for multiple DBMs

SYNOPSIS
DESCRIPTION

DBM Comparisons
  [0], [1], [2], [3]

SEE ALSO

## Attribute::Handlers - Simpler definition of attribute handlers

VERSION
SYNOPSIS
DESCRIPTION
  [0], [1], [2], [3], [4], [5]

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

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

AUTHOR
BUGS
COPYRIGHT

## AutoLoader - load subroutines only on demand

SYNOPSIS
DESCRIPTION

Subroutine Stubs
Using AutoLoader's AUTOLOAD Subroutine
Overriding AutoLoader's AUTOLOAD Subroutine
Package Lexicals
Not Using AutoLoader
AutoLoader vs. SelfLoader

CAVEATS
SEE ALSO

## AutoSplit - split a package for autoloading

SYNOPSIS
DESCRIPTION
  $keep, $check, $modtime

Multiple packages

DIAGNOSTICS

## B - The Perl Compiler

SYNOPSIS
DESCRIPTION
OVERVIEW
Utility Functions

Functions Returning `B::SV`, `B::AV`, `B::HV`, and `B::CV` objects
  sv_undef, sv_yes, sv_no, svref_2object(SVREF), amagic_generation, init_av, check_av, begin_av, end_av, comppadlist, regex_padav, main_cv

Functions for Examining the Symbol Table
  walksymtable(SYMREF, METHOD, RECURSE, PREFIX)

Functions Returning `B::OP` objects or for walking op trees
  main_root, main_start, walkoptree(OP, METHOD), `walkoptree_debug(DEBUG)`

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

OVERVIEW OF CLASSES

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, OUTSIDE, 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, seq, flags, private

B::UNOP METHOD
  first

B::BINOP METHOD
  last

B::LOGOP METHOD
  other

B::LISTOP METHOD
  children

B::PMOP Methods
  pmreplroot, pmreplstart, pmnext, pmregexp, pmflags, pmdynflags, pmpermflags, precomp, pmoffset

B::SVOP METHOD
  sv, gv

B::PADOP METHOD
  padix

B::PVOP METHOD
  pv

B::LOOP Methods
  redoop, nextop, lastop

B::COP Methods
  label, stash, stashpv, file, cop_seq, arybase, line, warnings, io

AUTHOR

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

SYNOPSIS
DESCRIPTION
  %insn_data, @insn_name, @optype, @specialsv_name

AUTHOR

## B::Assembler - Assemble Perl bytecode

SYNOPSIS
DESCRIPTION
AUTHORS

## B::Bblock - Walk basic blocks

SYNOPSIS
DESCRIPTION

Functions
  find_leaders

AUTHOR

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

SYNOPSIS
DESCRIPTION
EXAMPLE
OPTIONS
  -b, -H, -k, -o outfile, -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
  -basic, -exec, -tree, -compact, -loose, -vt, -ascii, -main, -base n, -bigendian, -littleendian, -concise, -terse, -linenoise, -debug, -env

FORMATTING SPECIFICATIONS
  (x(exec_text;basic_text)x), (*(text)*), (*(text1;text2)*), (?(text1#var Text2)?), #var, #var N, ~, #addr, #arg, #class, #classsym, #coplabel, #exname, #extarg, #firstaddr, #flags, #flagval, #hyphseq, #label, #lastaddr, #name, #NAME, #next, #nextaddr, #noise, #private, #privval, #seq, #seqnum, #sibaddr, #svaddr, #svclass, #svval, #targ, #targarg, #targarglife, #typenum

ABBREVIATIONS

OP flags abbreviations
OP class abbreviations

Using B::Concise outside of the O framework

example: Altering Concise Output
`set_style()`
`add_style()`
`set_style_standard($name)`
`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, -f FILE, -l, -p, -P, -q, -s LETTERS, C, i NUMBER, T, v STRING., -x LEVEL

USING B::Deparse AS A MODULE

Synopsis
Description
new
ambient_pragmas
  strict, $[, bytes, utf8, integer, re, warnings, hint_bits, warning_bits

coderef2text

BUGS
AUTHOR

## B::Disassembler - Disassemble Perl bytecode

SYNOPSIS
DESCRIPTION
AUTHOR

## B::Lint - Perl lint

SYNOPSIS
DESCRIPTION
OPTIONS AND LINT CHECKS
  context, implicit-read and implicit-write, bare-subs, dollar-underscore, private-names, undefined-subs, regexp-variables, all, none

NON LINT-CHECK OPTIONS
  -u Package

BUGS
AUTHOR

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

SYNOPSIS
DESCRIPTION
CONVENTIONS
IMPLEMENTATION
BUGS
AUTHOR

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

SYNOPSIS
DESCRIPTION
AUTHOR

## B::Stackobj - Helper module for CC backend

SYNOPSIS
DESCRIPTION
AUTHOR

## B::Stash - show what stashes are loaded

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

SYNOPSIS
DESCRIPTION
AUTHOR

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

SYNOPSIS
DESCRIPTION
OPTIONS
  `-oFILENAME`, `-r`, `-d`, `-D[tO]`

BUGS
AUTHOR

## Bblock, B::Bblock - Walk basic blocks

SYNOPSIS
DESCRIPTION

Functions
  find_leaders

AUTHOR

## Benchmark - benchmark running times of Perl code

SYNOPSIS
DESCRIPTION

Methods
  new, debug, iters

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

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

:hireswallclock

NOTES
EXAMPLES
INHERITANCE
CAVEATS
SEE ALSO
AUTHORS
MODIFICATION HISTORY

## ByteLoader - load byte compiled perl code

SYNOPSIS
DESCRIPTION
AUTHOR
SEE ALSO

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

SYNOPSIS
DESCRIPTION
EXAMPLE
OPTIONS
  -b, -H, -k, -o outfile, -s

KNOWN BUGS
NOTICE
AUTHORS

## CGI - Simple Common Gateway Interface Class

SYNOPSIS
ABSTRACT
DESCRIPTION

PROGRAMMING STYLE
CALLING CGI.PM ROUTINES
CREATING A NEW QUERY OBJECT (OBJECT-ORIENTED STYLE):
CREATING A NEW QUERY OBJECT FROM AN INPUT FILE
FETCHING A LIST OF KEYWORDS FROM THE QUERY:
FETCHING THE NAMES OF ALL THE PARAMETERS PASSED TO YOUR SCRIPT:
FETCHING THE VALUE OR VALUES OF A SINGLE NAMED PARAMETER:
SETTING THE `VALUE(S)` OF A NAMED PARAMETER:
APPENDING ADDITIONAL VALUES TO A NAMED PARAMETER:
IMPORTING ALL PARAMETERS INTO A NAMESPACE:
DELETING A PARAMETER COMPLETELY:
DELETING ALL PARAMETERS:
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, -no_undef_params, -no_xhtml, -nph, -newstyle_urls, -oldstyle_urls, -autoload, -no_debug, -debug, -private_tempfiles

SPECIAL FORMS FOR IMPORTING HTML-TAG FUNCTIONS
  1. `start_table()` (generates a <table> tag), 2. `end_table()` (generates a </table> tag), 3. `start_ul()` (generates a <ul> tag), 4. `end_ul()` (generates a </ul> tag)

GENERATING DYNAMIC DOCUMENTS

CREATING A STANDARD HTTP HEADER:
GENERATING A REDIRECTION HEADER
CREATING THE HTML DOCUMENT HEADER
  Parameters:, 4, 5, 6..

ENDING THE HTML DOCUMENT:
CREATING A SELF-REFERENCING URL THAT PRESERVES STATE INFORMATION:
OBTAINING THE SCRIPT'S URL
  -absolute, -relative, -full, -path (-path_info), -query (-query_string), -base

MIXING POST AND URL PARAMETERS

CREATING STANDARD HTML ELEMENTS:

PROVIDING ARGUMENTS TO HTML SHORTCUTS
THE DISTRIBUTIVE PROPERTY OF HTML SHORTCUTS
HTML SHORTCUTS AND LIST INTERPOLATION
NON-STANDARD HTML SHORTCUTS
AUTOESCAPING HTML
  $escaped_string = escapeHTML(``unescaped string'');, $charset = charset([$charset]);, $flag = autoEscape([$flag]);

PRETTY-PRINTING HTML

CREATING FILL-OUT FORMS:

CREATING AN ISINDEX TAG
STARTING AND ENDING A FORM
  application/x-www-form-urlencoded, multipart/form-data

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 <Frameset> document, 2. Specify the destination for the document in the HTTP header, 3. Specify the destination for the document in the <form> tag

LIMITED SUPPORT FOR CASCADING STYLE SHEETS
DEBUGGING

DUMPING OUT ALL THE NAME/VALUE PAIRS

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

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

Server Push
  multipart_init(), multipart_start(), multipart_end(), `multipart_final()`

Avoiding Denial of Service Attacks
  $CGI::POST_MAX, $CGI::DISABLE_UPLOADS, 1. On a script-by-script basis, 2. Globally for all scripts

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

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

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

SYNOPSIS
ABSTRACT
DESCRIPTION
AUTHOR INFORMATION
BUGS
SEE ALSO

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

SYNOPSIS
DESCRIPTION
REDIRECTING ERROR MESSAGES
MAKING PERL ERRORS APPEAR IN THE BROWSER WINDOW

Changing the default message

MAKING WARNINGS APPEAR AS HTML COMMENTS
OVERRIDING THE NAME OF THE PROGRAM
AUTHORS
SEE ALSO

## CGI::Cookie - Interface to Netscape Cookies

SYNOPSIS
DESCRIPTION
USING CGI::Cookie
  1. expiration date, 2. domain, 3. path, 4. secure flag

Creating New Cookies
Sending the Cookie to the Browser
Recovering Previous Cookies
Manipulating Cookies
  name(), value(), domain(), path(), expires()

AUTHOR INFORMATION
BUGS
SEE ALSO

## CGI::Fast - CGI Interface for Fast CGI

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

CAVEATS
AUTHOR INFORMATION
BUGS
SEE ALSO

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

SYNOPSIS
DESCRIPTION

Tags that won't be formatted
Customizing the Indenting

BUGS
AUTHOR
SEE ALSO

## CGI::Push - Simple Interface to Server Push

SYNOPSIS
DESCRIPTION
USING CGI::Push
  -next_page, -last_page, -type, -delay, -cookie, -target, -expires, -nph

Heterogeneous Pages
Changing the Page Delay on the Fly

INSTALLING CGI::Push SCRIPTS
AUTHOR INFORMATION
BUGS
SEE ALSO

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

SYNOPSIS
ABSTRACT
DESCRIPTION
AUTHOR INFORMATION
BUGS
SEE ALSO

## CGI::Util - Internal utilities used by CGI module

SYNOPSIS
DESCRIPTION
AUTHOR INFORMATION
SEE ALSO

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

SYNOPSIS
STATUS
DESCRIPTION

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

CPAN::Shell
autobundle
recompile
The four `CPAN::*` Classes: Author, Bundle, Module, Distribution
Programmer's interface
  expand($type,@things), expandany(@things), Programming Examples

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

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

CONFIGURATION
  `o conf <scalar option>`, `o conf <scalar option> E<lt>valueE<gt>`, `o conf <list option>`, `o conf <list optionE<gt> [shift|pop]`, `o conf <list option> [unshift|push|splice] E<lt>listE<gt>`

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 - heavy machinery, no user serviceable parts inside

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

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

CAUTIONARY NOTES
COPYRIGHT
AUTHOR

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

SYNOPSIS
DESCRIPTION

The `struct()` function
Class Creation at Compile Time
Element Types and Accessor Methods
  Scalar (`'$'` or `'*$'`), Array (`'@'` or `'*@'`), Hash (`'%'` or `'*%'`), Class (`'Class_Name'` or `'*Class_Name'`)

Initializing with `new`

EXAMPLES
  Example 1, Example 2, Example 3

Author and Modification History

## Config - access Perl configuration information

SYNOPSIS
DESCRIPTION
  myconfig(), config_sh(), config_re($regex), `config_vars(@names)`

EXAMPLE
WARNING
GLOSSARY

_
  `_a`, `_exe`, `_o`

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

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

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

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

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

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

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

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

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

k
  `known_extensions`, `ksh`

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

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

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

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

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

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

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

q
  `quadkind`, `quadtype`

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

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

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

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

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

x
  `xlibpth`

y
  `yacc`, `yaccflags`

z
  `zcat`, `zip`

NOTE

## Cwd - get pathname of current working directory

SYNOPSIS
DESCRIPTION

getcwd and friends
  getcwd, cwd, fastcwd, fastgetcwd

abs_path and friends
  abs_path, realpath, fast_abs_path

$ENV{PWD}

NOTES
AUTHOR
SEE ALSO

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

SYNOPSIS
DESCRIPTION

Global Variables

       $DB::sub,  %DB::sub,  $DB::single,  $DB::signal,  $DB::trace,  @DB::args,
      @DB::dbline,  %DB::dbline,  $DB::package,  $DB::filename,  $DB::subname,
      $DB::lineno

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

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

BUGS
AUTHOR

## DBM_Filter -- Filter DBM keys/values

SYNOPSIS
DESCRIPTION
What is a DBM Filter?

So what's new?

METHODS

$db->`Filter_Push()`
$db->`Filter_Key_Push()`
$db->`Filter_Value_Push()`
  Filter_Push, Filter_Key_Push, Filter_Value_Push

$db->`Filter_Pop()`
$db->`Filtered()`

Writing a Filter

Immediate Filters
Canned Filters
  ``name'', params

Filters Included
  utf8, encode, compress, int32, null

NOTES

Maintain Round Trip Integrity
Don't mix filtered & non-filtered data in the same database file.

EXAMPLE
SEE ALSO
AUTHOR

## DB_File - Perl5 access to Berkeley DB version 1.x

SYNOPSIS
DESCRIPTION
  DB_HASH, DB_BTREE, DB_RECNO

Using DB_File with Berkeley DB version 2 or greater
Interface to Berkeley DB
Opening a Berkeley DB Database File
Default Parameters
In Memory Databases

DB_HASH

A Simple Example

DB_BTREE

Changing the BTREE sort order
Handling Duplicate Keys
The `get_dup()` Method
The `find_dup()` Method
The `del_dup()` Method
Matching Partial Keys

DB_RECNO

The 'bval' Option
A Simple Example
Extra RECNO Methods
  $X->push(list) ;, $value = $X->pop ;, $X->shift, $X->unshift(list) ;, $X->length, $X->splice(offset, length, elements);

Another Example

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

DBM FILTERS
  filter_store_key, filter_store_value, filter_fetch_key, filter_fetch_value

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

HINTS AND TIPS

Locking: The Trouble with fd
Safe ways to lock a database
  Tie::DB_Lock, Tie::DB_LockFile, DB_File::Lock

Sharing Databases With C Applications
The `untie()` Gotcha

COMMON QUESTIONS

Why is there Perl source in my database?
How do I store complex data structures with DB_File?
What does ``Invalid Argument'' mean?
What does ``Bareword 'DB_File' not allowed'' mean?

REFERENCES
HISTORY
BUGS
AVAILABILITY
COPYRIGHT
SEE ALSO
AUTHOR

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

SYNOPSIS
DESCRIPTION

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

Functions
  Dumper(LIST)

Configuration Variables or Methods
Exports
  Dumper

EXAMPLES
BUGS

NOTE

AUTHOR
VERSION
SEE ALSO

## Devel::DProf - a Perl code profiler

SYNOPSIS
DESCRIPTION
PROFILE FORMAT
AUTOLOAD
ENVIRONMENT
BUGS
SEE ALSO

## Devel::PPPort - Perl/Pollution/Portability

SYNOPSIS
DESCRIPTION

WriteFile

ppport.h
AUTHOR
SEE ALSO

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

SYNOPSIS
DESCRIPTION

Runtime debugging
Memory footprint debugging

EXAMPLES

A simple scalar string
A simple scalar number
A simple scalar with an extra reference
A reference to a simple scalar
A reference to an array
A reference to a hash
Dumping a large array or hash
A reference to an SV which holds a C pointer
A reference to a subroutine

EXPORTS
BUGS
AUTHOR
SEE ALSO

## Devel::SelfStubber - generate stubs for a SelfLoading module

SYNOPSIS
DESCRIPTION

## Digest - Modules that calculate message digests

SYNOPSIS
DESCRIPTION
  binary, hex, base64

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

Digest speed
SEE ALSO
AUTHOR

## Digest::MD5 - Perl interface to the MD5 Algorithm

SYNOPSIS
DESCRIPTION
FUNCTIONS
  md5($data,...), md5_hex($data,...), `md5_base64($data,...)`

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

EXAMPLES
SEE ALSO
COPYRIGHT
AUTHORS

## Digest::base - Digest base class

SYNPOSIS
DESCRIPTION
SEE ALSO

## DirHandle - supply object methods for directory handles

SYNOPSIS
DESCRIPTION
NOTES

## Dumpvalue - provides screen dump of Perl data.

SYNOPSIS
DESCRIPTION

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

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

## DynaLoader - Dynamically load C libraries into Perl code

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

AUTHOR

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

SYNOPSIS
DESCRIPTION

Migration from `DynaLoader`
Backward compatible boilerplate

Order of initialization: early `load()`

The most hairy case

LIMITATIONS
AUTHOR

## Encode - character encodings

SYNOPSIS

Table of Contents

DESCRIPTION

TERMINOLOGY

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

Listing available encodings
Defining Aliases

Encoding via PerlIO
Handling Malformed Data
  CHECK = Encode::FB_DEFAULT ( == 0), CHECK = Encode::FB_CROAK ( == 1), CHECK = Encode::FB_QUIET, CHECK = Encode::FB_WARN, perlqq mode (CHECK = Encode::FB_PERLQQ), HTML charref mode (CHECK = Encode::FB_HTMLCREF), XML charref mode (CHECK = Encode::FB_XMLCREF), The bitmask

Unimplemented fallback schemes

Defining Encodings
The UTF-8 flag
  Goal #1:, Goal #2:, Goal #3:, Goal #4:

Messing with Perl's Internals
  is_utf8(STRING [, CHECK]), _utf8_on(STRING), `_utf8_off(STRING)`

SEE ALSO
MAINTAINER

## Encode::Alias - alias definitions to encodings

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

Alias overloading

SEE ALSO

## Encode::Byte - Single Byte Encodings

SYNOPSIS
ABSTRACT
DESCRIPTION
SEE ALSO

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

## Encode::CN - China-based Chinese Encodings

SYNOPSIS
DESCRIPTION
NOTES
BUGS
SEE ALSO

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

## Encode::Config -- internally used by Encode

## Encode::EBCDIC - EBCDIC Encodings

SYNOPSIS
ABSTRACT
DESCRIPTION
SEE ALSO

## Encode::Encoding - Encode Implementation Base Class

SYNOPSIS
DESCRIPTION

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

Other methods defined in Encode::Encodings
  ->name, ->renew, ->perlio_ok(), ->`needs_lines()`

Example: Encode::ROT13

Why the heck Encode API is different?

Compiled Encodings

SEE ALSO
  Scheme 1, Scheme 2, Other Schemes

## Encode::Guess -- Guesses encoding from data

SYNOPSIS
ABSTRACT
DESCRIPTION
  Encode::Guess->set_suspects, Encode::Guess->add_suspects, Encode::decode(``Guess'' ...), Encode::Guess->guess($data), guess_encoding($data, [, list of suspects])

CAVEATS
TO DO
SEE ALSO

## Encode::JP - Japanese Encodings

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

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

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

## Encode::KR - Korean Encodings

SYNOPSIS
DESCRIPTION
BUGS
SEE ALSO

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

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

SYNOPSIS
ABSTRACT
DESCRIPTION
BUGS
SEE ALSO

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

Overview
How does it work?
Line Buffering

How can I tell whether my encoding fully supports PerlIO ?

SEE ALSO

## Encode::Supported -- Encodings supported by Encode

DESCRIPTION

Encoding Names

Supported Encodings

Built-in Encodings
Encode::Unicode -- other Unicode encodings
Encode::Byte -- Extended ASCII
  ISO-8859 and corresponding vendor mappings, KOI8 - De Facto Standard for the Cyrillic world, gsm0338 - Hentai Latin 1

CJK: Chinese, Japanese, Korean (Multibyte)
  Encode::CN -- Continental China, Encode::JP -- Japan, Encode::KR -- Korea, Encode::TW -- Taiwan, Encode::HanExtra -- More Chinese via CPAN, Encode::JIS2K -- JIS X 0213 encodings via CPAN

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

Unsupported encodings

        ISO-2022-JP-2 [RFC1554], ISO-2022-CN [RFC1922], Various HP-UX encodings,
      Cyrillic encoding ISO-IR-111, ISO-8859-8-1 [Hebrew], ISIRI 3342, Iran
      System, ISIRI 2900 [Farsi], Thai encoding TCVN, Vietnamese encodings VPS,
      Various Mac encodings, (Mac) Indic encodings

Encoding vs. Charset -- terminology
Encoding Classification (by Anton Tagunov and Dan Kogai)

Microsoft-related naming mess
  KS_C_5601-1987, GB2312, Big5, Shift_JIS

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

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

Other Notable Sites
  czyborra.com, CJK.inf, Jungshik Shin's Hangul FAQ, debian.org: ``Introduction to i18n''

Offline sources
  `CJKV Information Processing` by Ken Lunde

## Encode::Symbol - Symbol Encodings

SYNOPSIS
ABSTRACT
DESCRIPTION
SEE ALSO

## Encode::TW - Taiwan-based Chinese Encodings

SYNOPSIS
DESCRIPTION
NOTES
BUGS
SEE ALSO

## Encode::Unicode -- Various Unicode Transformation Formats

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

Size, Endianness, and BOM

by size
by endianness
  BOM as integer when fetched in network byte order

Surrogate Pairs
SEE ALSO

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

SYNOPSIS
ABSTRACT
In Practice
SEE ALSO

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

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

Alias overloading

SEE ALSO

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

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

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

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

SYNOPSIS
DESCRIPTION

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

Other methods defined in Encode::Encodings
  ->name, ->renew, ->perlio_ok(), ->`needs_lines()`

Example: Encode::ROT13

Why the heck Encode API is different?

Compiled Encodings

SEE ALSO
  Scheme 1, Scheme 2, Other Schemes

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

SYNOPSIS
ABSTRACT
DESCRIPTION
  Encode::Guess->set_suspects, Encode::Guess->add_suspects, Encode::decode(``Guess'' ...), Encode::Guess->guess($data), guess_encoding($data, [, list of suspects])

CAVEATS
TO DO
SEE ALSO

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

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

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

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

SYNOPSIS
ABSTRACT
DESCRIPTION
BUGS
SEE ALSO

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

Overview
How does it work?
Line Buffering

How can I tell whether my encoding fully supports PerlIO ?

SEE ALSO

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

DESCRIPTION

Encoding Names

Supported Encodings

Built-in Encodings
Encode::Unicode -- other Unicode encodings
Encode::Byte -- Extended ASCII
  ISO-8859 and corresponding vendor mappings, KOI8 - De Facto Standard for the Cyrillic world, gsm0338 - Hentai Latin 1

CJK: Chinese, Japanese, Korean (Multibyte)
  Encode::CN -- Continental China, Encode::JP -- Japan, Encode::KR -- Korea, Encode::TW -- Taiwan, Encode::HanExtra -- More Chinese via CPAN, Encode::JIS2K -- JIS X 0213 encodings via CPAN

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

Unsupported encodings

        ISO-2022-JP-2 [RFC1554], ISO-2022-CN [RFC1922], Various HP-UX encodings,
      Cyrillic encoding ISO-IR-111, ISO-8859-8-1 [Hebrew], ISIRI 3342, Iran
      System, ISIRI 2900 [Farsi], Thai encoding TCVN, Vietnamese encodings VPS,
      Various Mac encodings, (Mac) Indic encodings

Encoding vs. Charset -- terminology
Encoding Classification (by Anton Tagunov and Dan Kogai)

Microsoft-related naming mess
  KS_C_5601-1987, GB2312, Big5, Shift_JIS

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

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

Other Notable Sites
  czyborra.com, CJK.inf, Jungshik Shin's Hangul FAQ, debian.org: ``Introduction to i18n''

Offline sources
  `CJKV Information Processing` by Ken Lunde

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

SYNOPSIS
ABSTRACT
In Practice
SEE ALSO

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

SYNOPSIS
ABSTRACT
Description

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

Example: base64 transcoder
Operator Overloading

SEE ALSO

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

SYNOPSIS
ABSTRACT

Literal Conversions
PerlIO layers for `STD(IN|OUT)`
Implicit upgrading for byte strings

FEATURES THAT REQUIRE 5.8.1
  ``NON-EUC'' doublebyte encodings, tr//, DATA pseudo-filehandle

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

The Filter Option

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

HISTORY
SEE ALSO

## Encoder, Encode::Encoder -- Object Oriented Encoder

SYNOPSIS
ABSTRACT
Description

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

Example: base64 transcoder
Operator Overloading

SEE ALSO

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

SYNOPSIS
DESCRIPTION
PERFORMANCE

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

SYNOPSIS
DESCRIPTION
LIMITATIONS
AUTHOR

## Errno - System errno constants

SYNOPSIS
DESCRIPTION
CAVEATS
AUTHOR
COPYRIGHT

## Exporter - Implements default import method for modules

SYNOPSIS
DESCRIPTION

How to Export
Selecting What To Export
How to Import
  `use ModuleName;`, `use ModuleName ();`, `use ModuleName qw(...);`

Advanced features

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

## Exporter::Heavy - Exporter guts

SYNOPSIS
DESCRIPTION

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

SYNOPSIS
DESCRIPTION

cat

eqtime src dst

rm_rf files...

rm_f files...

touch files ..

mv source... destination

cp source... destination

chmod mode files..

mkpath directory..

test_f file

BUGS
SEE ALSO
AUTHOR

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

SYNOPSIS
DESCRIPTION
  test_harness

pod2man

warn_if_old_packlist

perllocal_install

uninstall

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

SYNOPSIS
DESCRIPTION
USAGE
  IV, UV, NV, PV, PVN, SV, YES, NO, UNDEF

FUNCTIONS

C_stringify NAME

perl_stringify NAME

constant_types

memEQ_clause NAME, CHECKED_AT, INDENT

assign INDENT, TYPE, PRE, POST, VALUE..

return_clause

switch_clause INDENT, NAMELEN, ITEMHASH, ITEM..

params WHAT

dump_names

dogfood

C_constant, name, type, value, macro, default, pre, post, def_pre =item def_post, utf8

XS_constant PACKAGE, TYPES, SUBNAME, C_SUBNAME

autoload PACKAGE, VERSION, AUTOLOADER

WriteMakefileSnippet

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

AUTHOR

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

SYNOPSIS
DESCRIPTION
@EXPORT
FUNCTIONS
  xsinit(), Examples, ldopts(), Examples, perl_inc(), ccflags(), ccdlflags(), ccopts(), xsi_header(), xsi_protos(@modules), `xsi_body(@modules)`

EXAMPLES
SEE ALSO
AUTHOR

## ExtUtils::Install - install files from here to there

SYNOPSIS
DESCRIPTION

Functions
  install

install_default DISCOURAGED

uninstall

pm_to_blib

_autosplit

ENVIRONMENT
  PERL_INSTALL_ROOT

AUTHOR
LICENSE

## ExtUtils::Installed - Inventory management of installed modules

SYNOPSIS
DESCRIPTION
USAGE
FUNCTIONS
  new(), modules(), files(), directories(), directory_tree(), validate(), packlist(), `version()`

EXAMPLE
AUTHOR

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

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

EXTRALIBS
LDLOADLIBS and LD_RUN_PATH
BSLOADLIBS

PORTABILITY

VMS implementation
Win32 implementation

SEE ALSO

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

SYNOPSIS
DESCRIPTION

## ExtUtils::MM_Any - Platform-agnostic MM methods

SYNOPSIS
DESCRIPTION
Inherently Cross-Platform Methods
  installvars

os_flavor_is

File::Spec wrappers
  catfile

Thought To Be Cross-Platform Methods
  split_command

echo

init_VERSION

wraplist

manifypods

manifypods_target

makemakerdflt_target

special_targets

POD2MAN_macro

test_via_harness

test_via_script

libscan

tool_autosplit

all_target

metafile_target

metafile_addtomanifest_target

Abstract methods
  oneliner, quote_literal, escape_newlines, max_exec_len, init_others, init_DIRFILESEP, init_linker, init_platform, platform_constants

os_flavor

AUTHOR

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

SYNOPSIS
DESCRIPTION

os_flavor (o)

init_linker

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

SYNOPSIS
DESCRIPTION
  os_flavor (o)

cflags (o)

replace_manpage_separator (o)

init_linker

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

SYNOPSIS
DESCRIPTION

Overridden methods
  os_flavor

replace_manpage_separator

AUTHOR
SEE ALSO

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

SYNOPSIS
DESCRIPTION

maybe_command

guess_name

macify

patternify

init_main

init_others

init_platform, platform_constants

init_dirscan

init_VERSION (o)

special_targets (o)

static (o)

dlsyms (o)

dynamic (o)

clean (o)

clean_subdirs_target

realclean (o)

realclean_subdirs_target

rulez (o)

processPL (o)

os_flavor

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

SYNOPSIS
DESCRIPTION

os_flavor

init_platform (o), platform_constants

const_cccmd (o)

static_lib (o)

dynamic_lib (o)

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

SYNOPSIS
DESCRIPTION
METHODS
  init_dist (o)

init_linker

os_flavor

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

SYNOPSIS
DESCRIPTION

Overridden methods
  os_flavor

replace_manpage_separator

AUTHOR
SEE ALSO

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

SYNOPSIS
DESCRIPTION
METHODS

Methods
  os_flavor (o)

c_o (o)

cflags (o)

clean (o)

clean_subdirs_target

const_cccmd (o)

const_config (o)

const_loadlibs (o)

constants (o)

depend (o)

dir_target (o)

init_DEST

init_dist

dist (o)

dist_basics (o)

dist_ci (o)

dist_core (o)

dist_target

tardist_target

zipdist_target

tarfile_target

zipfile_target

uutardist_target

shdist_target

distdir

dist_test

dlsyms (o)

dynamic (o)

dynamic_bs (o)

dynamic_lib (o)

exescan

extliblist

find_perl

find_tests

Methods to actually produce chunks of text for the Makefile
  fixin

force (o)

guess_name

has_link_code

init_dirscan

init_DIRFILESEP

init_main

init_others

init_INST

init_INSTALL

init_linker

init_lib2arch

init_PERL

init_platform (o), platform_constants (o)

init_PERM

init_xs

install (o)

installbin (o)

linkext (o)

lsdir

macro (o)

makeaperl (o)

makefile (o)

maybe_command

needs_linking (o)

nicetext

parse_abstract

parse_version

pasthru (o)

perl_script

perldepend (o)

perm_rw (o)

perm_rwx (o)

pm_to_blib

post_constants (o)

post_initialize (o)

postamble (o)

ppd

prefixify

processPL (o)

quote_paren

realclean (o)

realclean_subdirs_target

replace_manpage_separator

oneliner (o)

quote_literal

escape_newlines

max_exec_len

static (o)

static_lib (o)

staticmake (o)

subdir_x (o)

subdirs (o)

test (o)

test_via_harness (override)

test_via_script (override)

tools_other (o)

tool_xsubpp (o)

all_target

top_targets (o)

writedoc

xs_c (o)

xs_cpp (o)

xs_o (o)

SEE ALSO

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

SYNOPSIS
DESCRIPTION

Methods always loaded
  wraplist

Methods
  guess_name (override)

find_perl (override)

maybe_command (override)

perl_script (override)

replace_manpage_separator

init_DEST

init_DIRFILESEP

init_main (override)

init_others (override)

init_platform (override)

platform_constants

init_VERSION (override)

constants (override)

special_targets

cflags (override)

const_cccmd (override)

tool_sxubpp (override)

tools_other (override)

init_dist (override)

c_o (override)

xs_c (override)

xs_o (override)

dlsyms (override)

dynamic_lib (override)

dynamic_bs (override)

static_lib (override)

processPL (override)

installbin (override)

subdir_x (override)

clean (override)

clean_subdirs_target

realclean (override)

zipfile_target (o), tarfile_target (o), shdist_target (o)

dist_test (override)

install (override)

perldepend (override)

makefile (override)

find_tests (override)

test (override)

makeaperl (override)

nicetext (override)

prefixify (override)

oneliner (o)

echo (o)

quote_literal

escape_newlines

max_exec_len

init_linker (o)

eliminate_macros

fixpath

os_flavor

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

SYNOPSIS
DESCRIPTION

Overridden methods
  dlsyms

replace_manpage_separator

maybe_command

find_tests

init_DIRFILESEP

init_others

init_platform (o), platform_constants (o)

special_targets (o)

static_lib (o)

dynamic_lib (o)

clean

init_linker

perl_script

xs_o (o)

pasthru (o)

oneliner (o)

max_exec_len

os_flavor

## ExtUtils::MM_Win95 - method to customize MakeMaker for Win9X

SYNOPSIS
DESCRIPTION

Overriden methods
  dist_test

subdir_x

xs_c

xs_cpp

xs_o

clean_subdirs_target

realclean_subdirs_target

os_flavor

AUTHOR

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

SYNOPSIS
DESCRIPTION

## ExtUtils::MakeMaker - Create a module Makefile

SYNOPSIS
DESCRIPTION

How To Write A Makefile.PL
Default Makefile Behaviour
make test
make testdb
make install
PREFIX and LIB attribute
AFS users
Static Linking of a new Perl Binary
Determination of Perl Library and Installation Locations
Which architecture dependent directory?
Using Attributes and Parameters
  ABSTRACT, ABSTRACT_FROM, AUTHOR, BINARY_LOCATION, C, CCFLAGS, CONFIG, CONFIGURE, DEFINE, DESTDIR, DIR, DISTNAME, DISTVNAME, DL_FUNCS, DL_VARS, EXCLUDE_EXT, EXE_FILES, FIRST_MAKEFILE, FULLPERL, FULLPERLRUN, FULLPERLRUNINST, FUNCLIST, H, IMPORTS, INC, INCLUDE_EXT, INSTALLARCHLIB, INSTALLBIN, INSTALLDIRS, INSTALLMAN1DIR, INSTALLMAN3DIR, INSTALLPRIVLIB, INSTALLSCRIPT, INSTALLSITEARCH, INSTALLSITEBIN, INSTALLSITELIB, INSTALLSITEMAN1DIR, INSTALLSITEMAN3DIR, INSTALLVENDORARCH, INSTALLVENDORBIN, INSTALLVENDORLIB, INSTALLVENDORMAN1DIR, INSTALLVENDORMAN3DIR, INST_ARCHLIB, INST_BIN, INST_LIB, INST_MAN1DIR, INST_MAN3DIR, INST_SCRIPT, LD, LDDLFLAGS, LDFROM, LIB, LIBPERL_A, LIBS, LINKTYPE, MAKEAPERL, MAKEFILE_OLD, MAN1PODS, MAN3PODS, MAP_TARGET, MYEXTLIB, NAME, NEEDS_LINKING, NOECHO, NORECURS, NO_META, NO_VC, OBJECT, OPTIMIZE, PERL, PERL_CORE, PERLMAINCC, PERL_ARCHLIB, PERL_LIB, PERL_MALLOC_OK, PERLPREFIX, PERLRUN, PERLRUNINST, PERL_SRC, PERM_RW, PERM_RWX, PL_FILES, PM, PMLIBDIRS, PM_FILTER, POLLUTE, PPM_INSTALL_EXEC, PPM_INSTALL_SCRIPT, PREFIX, PREREQ_FATAL, PREREQ_PM, PREREQ_PRINT, PRINT_PREREQ, SITEPREFIX, SKIP, TYPEMAPS, VENDORPREFIX, VERBINST, VERSION, VERSION_FROM, VERSION_SYM, XS, XSOPT, XSPROTOARG, XS_VERSION

Additional lowercase attributes
  clean, depend, dist, dynamic_lib, linkext, macro, postamble, realclean, test, tool_autosplit

Overriding MakeMaker Methods
The End Of Cargo Cult Programming
  `<MAN3PODS =` ' '>>

Hintsfile support
Distribution Support

         make distcheck,    make skipcheck,    make distclean,    make manifest,
        make distdir,   make disttest,    make tardist,    make dist,    make
      uutardist,    make shdist,    make zipdist,    make ci

Module Meta-Data
Disabling an extension
Other Handy Functions
  prompt

ENVIRONMENT
  PERL_MM_OPT, PERL_MM_USE_DEFAULT

SEE ALSO
AUTHORS
LICENSE

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

DESCRIPTION

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

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

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

PATCHING
AUTHOR
SEE ALSO

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

SYNOPSIS
DESCRIPTION

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

SEE ALSO

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

SYNOPSIS
DESCRIPTION

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

SYNOPSIS
DESCRIPTION

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

SYNOPSIS
DESCRIPTION

Functions
  mkmanifest

manifind

manicheck

filecheck

fullcheck

skipcheck

maniread

manicopy

maniadd

MANIFEST
MANIFEST.SKIP
EXPORT_OK
GLOBAL VARIABLES

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

ENVIRONMENT
  PERL_MM_MANIFEST_DEBUG

SEE ALSO
AUTHOR

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

SYNOPSIS
DESCRIPTION
SEE ALSO

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

SYNOPSIS
DESCRIPTION

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

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

AUTHOR
REVISION

## ExtUtils::Packlist - manage .packlist files

SYNOPSIS
DESCRIPTION
USAGE
FUNCTIONS
  new(), read(), write(), validate(), `packlist_file()`

EXAMPLE
AUTHOR

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

SYNOPSIS
DESCRIPTION

## Fatal - replace functions with equivalents which succeed or die

SYNOPSIS
DESCRIPTION
AUTHOR

## Fcntl - load the C Fcntl.h defines

SYNOPSIS
DESCRIPTION
NOTE
EXPORTED SYMBOLS

## File::Basename, fileparse - split a pathname into pieces

SYNOPSIS
DESCRIPTION
  fileparse_set_fstype, fileparse

EXAMPLES
  `basename`, `dirname`

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

SYNOPSIS
DESCRIPTION
AUTHOR
HISTORY

## File::Compare - Compare files or filehandles

SYNOPSIS
DESCRIPTION
RETURN
AUTHOR

## File::Copy - Copy files or filehandles

SYNOPSIS
DESCRIPTION

Special behaviour if `syscopy` is defined (OS/2, VMS and Win32)
  `rmscopy($from,$to[,$date_flag])`

RETURN
NOTES
AUTHOR

## File::DosGlob - DOS like globbing and then some

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

## File::Find - Traverse a directory tree.

SYNOPSIS
DESCRIPTION
  find, finddepth

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

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

WARNINGS
CAVEAT
  $dont_use_nlink, symlinks

NOTES
BUGS AND CAVEATS
HISTORY

## File::Glob - Perl extension for BSD glob routine

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

DIAGNOSTICS
  `GLOB_NOSPACE`, `GLOB_ABEND`

NOTES
AUTHOR

## File::Path - create or remove directory trees

SYNOPSIS
DESCRIPTION
DIAGNOSTICS
AUTHORS

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

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

SEE ALSO
AUTHORS

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

SYNOPSIS
DESCRIPTION

canonpath

file_name_is_absolute

tmpdir (override)

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

SYNOPSIS
DESCRIPTION
AUTHORS

`canonpath()`

SEE ALSO

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

SYNOPSIS
DESCRIPTION

Exports

SEE ALSO

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

SYNOPSIS
DESCRIPTION
METHODS
  canonpath

`catdir()`

catfile

curdir

devnull

rootdir

tmpdir

updir

file_name_is_absolute

path

splitpath

splitdir

catpath

abs2rel

rel2abs

AUTHORS
SEE ALSO

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

SYNOPSIS
DESCRIPTION
  tmpdir, splitpath

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

SYNOPSIS
DESCRIPTION
METHODS
  `canonpath()`

`catdir()`

catfile

curdir

devnull

rootdir

tmpdir

updir

no_upwards

case_tolerant

file_name_is_absolute

path

join

splitpath

splitdir

`catpath()`

abs2rel

`rel2abs()`

SEE ALSO

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

SYNOPSIS
DESCRIPTION
  eliminate_macros

fixpath

Methods always loaded
  canonpath (override)

catdir

catfile

curdir (override)

devnull (override)

rootdir (override)

tmpdir (override)

updir (override)

case_tolerant (override)

path (override)

file_name_is_absolute (override)

splitpath (override)

splitdir (override)

catpath (override)

abs2rel (override)

rel2abs (override)

SEE ALSO

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

SYNOPSIS
DESCRIPTION
  devnull

tmpdir

catfile

canonpath

splitpath

splitdir

catpath

Note For File::Spec::Win32 Maintainers

SEE ALSO

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

PORTABILITY
SYNOPSIS
DESCRIPTION

OO INTERFACE
  new

filename

DESTROY

FUNCTIONS
  tempfile

tempdir

MKTEMP FUNCTIONS
  mkstemp

mkstemps

mkdtemp

mktemp

POSIX FUNCTIONS
  tmpnam

tmpfile

ADDITIONAL FUNCTIONS
  tempnam

UTILITY FUNCTIONS
  unlink0

cmpstat

unlink1

PACKAGE VARIABLES
  safe_level, STANDARD, MEDIUM, HIGH

TopSystemUID

WARNING

Temporary files and NFS

HISTORY
SEE ALSO
AUTHOR

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

SYNOPSIS
DESCRIPTION
BUGS
NOTE
AUTHOR

## FileCache - keep more files open than the system permits

SYNOPSIS
DESCRIPTION
  cacheout EXPR, cacheout MODE, EXPR

CAVEATS
BUGS
NOTES

## FileHandle - supply object methods for filehandles

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

SEE ALSO

## Filter::Simple - Simplified source filtering

SYNOPSIS
DESCRIPTION

The Problem
A Solution
Disabling or changing <no> behaviour
All-in-one interface
Filtering only specific components of source code
  `"code"`, `"executable"`, `"quotelike"`, `"string"`, `"regex"`, `"all"`

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

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

AUTHOR
COPYRIGHT

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

SYNOPSIS
DESCRIPTION

use Filter::Util::Call
import()
filter() and anonymous sub
  $_, $status, filter_read and filter_read_exact, filter_del

EXAMPLES

Example 1: A simple filter.
Example 2: Using the context
Example 3: Using the context within the filter
Example 4: Using filter_del

Filter::Simple
AUTHOR
DATE

## FindBin - Locate directory of original perl script

SYNOPSIS
DESCRIPTION
EXPORTABLE VARIABLES
KNOWN ISSUES
KNOWN BUGS
AUTHORS
COPYRIGHT

## GDBM_File - Perl5 access to the gdbm library.

SYNOPSIS
DESCRIPTION
AVAILABILITY
BUGS
SEE ALSO

## Getopt::Long - Extended processing of command line options

SYNOPSIS
DESCRIPTION
Command Line Options, an Introduction
Getting Started with Getopt::Long

Simple options
A little bit less simple options
Mixing command line option with other arguments
Options with values
Options with multiple values
Options with hash values
User-defined subroutines to handle options
Options with multiple names
Case and abbreviations
Summary of Option Specifications
  !, +, s, i, o, f, : type [ desttype ], : number [ desttype ], : + [ desttype ]

Advanced Possibilities

Object oriented interface
Thread Safety
Documentation and help texts
Storing options in a hash
Bundling
The lonesome dash
Argument callback

Configuring Getopt::Long
  default, posix_default, auto_abbrev, getopt_compat, gnu_compat, gnu_getopt, require_order, permute, bundling (default: disabled), bundling_override (default: disabled), ignore_case (default: enabled), ignore_case_always (default: disabled), auto_version (default:disabled), auto_help (default:disabled), pass_through (default: disabled), prefix, prefix_pattern, debug (default: disabled)

Exportable Methods
  VersionMessage, `-message`, `-msg`, `-exitval`, `-output`, HelpMessage

Return values and Errors
Legacy

Default destinations
Alternative option starters
Configuration variables

Trouble Shooting

GetOptions does not return a false result when an option is not supplied
GetOptions does not split the command line correctly
Undefined subroutine &main::GetOptions called
How do I put a ``-?'' option into a Getopt::Long?

AUTHOR
COPYRIGHT AND DISCLAIMER

## Getopt::Std, getopt, getopts - Process single-character switches with switch clustering

SYNOPSIS
DESCRIPTION
`--help` and `--version`

## Hash::Util - A selection of general-utility hash subroutines

SYNOPSIS
DESCRIPTION

Restricted hashes
  lock_keys, unlock_keys

lock_value, unlock_value

lock_hash, unlock_hash

hash_seed

CAVEATS
AUTHOR
SEE ALSO

## I18N::Collate - compare 8-bit scalar data according to the current locale

SYNOPSIS
DESCRIPTION

## I18N::LangTags - functions for dealing with RFC3066-style language tags

SYNOPSIS
DESCRIPTION

the function `is_language_tag($lang1)`

the function `extract_language_tags($whatever)`

the function same_language_tag($lang1, $lang2)

the function similarity_language_tag($lang1, $lang2)

the function is_dialect_of($lang1, $lang2)

the function `super_languages($lang1)`

the function `locale2language_tag($locale_identifier)`

the function `encode_language_tag($lang1)`

the function `alternate_language_tags($lang1)`

the function @langs = `panic_languages(@accept_languages)`

ABOUT LOWERCASING
ABOUT UNICODE PLAINTEXT LANGUAGE TAGS
SEE ALSO
COPYRIGHT
AUTHOR

## I18N::LangTags::List -- tags and names for human languages

SYNOPSIS
DESCRIPTION
ABOUT LANGUAGE TAGS
LIST OF LANGUAGES
  {ab} : Abkhazian, {ace} : Achinese, {ach} : Acoli, {ada} : Adangme, {ady} : Adyghe, {aa} : Afar, {afh} : Afrihili, {af} : Afrikaans, [{afa} : Afro-Asiatic (Other)], {ak} : Akan, {akk} : Akkadian, {sq} : Albanian, {ale} : Aleut, [{alg} : Algonquian languages], [{tut} : Altaic (Other)], {am} : Amharic, {i-ami} : Ami, [{apa} : Apache languages], {ar} : Arabic, {arc} : Aramaic, {arp} : Arapaho, {arn} : Araucanian, {arw} : Arawak, {hy} : Armenian, {an} : Aragonese, [{art} : Artificial (Other)], {ast} : Asturian, {as} : Assamese, [{ath} : Athapascan languages], [{aus} : Australian languages], [{map} : Austronesian (Other)], {av} : Avaric, {ae} : Avestan, {awa} : Awadhi, {ay} : Aymara, {az} : Azerbaijani, {ban} : Balinese, [{bat} : Baltic (Other)], {bal} : Baluchi, {bm} : Bambara, [{bai} : Bamileke languages], {bad} : Banda, [{bnt} : Bantu (Other)], {bas} : Basa, {ba} : Bashkir, {eu} : Basque, {btk} : Batak (Indonesia), {bej} : Beja, {be} : Belarusian, {bem} : Bemba, {bn} : Bengali, [{ber} : Berber (Other)], {bho} : Bhojpuri, {bh} : Bihari, {bik} : Bikol, {bin} : Bini, {bi} : Bislama, {bs} : Bosnian, {bra} : Braj, {br} : Breton, {bug} : Buginese, {bg} : Bulgarian, {i-bnn} : Bunun, {bua} : Buriat, {my} : Burmese, {cad} : Caddo, {car} : Carib, {ca} : Catalan, [{cau} : Caucasian (Other)], {ceb} : Cebuano, [{cel} : Celtic (Other)], [{cai} : Central American Indian (Other)], {chg} : Chagatai, [{cmc} : Chamic languages], {ch} : Chamorro, {ce} : Chechen, {chr} : Cherokee, {chy} : Cheyenne, {chb} : Chibcha, {ny} : Chichewa, {zh} : Chinese, {chn} : Chinook Jargon, {chp} : Chipewyan, {cho} : Choctaw, {cu} : Church Slavic, {chk} : Chuukese, {cv} : Chuvash, {cop} : Coptic, {kw} : Cornish, {co} : Corsican, {cr} : Cree, {mus} : Creek, [{cpe} : English-based Creoles and pidgins (Other)], [{cpf} : French-based Creoles and pidgins (Other)], [{cpp} : Portuguese-based Creoles and pidgins (Other)], [{crp} : Creoles and pidgins (Other)], {hr} : Croatian, [{cus} : Cushitic (Other)], {cs} : Czech, {dak} : Dakota, {da} : Danish, {dar} : Dargwa, {day} : Dayak, {i-default} : Default (Fallthru) Language, {del} : Delaware, {din} : Dinka, {dv} : Divehi, {doi} : Dogri, {dgr} : Dogrib, [{dra} : Dravidian (Other)], {dua} : Duala, {nl} : Dutch, {dum} : Middle Dutch (ca.1050-1350), {dyu} : Dyula, {dz} : Dzongkha, {efi} : Efik, {egy} : Ancient Egyptian, {eka} : Ekajuk, {elx} : Elamite, {en} : English, {enm} : Old English (1100-1500), {ang} : Old English (ca.450-1100), {i-enochian} : Enochian (Artificial), {myv} : Erzya, {eo} : Esperanto, {et} : Estonian, {ee} : Ewe, {ewo} : Ewondo, {fan} : Fang, {fat} : Fanti, {fo} : Faroese, {fj} : Fijian, {fi} : Finnish, [{fiu} : Finno-Ugrian (Other)], {fon} : Fon, {fr} : French, {frm} : Middle French (ca.1400-1600), {fro} : Old French (842-ca.1400), {fy} : Frisian, {fur} : Friulian, {ff} : Fulah, {gaa} : Ga, {gd} : Scots Gaelic, {gl} : Gallegan, {lg} : Ganda, {gay} : Gayo, {gba} : Gbaya, {gez} : Geez, {ka} : Georgian, {de} : German, {gmh} : Middle High German (ca.1050-1500), {goh} : Old High German (ca.750-1050), [{gem} : Germanic (Other)], {gil} : Gilbertese, {gon} : Gondi, {gor} : Gorontalo, {got} : Gothic, {grb} : Grebo, {grc} : Ancient Greek, {el} : Modern Greek, {gn} : Guarani, {gu} : Gujarati, {gwi} : Gwich'in, {hai} : Haida, {ht} : Haitian, {ha} : Hausa, {haw} : Hawaiian, {he} : Hebrew, {hz} : Herero, {hil} : Hiligaynon, {him} : Himachali, {hi} : Hindi, {ho} : Hiri Motu, {hit} : Hittite, {hmn} : Hmong, {hu} : Hungarian, {hup} : Hupa, {iba} : Iban, {is} : Icelandic, {io} : Ido, {ig} : Igbo, {ijo} : Ijo, {ilo} : Iloko, [{inc} : Indic (Other)], [{ine} : Indo-European (Other)], {id} : Indonesian, {inh} : Ingush, {ia} : Interlingua (International Auxiliary Language Association), {ie} : Interlingue, {iu} : Inuktitut, {ik} : Inupiaq, [{ira} : Iranian (Other)], {ga} : Irish, {mga} : Middle Irish (900-1200), {sga} : Old Irish (to 900), [{iro} : Iroquoian languages], {it} : Italian, {ja} : Japanese, {jv} : Javanese, {jrb} : Judeo-Arabic, {jpr} : Judeo-Persian, {kbd} : Kabardian, {kab} : Kabyle, {kac} : Kachin, {kl} : Kalaallisut, {xal} : Kalmyk, {kam} : Kamba, {kn} : Kannada, {kr} : Kanuri, {krc} : Karachay-Balkar, {kaa} : Kara-Kalpak, {kar} : Karen, {ks} : Kashmiri, {csb} : Kashubian, {kaw} : Kawi, {kk} : Kazakh, {kha} : Khasi, {km} : Khmer, [{khi} : Khoisan (Other)], {kho} : Khotanese, {ki} : Kikuyu, {kmb} : Kimbundu, {rw} : Kinyarwanda, {ky} : Kirghiz, {i-klingon} : Klingon, {kv} : Komi, {kg} : Kongo, {kok} : Konkani, {ko} : Korean, {kos} : Kosraean, {kpe} : Kpelle, {kro} : Kru, {kj} : Kuanyama, {kum} : Kumyk, {ku} : Kurdish, {kru} : Kurukh, {kut} : Kutenai, {lad} : Ladino, {lah} : Lahnda, {lam} : Lamba, {lo} : Lao, {la} : Latin, {lv} : Latvian, {lb} : Letzeburgesch, {lez} : Lezghian, {li} : Limburgish, {ln} : Lingala, {lt} : Lithuanian, {nds} : Low German, {art-lojban} : Lojban (Artificial), {loz} : Lozi, {lu} : Luba-Katanga, {lua} : Luba-Lulua, {lui} : Luiseno, {lun} : Lunda, {luo} : Luo (Kenya and Tanzania), {lus} : Lushai, {mk} : Macedonian, {mad} : Madurese, {mag} : Magahi, {mai} : Maithili, {mak} : Makasar, {mg} : Malagasy, {ms} : Malay, {ml} : Malayalam, {mt} : Maltese, {mnc} : Manchu, {mdr} : Mandar, {man} : Mandingo, {mni} : Manipuri, [{mno} : Manobo languages], {gv} : Manx, {mi} : Maori, {mr} : Marathi, {chm} : Mari, {mh} : Marshall, {mwr} : Marwari, {mas} : Masai, [{myn} : Mayan languages], {men} : Mende, {mic} : Micmac, {min} : Minangkabau, {i-mingo} : Mingo, [{mis} : Miscellaneous languages], {moh} : Mohawk, {mdf} : Moksha, {mo} : Moldavian, [{mkh} : Mon-Khmer (Other)], {lol} : Mongo, {mn} : Mongolian, {mos} : Mossi, [{mul} : Multiple languages], [{mun} : Munda languages], {nah} : Nahuatl, {nap} : Neapolitan, {na} : Nauru, {nv} : Navajo, {nd} : North Ndebele, {nr} : South Ndebele, {ng} : Ndonga, {ne} : Nepali, {new} : Newari, {nia} : Nias, [{nic} : Niger-Kordofanian (Other)], [{ssa} : Nilo-Saharan (Other)], {niu} : Niuean, {nog} : Nogai, {non} : Old Norse, [{nai} : North American Indian], {no} : Norwegian, {nb} : Norwegian Bokmal, {nn} : Norwegian Nynorsk, [{nub} : Nubian languages], {nym} : Nyamwezi, {nyn} : Nyankole, {nyo} : Nyoro, {nzi} : Nzima, {oc} : Occitan (post 1500), {oj} : Ojibwa, {or} : Oriya, {om} : Oromo, {osa} : Osage, {os} : Ossetian; Ossetic, [{oto} : Otomian languages], {pal} : Pahlavi, {i-pwn} : Paiwan, {pau} : Palauan, {pi} : Pali, {pam} : Pampanga, {pag} : Pangasinan, {pa} : Panjabi, {pap} : Papiamento, [{paa} : Papuan (Other)], {fa} : Persian, {peo} : Old Persian (ca.600-400 B.C.), [{phi} : Philippine (Other)], {phn} : Phoenician, {pon} : Pohnpeian, {pl} : Polish, {pt} : Portuguese, [{pra} : Prakrit languages], {pro} : Old Provencal (to 1500), {ps} : Pushto, {qu} : Quechua, {rm} : Raeto-Romance, {raj} : Rajasthani, {rap} : Rapanui, {rar} : Rarotongan, [{qaa - qtz} : Reserved for local use.], [{roa} : Romance (Other)], {ro} : Romanian, {rom} : Romany, {rn} : Rundi, {ru} : Russian, [{sal} : Salishan languages], {sam} : Samaritan Aramaic, {se} : Northern Sami, {sma} : Southern Sami, {smn} : Inari Sami, {smj} : Lule Sami, {sms} : Skolt Sami, [{smi} : Sami languages (Other)], {sm} : Samoan, {sad} : Sandawe, {sg} : Sango, {sa} : Sanskrit, {sat} : Santali, {sc} : Sardinian, {sas} : Sasak, {sco} : Scots, {sel} : Selkup, [{sem} : Semitic (Other)], {sr} : Serbian, {srr} : Serer, {shn} : Shan, {sn} : Shona, {sid} : Sidamo, {sgn-...} : Sign Languages, {bla} : Siksika, {sd} : Sindhi, {si} : Sinhalese, [{sit} : Sino-Tibetan (Other)], [{sio} : Siouan languages], {den} : Slave (Athapascan), [{sla} : Slavic (Other)], {sk} : Slovak, {sl} : Slovenian, {sog} : Sogdian, {so} : Somali, {son} : Songhai, {snk} : Soninke, {wen} : Sorbian languages, {nso} : Northern Sotho, {st} : Southern Sotho, [{sai} : South American Indian (Other)], {es} : Spanish, {suk} : Sukuma, {sux} : Sumerian, {su} : Sundanese, {sus} : Susu, {sw} : Swahili, {ss} : Swati, {sv} : Swedish, {syr} : Syriac, {tl} : Tagalog, {ty} : Tahitian, [{tai} : Tai (Other)], {tg} : Tajik, {tmh} : Tamashek, {ta} : Tamil, {i-tao} : Tao, {tt} : Tatar, {i-tay} : Tayal, {te} : Telugu, {ter} : Tereno, {tet} : Tetum, {th} : Thai, {bo} : Tibetan, {tig} : Tigre, {ti} : Tigrinya, {tem} : Timne, {tiv} : Tiv, {tli} : Tlingit, {tpi} : Tok Pisin, {tkl} : Tokelau, {tog} : Tonga (Nyasa), {to} : Tonga (Tonga Islands), {tsi} : Tsimshian, {ts} : Tsonga, {i-tsu} : Tsou, {tn} : Tswana, {tum} : Tumbuka, [{tup} : Tupi languages], {tr} : Turkish, {ota} : Ottoman Turkish (1500-1928), {crh} : Crimean Turkish, {tk} : Turkmen, {tvl} : Tuvalu, {tyv} : Tuvinian, {tw} : Twi, {udm} : Udmurt, {uga} : Ugaritic, {ug} : Uighur, {uk} : Ukrainian, {umb} : Umbundu, {und} : Undetermined, {ur} : Urdu, {uz} : Uzbek, {vai} : Vai, {ve} : Venda, {vi} : Vietnamese, {vo} : Volapuk, {vot} : Votic, [{wak} : Wakashan languages], {wa} : Walloon, {wal} : Walamo, {war} : Waray, {was} : Washo, {cy} : Welsh, {wo} : Wolof, {x-...} : Unregistered (Semi-Private Use), {xh} : Xhosa, {sah} : Yakut, {yao} : Yao, {yap} : Yapese, {ii} : Sichuan Yi, {yi} : Yiddish, {yo} : Yoruba, [{ypk} : Yupik languages], {znd} : Zande, [{zap} : Zapotec], {zen} : Zenaga, {za} : Zhuang, {zu} : Zulu, {zun} : Zuni

SEE ALSO
COPYRIGHT AND DISCLAIMER
AUTHOR

## I18N::Langinfo - query locale information

SYNOPSIS
DESCRIPTION

EXPORT

SEE ALSO
AUTHOR
COPYRIGHT AND LICENSE

## IO - load various IO modules

SYNOPSIS
DESCRIPTION
DEPRECATED

## IO::Dir - supply object methods for directory handles

SYNOPSIS
DESCRIPTION
  new ( [ DIRNAME ] ), open ( DIRNAME ), read (), seek ( POS ), tell (), rewind (), close (), tie %hash, 'IO::Dir', DIRNAME [, OPTIONS ]

SEE ALSO
AUTHOR
COPYRIGHT

## IO::File - supply object methods for filehandles

SYNOPSIS
DESCRIPTION
CONSTRUCTOR
  new ( FILENAME [,MODE [,PERMS]] ), new_tmpfile

METHODS
  open( FILENAME [,MODE [,PERMS]] ), open( FILENAME, IOLAYERS )

SEE ALSO
HISTORY

## IO::Handle - supply object methods for I/O handles

SYNOPSIS
DESCRIPTION
CONSTRUCTOR
  new (), new_from_fd ( FD, MODE )

METHODS
  $io->fdopen ( FD, MODE ), $io->opened, $io->getline, $io->getlines, $io->ungetc ( ORD ), $io->write ( BUF, LEN [, OFFSET ] ), $io->error, $io->clearerr, $io->sync, $io->flush, $io->printflush ( ARGS ), $io->blocking ( [ BOOL ] ), $io->untaint

NOTE
SEE ALSO
BUGS
HISTORY

## IO::Pipe - supply object methods for pipes

SYNOPSIS
DESCRIPTION
CONSTRUCTOR
  new ( [READER, WRITER] )

METHODS
  reader ([ARGS]), writer ([ARGS]), handles ()

SEE ALSO
AUTHOR
COPYRIGHT

## IO::Poll - Object interface to system poll call

SYNOPSIS
DESCRIPTION
METHODS
  mask ( IO [, EVENT_MASK ] ), poll ( [ TIMEOUT ] ), events ( IO ), remove ( IO ), handles( [ EVENT_MASK ] )

SEE ALSO
AUTHOR
COPYRIGHT

## IO::Seekable - supply seek based methods for I/O objects

SYNOPSIS
DESCRIPTION
  $io->getpos, $io->setpos, $io->seek ( POS, WHENCE ), WHENCE=0 (SEEK_SET), WHENCE=1 (SEEK_CUR), WHENCE=2 (SEEK_END), $io->sysseek( POS, WHENCE ), $io->tell

SEE ALSO
HISTORY

## IO::Select - OO interface to the select system call

SYNOPSIS
DESCRIPTION
CONSTRUCTOR
  new ( [ HANDLES ] )

METHODS
  add ( HANDLES ), remove ( HANDLES ), exists ( HANDLE ), handles, can_read ( [ TIMEOUT ] ), can_write ( [ TIMEOUT ] ), has_exception ( [ TIMEOUT ] ), count (), bits(), select ( READ, WRITE, EXCEPTION [, TIMEOUT ] )

EXAMPLE
AUTHOR
COPYRIGHT

## IO::Socket - Object interface to socket communications

SYNOPSIS
DESCRIPTION
CONSTRUCTOR
  new ( [ARGS] )

METHODS
  accept([PKG]), socketpair(DOMAIN, TYPE, PROTOCOL), atmark, connected, protocol, sockdomain, sockopt(OPT [, VAL]), socktype, `timeout([VAL])`

SEE ALSO
AUTHOR
COPYRIGHT

## IO::Socket::INET - Object interface for AF_INET domain sockets

SYNOPSIS
DESCRIPTION
CONSTRUCTOR
  new ( [ARGS] )

METHODS
  sockaddr (), sockport (), sockhost (), peeraddr (), peerport (), peerhost ()

SEE ALSO
AUTHOR
COPYRIGHT

## IO::Socket::UNIX - Object interface for AF_UNIX domain sockets

SYNOPSIS
DESCRIPTION
CONSTRUCTOR
  new ( [ARGS] )

METHODS
  hostpath(), `peerpath()`

SEE ALSO
AUTHOR
COPYRIGHT

## IO::lib::IO::Dir, IO::Dir - supply object methods for directory handles

SYNOPSIS
DESCRIPTION
  new ( [ DIRNAME ] ), open ( DIRNAME ), read (), seek ( POS ), tell (), rewind (), close (), tie %hash, 'IO::Dir', DIRNAME [, OPTIONS ]

SEE ALSO
AUTHOR
COPYRIGHT

## IO::lib::IO::File, IO::File - supply object methods for filehandles

SYNOPSIS
DESCRIPTION
CONSTRUCTOR
  new ( FILENAME [,MODE [,PERMS]] ), new_tmpfile

METHODS
  open( FILENAME [,MODE [,PERMS]] ), open( FILENAME, IOLAYERS )

SEE ALSO
HISTORY

## IO::lib::IO::Handle, IO::Handle - supply object methods for I/O handles

SYNOPSIS
DESCRIPTION
CONSTRUCTOR
  new (), new_from_fd ( FD, MODE )

METHODS
  $io->fdopen ( FD, MODE ), $io->opened, $io->getline, $io->getlines, $io->ungetc ( ORD ), $io->write ( BUF, LEN [, OFFSET ] ), $io->error, $io->clearerr, $io->sync, $io->flush, $io->printflush ( ARGS ), $io->blocking ( [ BOOL ] ), $io->untaint

NOTE
SEE ALSO
BUGS
HISTORY

## IO::lib::IO::Pipe, IO::Pipe - supply object methods for pipes

SYNOPSIS
DESCRIPTION
CONSTRUCTOR
  new ( [READER, WRITER] )

METHODS
  reader ([ARGS]), writer ([ARGS]), handles ()

SEE ALSO
AUTHOR
COPYRIGHT

## IO::lib::IO::Poll, IO::Poll - Object interface to system poll call

SYNOPSIS
DESCRIPTION
METHODS
  mask ( IO [, EVENT_MASK ] ), poll ( [ TIMEOUT ] ), events ( IO ), remove ( IO ), handles( [ EVENT_MASK ] )

SEE ALSO
AUTHOR
COPYRIGHT

## IO::lib::IO::Seekable, IO::Seekable - supply seek based methods for I/O objects

SYNOPSIS
DESCRIPTION
  $io->getpos, $io->setpos, $io->seek ( POS, WHENCE ), WHENCE=0 (SEEK_SET), WHENCE=1 (SEEK_CUR), WHENCE=2 (SEEK_END), $io->sysseek( POS, WHENCE ), $io->tell

SEE ALSO
HISTORY

## IO::lib::IO::Select, IO::Select - OO interface to the select system call

SYNOPSIS
DESCRIPTION
CONSTRUCTOR
  new ( [ HANDLES ] )

METHODS
  add ( HANDLES ), remove ( HANDLES ), exists ( HANDLE ), handles, can_read ( [ TIMEOUT ] ), can_write ( [ TIMEOUT ] ), has_exception ( [ TIMEOUT ] ), count (), bits(), select ( READ, WRITE, EXCEPTION [, TIMEOUT ] )

EXAMPLE
AUTHOR
COPYRIGHT

## IO::lib::IO::Socket, IO::Socket - Object interface to socket communications

SYNOPSIS
DESCRIPTION
CONSTRUCTOR
  new ( [ARGS] )

METHODS
  accept([PKG]), socketpair(DOMAIN, TYPE, PROTOCOL), atmark, connected, protocol, sockdomain, sockopt(OPT [, VAL]), socktype, `timeout([VAL])`

SEE ALSO
AUTHOR
COPYRIGHT

## IO::lib::IO::Socket::INET, IO::Socket::INET - Object interface for AF_INET domain sockets

SYNOPSIS
DESCRIPTION
CONSTRUCTOR
  new ( [ARGS] )

METHODS
  sockaddr (), sockport (), sockhost (), peeraddr (), peerport (), peerhost ()

SEE ALSO
AUTHOR
COPYRIGHT

## IO::lib::IO::Socket::UNIX, IO::Socket::UNIX - Object interface for AF_UNIX domain sockets

SYNOPSIS
DESCRIPTION
CONSTRUCTOR
  new ( [ARGS] )

METHODS
  hostpath(), `peerpath()`

SEE ALSO
AUTHOR
COPYRIGHT

## IPC::Msg - SysV Msg IPC object class

SYNOPSIS
DESCRIPTION
METHODS
  new ( KEY , FLAGS ), id, rcv ( BUF, LEN [, TYPE [, FLAGS ]] ), remove, set ( STAT ), set ( NAME => VALUE [, NAME => VALUE ...] ), snd ( TYPE, MSG [, FLAGS ] ), stat

SEE ALSO
AUTHOR
COPYRIGHT

## IPC::Open2, open2 - open a process for both reading and writing

SYNOPSIS
DESCRIPTION
WARNING
SEE ALSO

## IPC::Open3, open3 - open a process for reading, writing, and error handling

SYNOPSIS
DESCRIPTION
WARNING

## IPC::Semaphore - SysV Semaphore IPC object class

SYNOPSIS
DESCRIPTION
METHODS
  new ( KEY , NSEMS , FLAGS ), getall, getncnt ( SEM ), getpid ( SEM ), getval ( SEM ), getzcnt ( SEM ), id, op ( OPLIST ), remove, set ( STAT ), set ( NAME => VALUE [, NAME => VALUE ...] ), setall ( VALUES ), setval ( N , VALUE ), stat

SEE ALSO
AUTHOR
COPYRIGHT

## IPC::SysV - SysV IPC constants

SYNOPSIS
DESCRIPTION
  ftok( PATH, ID )

SEE ALSO
AUTHORS
COPYRIGHT

## IPC::SysV::Msg, IPC::Msg - SysV Msg IPC object class

SYNOPSIS
DESCRIPTION
METHODS
  new ( KEY , FLAGS ), id, rcv ( BUF, LEN [, TYPE [, FLAGS ]] ), remove, set ( STAT ), set ( NAME => VALUE [, NAME => VALUE ...] ), snd ( TYPE, MSG [, FLAGS ] ), stat

SEE ALSO
AUTHOR
COPYRIGHT

## IPC::SysV::Semaphore, IPC::Semaphore - SysV Semaphore IPC object class

SYNOPSIS
DESCRIPTION
METHODS
  new ( KEY , NSEMS , FLAGS ), getall, getncnt ( SEM ), getpid ( SEM ), getval ( SEM ), getzcnt ( SEM ), id, op ( OPLIST ), remove, set ( STAT ), set ( NAME => VALUE [, NAME => VALUE ...] ), setall ( VALUES ), setval ( N , VALUE ), stat

SEE ALSO
AUTHOR
COPYRIGHT

## List::Util - A selection of general-utility list subroutines

SYNOPSIS
DESCRIPTION
  first BLOCK LIST, max LIST, maxstr LIST, min LIST, minstr LIST, reduce BLOCK LIST, shuffle LIST, sum LIST

KNOWN BUGS
SUGGESTED ADDITIONS
COPYRIGHT

## List::Utilib::List::Util, List::Util - A selection of general-utility list subroutines

SYNOPSIS
DESCRIPTION
  first BLOCK LIST, max LIST, maxstr LIST, min LIST, minstr LIST, reduce BLOCK LIST, shuffle LIST, sum LIST

KNOWN BUGS
SUGGESTED ADDITIONS
COPYRIGHT

## List::Utilib::Scalar::Util, Scalar::Util - A selection of general-utility scalar subroutines

SYNOPSIS
DESCRIPTION
  blessed EXPR, dualvar NUM, STRING, isvstring EXPR, isweak EXPR, looks_like_number EXPR, openhandle FH, refaddr EXPR, reftype EXPR, set_prototype CODEREF, PROTOTYPE, tainted EXPR, weaken REF

KNOWN BUGS
COPYRIGHT
BLATANT PLUG

## Locale::Constants - constants for Locale codes

SYNOPSIS
DESCRIPTION
KNOWN BUGS AND LIMITATIONS
SEE ALSO
  Locale::Language, Locale::Country, Locale::Script, Locale::Currency

AUTHOR
COPYRIGHT

## Locale::Country - ISO codes for country identification (ISO 3166)

SYNOPSIS
DESCRIPTION
  alpha-2, alpha-3, numeric

CONVERSION ROUTINES
  code2country( CODE, [ CODESET ] ), country2code( STRING, [ CODESET ] ), country_code2code( CODE, CODESET, CODESET )

QUERY ROUTINES
  `all_country_codes( [ CODESET ] )`, `all_country_names( [ CODESET ] )`

SEMI-PRIVATE ROUTINES

alias_code
rename_country

EXAMPLES
DOMAIN NAMES
KNOWN BUGS AND LIMITATIONS
SEE ALSO
  Locale::Language, Locale::Script, Locale::Currency, Locale::SubCountry, ISO 3166-1, http://www.iso.org/iso/en/prods-services/iso3166ma/index.html, http://www.egt.ie/standards/iso3166/iso3166-1-en.html, http://www.cia.gov/cia/publications/factbook/docs/app-d-1.html

AUTHOR
COPYRIGHT

## Locale::Currency - ISO three letter codes for currency identification (ISO 4217)

SYNOPSIS
DESCRIPTION
  XTS, XXX

CONVERSION ROUTINES
  code2currency(), `currency2code()`

QUERY ROUTINES
  `all_currency_codes()`, `all_currency_names()`

EXAMPLES
KNOWN BUGS AND LIMITATIONS
SEE ALSO
  Locale::Country, Locale::Script, ISO 4217:1995, http://www.bsi-global.com/iso4217currency

AUTHOR
COPYRIGHT

## Locale::Language - ISO two letter codes for language identification (ISO 639)

SYNOPSIS
DESCRIPTION
CONVERSION ROUTINES
  code2language(), `language2code()`

QUERY ROUTINES
  `all_language_codes()`, `all_language_names()`

EXAMPLES
KNOWN BUGS AND LIMITATIONS
SEE ALSO
  Locale::Country, Locale::Script, Locale::Currency, ISO 639:1988 (E/F), http://lcweb.loc.gov/standards/iso639-2/langhome.html

AUTHOR
COPYRIGHT

## Locale::Maketext - framework for localization

SYNOPSIS
DESCRIPTION
QUICK OVERVIEW
METHODS

Construction Methods
The ``maketext'' Method
  $lh->fail_with or $lh->fail_with(PARAM), $lh->failure_handler_auto

Utility Methods
  $language->quant($number, $singular), $language->quant($number, $singular, $plural), $language->quant($number, $singular, $plural, $negative), $language->numf($number), $language->sprintf($format, @items), $language->language_tag(), $language->`encoding()`

Language Handle Attributes and Internals

LANGUAGE CLASS HIERARCHIES
ENTRIES IN EACH LEXICON
BRACKET NOTATION
AUTO LEXICONS
CONTROLLING LOOKUP FAILURE
HOW TO USE MAKETEXT
SEE ALSO
COPYRIGHT AND DISCLAIMER
AUTHOR

## Locale::Maketext::TPJ13 -- article about software localization

SYNOPSIS
DESCRIPTION
Localization and Perl: gettext breaks, Maketext fixes

A Localization Horror Story: It Could Happen To You
The Linguistic View
Breaking gettext
Replacing gettext
Buzzwords: Abstraction and Encapsulation
Buzzword: Isomorphism
Buzzword: Inheritance
Buzzword: Concision
The Devil in the Details
The Proof in the Pudding: Localizing Web Sites
References

## Locale::Script - ISO codes for script identification (ISO 15924)

SYNOPSIS
DESCRIPTION
  alpha-2, alpha-3, numeric

SPECIAL CODES

CONVERSION ROUTINES
  code2script( CODE, [ CODESET ] ), script2code( STRING, [ CODESET ] ), script_code2code( CODE, CODESET, CODESET )

QUERY ROUTINES
  `all_script_codes ( [ CODESET ] )`, `all_script_names ( [ CODESET ] )`

EXAMPLES
KNOWN BUGS AND LIMITATIONS
SEE ALSO
  Locale::Language, Locale::Currency, Locale::Country, ISO 15924, http://www.evertype.com/standards/iso15924/

AUTHOR
COPYRIGHT

## MIME::Base64 - Encoding and decoding of base64 strings

SYNOPSIS
DESCRIPTION
  encode_base64($str), encode_base64($str, $eol);, `decode_base64($str)`

DIAGNOSTICS
  Premature end of base64 data, Premature padding of base64 data

EXAMPLES
COPYRIGHT
SEE ALSO

## MIME::Base64::QuotedPrint, MIME::QuotedPrint - Encoding and decoding of quoted-printable strings

SYNOPSIS
DESCRIPTION
  encode_qp($str), encode_qp($str, $eol), decode_qp($str);

COPYRIGHT
SEE ALSO

## MIME::QuotedPrint - Encoding and decoding of quoted-printable strings

SYNOPSIS
DESCRIPTION
  encode_qp($str), encode_qp($str, $eol), decode_qp($str);

COPYRIGHT
SEE ALSO

## Math::BigFloat - Arbitrary size floating point math package

SYNOPSIS
DESCRIPTION

Canonical notation
Output
`mantissa()`, `exponent()` and `parts()`
Accuracy vs. Precision
Rounding
  ffround ( +$scale ), ffround ( -$scale ), ffround ( 0 ), fround ( +$scale ), fround ( -$scale ) and fround ( 0 )

EXAMPLES

        # not ready yet

Autocreating constants

Math library
Using Math::BigInt::Lite

BUGS
CAVEATS
  stringify, bstr(), bdiv, Modifying and =, bpow

SEE ALSO
LICENSE
AUTHORS

## Math::BigInt - Arbitrary size integer math package

SYNOPSIS
DESCRIPTION
  Input, Output

METHODS

config
accuracy
precision
brsft
new
bnan
bzero
binf
bone
`is_one()/is_zero()/is_nan()/is_inf()`
`is_pos()/is_neg()`

              $x->is_pos();                   # true if >= 0
              $x->is_neg();                   # true if <  0

`is_odd()/is_even()/is_int()`
bcmp
bacmp
sign
digit
bneg
babs
bnorm
bnot
binc
bdec
badd
bsub
bmul
bdiv
bmod
bmodinv
bmodpow
bpow
blsft
brsft
band
bior
bxor
bnot
bsqrt
bfac
round
bround
bfround
bfloor
bceil
bgcd
blcm
exponent
mantissa
parts
copy
as_int
bsstr
as_hex
as_bin

ACCURACY and PRECISION

Precision P
Accuracy A
Fallback F
Rounding mode R
  'trunc', 'even', 'odd', '+inf', '-inf', 'zero', Precision, Accuracy (significant digits), Setting/Accessing, Creating numbers, Usage, Precedence, Overriding globals, Local settings, Rounding, Default values, Remarks

INTERNALS

MATH LIBRARY
SIGN
mantissa(), `exponent()` and `parts()`

EXAMPLES

        use Math::BigInt;

Autocreating constants
PERFORMANCE

Alternative math libraries
SUBCLASSING

Subclassing Math::BigInt
UPGRADING

Auto-upgrade
  bsqrt(), div(), `blog()`

BUGS
  `broot()` does not work, Out of Memory!, Fails to load Calc on Perl prior 5.6.0

CAVEATS
  bstr(), `bsstr()` and 'cmp', int(), length, bdiv, infinity handling, Modifying and =, bpow, Overloading -$x, Mixing different object types, bsqrt(), `brsft()`

LICENSE
SEE ALSO
AUTHORS

## Math::BigInt::Calc - Pure Perl module to support Math::BigInt

SYNOPSIS
DESCRIPTION
STORAGE
METHODS
WRAP YOUR OWN
LICENSE
  This program is free software; you may redistribute it and/or modify it under the same terms as Perl itself.

AUTHORS
SEE ALSO

## Math::BigInt::CalcEmu - Emulate low-level math with BigInt code

SYNOPSIS
DESCRIPTION
METHODS
LICENSE
  This program is free software; you may redistribute it and/or modify it under the same terms as Perl itself.

AUTHORS
SEE ALSO

## Math::BigRat - arbitrarily big rational numbers

SYNOPSIS
DESCRIPTION

MATH LIBRARY

METHODS

`new()`
`numerator()`
`denominator()`

              $d = $x->denominator();

`parts()`
`as_number()`
`bfac()`
`blog()`
`bround()/round()/bfround()`
`bmod()`
`is_one()`
`is_zero()`
`is_positive()`
`is_negative()`
`is_int()`
`is_odd()`
`is_even()`
`bceil()`
`bfloor()`

              $x->bfloor();

`bsqrt()`

              $x->bsqrt();

config

BUGS
  inf handling (partial), NaN handling (partial), rounding (not implemented except for bceil/bfloor), $x ** $y where $y is not an integer, bmod(), blog(), `bmodinv()` and `bmodpow()` (partial)

LICENSE
SEE ALSO
AUTHORS

## Math::Complex - complex numbers and associated mathematical functions

SYNOPSIS
DESCRIPTION
OPERATIONS
CREATION
STRINGIFICATION

CHANGED IN PERL 5.6

USAGE
ERRORS DUE TO DIVISION BY ZERO OR LOGARITHM OF ZERO
ERRORS DUE TO INDIGESTIBLE ARGUMENTS
BUGS
AUTHORS

## Math::Trig - trigonometric functions

SYNOPSIS
DESCRIPTION
TRIGONOMETRIC FUNCTIONS
  tan

ERRORS DUE TO DIVISION BY ZERO
SIMPLE (REAL) ARGUMENTS, COMPLEX RESULTS

PLANE ANGLE CONVERSIONS
RADIAL COORDINATE CONVERSIONS

COORDINATE SYSTEMS
- -D ANGLE CONVERSIONS
cartesian_to_cylindrical, cartesian_to_spherical, cylindrical_to_cartesian, cylindrical_to_spherical, spherical_to_cartesian, spherical_to_cylindrical

GREAT CIRCLE DISTANCES AND DIRECTIONS
EXAMPLES

CAVEAT FOR GREAT CIRCLE FORMULAS

BUGS
AUTHORS

## Memoize - Make functions faster by trading space for time

SYNOPSIS
DESCRIPTION
DETAILS
OPTIONS

INSTALL
NORMALIZER
`SCALAR_CACHE`, `LIST_CACHE`
  `MEMORY`, `HASH`, `TIE`, `FAULT`, `MERGE`

OTHER FACILITIES

`unmemoize`
`flush_cache`

CAVEATS
PERSISTENT CACHE SUPPORT
EXPIRATION SUPPORT
BUGS
MAILING LIST
AUTHOR
COPYRIGHT AND LICENSE
THANK YOU

## Memoize::AnyDBM_File - glue to provide EXISTS for AnyDBM_File for Storable use

DESCRIPTION

## Memoize::Expire - Plug-in module for automatic expiration of memoized values

SYNOPSIS
DESCRIPTION
INTERFACE

       TIEHASH,  EXISTS,  STORE

ALTERNATIVES
CAVEATS
AUTHOR
SEE ALSO

## Memoize::ExpireFile - test for Memoize expiration semantics

DESCRIPTION

## Memoize::ExpireTest - test for Memoize expiration semantics

DESCRIPTION

## Memoize::NDBM_File - glue to provide EXISTS for NDBM_File for Storable use

DESCRIPTION

## Memoize::SDBM_File - glue to provide EXISTS for SDBM_File for Storable use

DESCRIPTION

## Memoize::Storable - store Memoized data in Storable database

DESCRIPTION

## NDBM_File - Tied access to ndbm files

SYNOPSIS
DESCRIPTION
  `O_RDONLY`, `O_WRONLY`, `O_RDWR`

DIAGNOSTICS

`ndbm store returned -1, errno 22, key "..." at ...`

BUGS AND WARNINGS

## NEXT - Provide a pseudo-class NEXT (et al) that allows method redispatch

SYNOPSIS
DESCRIPTION

Enforcing redispatch
Avoiding repetitions
Invoking all versions of a method with a single call
Using `EVERY` methods

AUTHOR
BUGS AND IRRITATIONS
COPYRIGHT

## Net::Cmd - Network Command class (as used by FTP, SMTP etc)

SYNOPSIS
DESCRIPTION
USER METHODS
  debug ( VALUE ), message (), code (), ok (), status (), datasend ( DATA ), dataend ()

CLASS METHODS
  debug_print ( DIR, TEXT ), debug_text ( TEXT ), command ( CMD [, ARGS, ... ]), unsupported (), response (), parse_response ( TEXT ), getline (), ungetline ( TEXT ), rawdatasend ( DATA ), read_until_dot (), tied_fh ()

EXPORTS
AUTHOR
COPYRIGHT

## Net::Config - Local configuration data for libnet

SYNOPSYS
DESCRIPTION
METHODS
  requires_firewall HOST

NetConfig VALUES
  nntp_hosts, snpp_hosts, pop3_hosts, smtp_hosts, ph_hosts, daytime_hosts, time_hosts, inet_domain, ftp_firewall, ftp_firewall_type, ftp_ext_passive, ftp_int_pasive, local_netmask, test_hosts, test_exists

## Net::Domain - Attempt to evaluate the current host's internet name and domain

SYNOPSIS
DESCRIPTION
  hostfqdn (), hostname (), hostdomain ()

AUTHOR
COPYRIGHT

## Net::FTP - FTP Client class

SYNOPSIS
DESCRIPTION
OVERVIEW
CONSTRUCTOR
  new (HOST [,OPTIONS])

METHODS
  login ([LOGIN [,PASSWORD [, ACCOUNT] ] ]), authorize ( [AUTH [, RESP]]), site (ARGS), ascii, binary, rename ( OLDNAME, NEWNAME ), delete ( FILENAME ), cwd ( [ DIR ] ), cdup (), pwd (), restart ( WHERE ), rmdir ( DIR [, RECURSE ]), mkdir ( DIR [, RECURSE ]), ls ( [ DIR ] ), alloc ( SIZE [, RECORD_SIZE] ), dir ( [ DIR ] ), get ( REMOTE_FILE [, LOCAL_FILE [, WHERE]] ), put ( LOCAL_FILE [, REMOTE_FILE ] ), put_unique ( LOCAL_FILE [, REMOTE_FILE ] ), append ( LOCAL_FILE [, REMOTE_FILE ] ), unique_name (), mdtm ( FILE ), size ( FILE ), supported ( CMD ), hash ( [FILEHANDLE_GLOB_REF],[ BYTES_PER_HASH_MARK] ), nlst ( [ DIR ] ), list ( [ DIR ] ), retr ( FILE ), stor ( FILE ), stou ( FILE ), appe ( FILE ), port ( [ PORT ] ), pasv (), pasv_xfer ( SRC_FILE, DEST_SERVER [, DEST_FILE ] ), pasv_xfer_unique ( SRC_FILE, DEST_SERVER [, DEST_FILE ] ), pasv_wait ( NON_PASV_SERVER ), abort (), quit ()

Methods for the adventurous
  quot (CMD [,ARGS])

THE dataconn CLASS
  read ( BUFFER, SIZE [, TIMEOUT ] ), write ( BUFFER, SIZE [, TIMEOUT ] ), bytes_read (), abort (), close ()

UNIMPLEMENTED
  SMNT, HELP, MODE, SYST, STAT, STRU, REIN

REPORTING BUGS
AUTHOR
SEE ALSO
USE EXAMPLES
  http://www.csh.rit.edu/~adam/Progs/

CREDITS
COPYRIGHT

## Net::NNTP - NNTP Client class

SYNOPSIS
DESCRIPTION
CONSTRUCTOR
  new ( [ HOST ] [, OPTIONS ])

METHODS
  article ( [ MSGID|MSGNUM ], [FH] ), body ( [ MSGID|MSGNUM ], [FH] ), head ( [ MSGID|MSGNUM ], [FH] ), articlefh ( [ MSGID|MSGNUM ] ), bodyfh ( [ MSGID|MSGNUM ] ), headfh ( [ MSGID|MSGNUM ] ), nntpstat ( [ MSGID|MSGNUM ] ), group ( [ GROUP ] ), ihave ( MSGID [, MESSAGE ]), last (), date (), postok (), authinfo ( USER, PASS ), list (), newgroups ( SINCE [, DISTRIBUTIONS ]), newnews ( SINCE [, GROUPS [, DISTRIBUTIONS ]]), next (), post ( [ MESSAGE ] ), postfh (), slave (), quit ()

Extension methods
  newsgroups ( [ PATTERN ] ), distributions (), subscriptions (), overview_fmt (), active_times (), active ( [ PATTERN ] ), xgtitle ( PATTERN ), xhdr ( HEADER, MESSAGE-SPEC ), xover ( MESSAGE-SPEC ), xpath ( MESSAGE-ID ), xpat ( HEADER, PATTERN, MESSAGE-SPEC), xrover, listgroup ( [ GROUP ] ), reader

UNSUPPORTED
DEFINITIONS
  MESSAGE-SPEC, PATTERN, Examples, `[^]-]`, `*bdc`, `[0-9a-zA-Z]`, `a??d`

SEE ALSO
AUTHOR
COPYRIGHT

## Net::POP3 - Post Office Protocol 3 Client class (RFC1939)

SYNOPSIS
DESCRIPTION
CONSTRUCTOR
  new ( [ HOST, ] [ OPTIONS ] )

METHODS
  user ( USER ), pass ( PASS ), login ( [ USER [, PASS ]] ), apop ( [ USER [, PASS ]] ), top ( MSGNUM [, NUMLINES ] ), list ( [ MSGNUM ] ), get ( MSGNUM [, FH ] ), getfh ( MSGNUM ), last (), popstat (), ping ( USER ), uidl ( [ MSGNUM ] ), delete ( MSGNUM ), reset (), quit ()

NOTES
SEE ALSO
AUTHOR
COPYRIGHT

## Net::Ping - check a remote host for reachability

SYNOPSIS
DESCRIPTION

Functions
  Net::Ping->new([$proto [, $def_timeout [, $bytes [, $device [, $tos ]]]]]);, $p->ping($host [, $timeout]);, $p->source_verify( { 0 | 1 } );, $p->service_check( { 0 | 1 } );, $p->tcp_service_check( { 0 | 1 } );, $p->hires( { 0 | 1 } );, $p->bind($local_addr);, $p->open($host);, $p->ack( [ $host ] );, $p->nack( $failed_ack_host );, $p->close();, pingecho($host [, $timeout]);

NOTES
INSTALL
BUGS
AUTHORS
COPYRIGHT

## Net::SMTP - Simple Mail Transfer Protocol Client

SYNOPSIS
DESCRIPTION
EXAMPLES
CONSTRUCTOR
  new Net::SMTP [ HOST, ] [ OPTIONS ]

METHODS
  banner (), domain (), hello ( DOMAIN ), etrn ( DOMAIN ), auth ( USERNAME, PASSWORD ), mail ( ADDRESS [, OPTIONS] ), send ( ADDRESS ), send_or_mail ( ADDRESS ), send_and_mail ( ADDRESS ), reset (), recipient ( ADDRESS [, ADDRESS [ ...]] [, OPTIONS ] ), to ( ADDRESS [, ADDRESS [...]] ), cc ( ADDRESS [, ADDRESS [...]] ), bcc ( ADDRESS [, ADDRESS [...]] ), data ( [ DATA ] ), expand ( ADDRESS ), verify ( ADDRESS ), help ( [ $subject ] ), quit ()

ADDRESSES
SEE ALSO
AUTHOR
COPYRIGHT

## Net::Time - time and daytime network client interface

SYNOPSIS
DESCRIPTION
  inet_time ( [HOST [, PROTOCOL [, TIMEOUT]]]), inet_daytime ( [HOST [, PROTOCOL [, TIMEOUT]]])

AUTHOR
COPYRIGHT

## Net::hostent - by-name interface to Perl's built-in gethost*() functions

SYNOPSIS
DESCRIPTION
EXAMPLES
NOTE
AUTHOR

## Net::libnetFAQ, libnetFAQ - libnet Frequently Asked Questions

DESCRIPTION

Where to get this document
How to contribute to this document

Author and Copyright Information

Disclaimer

Obtaining and installing libnet

What is libnet ?
Which version of perl do I need ?
What other modules do I need ?
What machines support libnet ?
Where can I get the latest libnet release

Using Net::FTP

How do I download files from an FTP server ?
How do I transfer files in binary mode ?
How can I get the size of a file on a remote FTP server ?
How can I get the modification time of a file on a remote FTP server ?
How can I change the permissions of a file on a remote server ?
Can I do a reget operation like the ftp command ?
How do I get a directory listing from an FTP server ?
Changing directory to ``'' does not fail ?
I am behind a SOCKS firewall, but the Firewall option does not work ?
I am behind an FTP proxy firewall, but cannot access machines outside ?
My ftp proxy firewall does not listen on port 21
Is it possible to change the file permissions of a file on an FTP server ?
I have seen scripts call a method message, but cannot find it documented ?
Why does Net::FTP not implement mput and mget methods

Using Net::SMTP

Why can't the part of an Email address after the @ be used as the hostname ?
Why does Net::SMTP not do DNS MX lookups ?
The verify method always returns true ?

Debugging scripts

How can I debug my scripts that use Net::* modules ?

AUTHOR AND COPYRIGHT

## Net::netent - by-name interface to Perl's built-in getnet*() functions

SYNOPSIS
DESCRIPTION
EXAMPLES
NOTE
AUTHOR

## Net::protoent - by-name interface to Perl's built-in getproto*() functions

SYNOPSIS
DESCRIPTION
NOTE
AUTHOR

## Net::servent - by-name interface to Perl's built-in getserv*() functions

SYNOPSIS
DESCRIPTION
EXAMPLES
NOTE
AUTHOR

## Netrc, Net::Netrc - OO interface to users netrc file

SYNOPSIS
DESCRIPTION
THE .netrc FILE
  machine name, default, login name, password string, account string, macdef name

CONSTRUCTOR
  lookup ( MACHINE [, LOGIN ])

METHODS
  login (), password (), account (), lpa ()

AUTHOR
SEE ALSO
COPYRIGHT

## O - Generic interface to Perl Compiler backends

SYNOPSIS
DESCRIPTION
CONVENTIONS
IMPLEMENTATION
BUGS
AUTHOR

## ODBM_File - Tied access to odbm files

SYNOPSIS
DESCRIPTION
  `O_RDONLY`, `O_WRONLY`, `O_RDWR`

DIAGNOSTICS

`odbm store returned -1, errno 22, key "..." at ...`

BUGS AND WARNINGS

## Opcode - Disable named opcodes when compiling perl code

SYNOPSIS
DESCRIPTION
NOTE
WARNING
Operator Names and Operator Lists
  an operator name (opname), an operator tag name (optag), a negated opname or optag, an operator set (opset)

Opcode Functions
  opcodes, opset (OP, ...), opset_to_ops (OPSET), opset_to_hex (OPSET), full_opset, empty_opset, invert_opset (OPSET), verify_opset (OPSET, ...), define_optag (OPTAG, OPSET), opmask_add (OPSET), opmask, opdesc (OP, ...), opdump (PAT)

Manipulating Opsets
TO DO (maybe)

Predefined Opcode Tags
  :base_core, :base_mem, :base_loop, :base_io, :base_orig, :base_math, :base_thread, :default, :filesys_read, :sys_db, :browse, :filesys_open, :filesys_write, :subprocess, :ownprocess, :others, :still_to_be_decided, :dangerous

SEE ALSO
AUTHORS

## Opcode::Safe, Safe - Compile and execute code in restricted compartments

SYNOPSIS
DESCRIPTION
  a new namespace, an operator mask

WARNING

RECENT CHANGES
Methods in class Safe
  permit (OP, ...), permit_only (OP, ...), deny (OP, ...), deny_only (OP, ...), trap (OP, ...), untrap (OP, ...), share (NAME, ...), share_from (PACKAGE, ARRAYREF), varglob (VARNAME), reval (STRING), rdo (FILENAME), root (NAMESPACE), mask (MASK)

Some Safety Issues
  Memory, CPU, Snooping, Signals, State Changes

AUTHOR

## Opcode::ops, ops - Perl pragma to restrict unsafe operations when compiling

SYNOPSIS
DESCRIPTION
SEE ALSO

## POSIX - Perl interface to IEEE Std 1003.1

SYNOPSIS
DESCRIPTION
NOTE
CAVEATS
FUNCTIONS
  _exit, abort, abs, access, acos, alarm, asctime, asin, assert, atan, atan2, atexit, atof, atoi, atol, bsearch, calloc, ceil, chdir, chmod, chown, clearerr, clock, close, closedir, cos, cosh, creat, ctermid, ctime, cuserid, difftime, div, dup, dup2, errno, execl, execle, execlp, execv, execve, execvp, exit, exp, fabs, fclose, fcntl, fdopen, feof, ferror, fflush, fgetc, fgetpos, fgets, fileno, floor, fmod, fopen, fork, fpathconf, fprintf, fputc, fputs, fread, free, freopen, frexp, fscanf, fseek, fsetpos, fstat, fsync, ftell, fwrite, getc, getchar, getcwd, getegid, getenv, geteuid, getgid, getgrgid, getgrnam, getgroups, getlogin, getpgrp, getpid, getppid, getpwnam, getpwuid, gets, getuid, gmtime, isalnum, isalpha, isatty, iscntrl, isdigit, isgraph, islower, isprint, ispunct, isspace, isupper, isxdigit, kill, labs, ldexp, ldiv, link, localeconv, localtime, log, log10, longjmp, lseek, malloc, mblen, mbstowcs, mbtowc, memchr, memcmp, memcpy, memmove, memset, mkdir, mkfifo, mktime, modf, nice, offsetof, open, opendir, pathconf, pause, perror, pipe, pow, printf, putc, putchar, puts, qsort, raise, rand, read, readdir, realloc, remove, rename, rewind, rewinddir, rmdir, scanf, setgid, setjmp, setlocale, setpgid, setsid, setuid, sigaction, siglongjmp, sigpending, sigprocmask, sigsetjmp, sigsuspend, sin, sinh, sleep, sprintf, sqrt, srand, sscanf, stat, strcat, strchr, strcmp, strcoll, strcpy, strcspn, strerror, strftime, strlen, strncat, strncmp, strncpy, strpbrk, strrchr, strspn, strstr, strtod, strtok, strtol, strtoul, strxfrm, sysconf, system, tan, tanh, tcdrain, tcflow, tcflush, tcgetpgrp, tcsendbreak, tcsetpgrp, time, times, tmpfile, tmpnam, tolower, toupper, ttyname, tzname, tzset, umask, uname, ungetc, unlink, utime, vfprintf, vprintf, vsprintf, wait, waitpid, wcstombs, wctomb, write

CLASSES

POSIX::SigAction
  new, handler, mask, flags, safe

POSIX::SigSet
  new, addset, delset, emptyset, fillset, ismember

POSIX::Termios
  new, getattr, getcc, getcflag, getiflag, getispeed, getlflag, getoflag, getospeed, setattr, setcc, setcflag, setiflag, setispeed, setlflag, setoflag, setospeed, Baud rate values, Terminal interface values, c_cc field values, c_cflag field values, c_iflag field values, c_lflag field values, c_oflag field values

PATHNAME CONSTANTS
  Constants

POSIX CONSTANTS
  Constants

SYSTEM CONFIGURATION
  Constants

ERRNO
  Constants

FCNTL
  Constants

FLOAT
  Constants

LIMITS
  Constants

LOCALE
  Constants

MATH
  Constants

SIGNAL
  Constants

STAT
  Constants, Macros

STDLIB
  Constants

STDIO
  Constants

TIME
  Constants

UNISTD
  Constants

WAIT
  Constants, WNOHANG, WUNTRACED, Macros, WIFEXITED, WEXITSTATUS, WIFSIGNALED, WTERMSIG, WIFSTOPPED, WSTOPSIG

## PerlIO - On demand loader for PerlIO layers and root of PerlIO::* name space

SYNOPSIS
DESCRIPTION
  :unix, :stdio, :perlio, :crlf, :mmap, :utf8, :bytes, :raw, :pop, :win32

Custom Layers
  :encoding, :via

Alternatives to raw
Defaults and how to override them
Querying the layers of filehandles

AUTHOR
SEE ALSO

## PerlIO::encoding - encoding layer

SYNOPSIS
DESCRIPTION
SEE ALSO

## PerlIO::scalar - in-memory IO, scalar IO

SYNOPSIS
DESCRIPTION
IMPLEMENTATION NOTE

## PerlIO::via - Helper class for PerlIO layers implemented in perl

SYNOPSIS
DESCRIPTION
EXPECTED METHODS
  $class->PUSHED([$mode[,$fh]]), $obj->POPPED([$fh]), $obj->UTF8($bellowFlag,[$fh]), $obj->OPEN($path,$mode[,$fh]), $obj->BINMODE([,$fh]), $obj->FDOPEN($fd[,$fh]), $obj->SYSOPEN($path,$imode,$perm,[,$fh]), $obj->FILENO($fh), $obj->READ($buffer,$len,$fh), $obj->WRITE($buffer,$fh), $obj->FILL($fh), $obj->CLOSE($fh), $obj->SEEK($posn,$whence,$fh), $obj->TELL($fh), $obj->UNREAD($buffer,$fh), $obj->FLUSH($fh), $obj->SETLINEBUF($fh), $obj->CLEARERR($fh), $obj->ERROR($fh), $obj->`EOF($fh)`

EXAMPLES

Example - a Hexadecimal Handle

## PerlIO::via::QuotedPrint - PerlIO layer for quoted-printable strings

SYNOPSIS
DESCRIPTION
REQUIRED MODULES
SEE ALSO
ACKNOWLEDGEMENTS
COPYRIGHT

## Pod::Checker, `podchecker()` - check pod documents for syntax errors

SYNOPSIS
OPTIONS/ARGUMENTS

`podchecker()`
  -warnings => val

DESCRIPTION
DIAGNOSTICS

Errors
  empty =headn, =over on line N without closing =back, =item without previous =over, =back without previous =over, No argument for =begin, =end without =begin, Nested =begin's, =for without formatter specification, unresolved internal link NAME, Unknown command ``CMD'', Unknown interior-sequence ``SEQ'', nested commands CMD<...CMD<...>...>, garbled entity STRING, Entity number out of range, malformed link L<>, nonempty Z<>, empty X<>, Spurious text after =pod / =cut, Spurious `character(s)` after =back

Warnings
  multiple occurrence of link target name, line containing nothing but whitespace in paragraph, file does not start with =head, previous =item has no contents, preceding non-item paragraph(s), =item type mismatch (one vs. two), N unescaped `<>` in paragraph, Unknown entity, No items in =over, No argument for =item, empty section in previous paragraph, Verbatim paragraph in NAME section, =headn without preceding higher level

Hyperlinks
  ignoring leading/trailing whitespace in link, (section) in '$page' deprecated, alternative text/node '%s' contains non-escaped | or /

RETURN VALUE
EXAMPLES
INTERFACE

`Pod::Checker->new( %options )`

`$checker->poderror( @args )`, `$checker->poderror( {%opts}, @args )`

`$checker->num_errors()`

`$checker->num_warnings()`

`$checker->name()`

`$checker->node()`

`$checker->idx()`

`$checker->hyperlink()`

AUTHOR

## Pod::Find - find POD documents in directory trees

SYNOPSIS
DESCRIPTION

`pod_find( { %opts } , @directories )`
  `-verbose => 1`, `-perl => 1`, `-script => 1`, `-inc => 1`

`simplify_name( $str )`

`pod_where( { %opts }, $pod )`
  `-inc => 1`, `-dirs => [ $dir1, $dir2, ... ]`, `-verbose => 1`

`contains_pod( $file , $verbose )`

AUTHOR
SEE ALSO

## Pod::Html - module to convert pod files to HTML

SYNOPSIS
DESCRIPTION
ARGUMENTS
  backlink, cachedir, css, flush, header, help, hiddendirs, htmldir, htmlroot, index, infile, libpods, netscape, outfile, podpath, podroot, quiet, recurse, title, verbose

EXAMPLE
ENVIRONMENT
AUTHOR
SEE ALSO
COPYRIGHT

## Pod::InputObjects - objects representing POD input paragraphs, commands, etc.

SYNOPSIS
REQUIRES
EXPORTS
DESCRIPTION
  package Pod::InputSource, package Pod::Paragraph, package Pod::InteriorSequence, package Pod::ParseTree

Pod::InputSource

new()

name()

handle()

was_cutting()

Pod::Paragraph

Pod::Paragraph->new()

$pod_para->cmd_name()

$pod_para->text()

$pod_para->raw_text()

$pod_para->cmd_prefix()

$pod_para->cmd_separator()

$pod_para->parse_tree()

$pod_para->file_line()

Pod::InteriorSequence

Pod::InteriorSequence->new()

$pod_seq->cmd_name()

$pod_seq->prepend()

$pod_seq->append()

$pod_seq->nested()

$pod_seq->raw_text()

$pod_seq->left_delimiter()

$pod_seq->right_delimiter()

$pod_seq->parse_tree()

$pod_seq->file_line()

Pod::InteriorSequence::DESTROY()

Pod::ParseTree

Pod::ParseTree->new()

$ptree->top()

$ptree->children()

$ptree->prepend()

$ptree->append()

$ptree->raw_text()

Pod::ParseTree::DESTROY()

SEE ALSO
AUTHOR

## Pod::LaTeX - Convert Pod data to formatted Latex

SYNOPSIS
DESCRIPTION

OBJECT METHODS
  `initialize`

Data Accessors
  AddPreamble

AddPostamble

Head1Level

Label

LevelNoNum

MakeIndex

ReplaceNAMEwithSection

StartWithNewPage

TableOfContents

UniqueLabels

UserPreamble

UserPostamble

Lists

Subclassed methods

begin_pod

end_pod

command

verbatim

textblock

interior_sequence

List Methods
  begin_list

end_list

add_item

Methods for headings
  head

Internal methods
  _output

_replace_special_chars

_replace_special_chars_late

_create_label

_create_index

_clean_latex_commands

_split_delimited

NOTES
SEE ALSO
AUTHORS
COPYRIGHT
REVISION

## Pod::Man - Convert POD data to formatted *roff input

SYNOPSIS
DESCRIPTION
  center, date, fixed, fixedbold, fixeditalic, fixedbolditalic, name, quotes, release, section

DIAGNOSTICS
  roff font should be 1 or 2 chars, not ``%s'', Invalid link %s, Invalid quote specification ``%s'', %s:%d: Unknown command paragraph ``%s'', %s:%d: Unknown escape E<%s>, %s:%d: Unknown formatting code %s, %s:%d: Unmatched =back

BUGS
CAVEATS
SEE ALSO
AUTHOR
COPYRIGHT AND LICENSE

## Pod::ParseLink - Parse an L<> formatting code in POD text

SYNOPSIS
DESCRIPTION
SEE ALSO
AUTHOR
COPYRIGHT AND LICENSE

## Pod::ParseUtils - helpers for POD parsing and conversion

SYNOPSIS
DESCRIPTION

Pod::List
  Pod::List->`new()`

$list->`file()`

$list->`start()`

$list->`indent()`

$list->`type()`

$list->`rx()`

$list->`item()`

$list->`parent()`

$list->`tag()`

Pod::Hyperlink
  Pod::Hyperlink->`new()`

$link->`parse($string)`

$link->`markup($string)`

$link->`text()`

$link->`warning()`

$link->file(), $link->`line()`

$link->`page()`

$link->`node()`

$link->`alttext()`

$link->`type()`

$link->`link()`

Pod::Cache
  Pod::Cache->`new()`

$cache->`item()`

$cache->`find_page($name)`

Pod::Cache::Item
  Pod::Cache::Item->`new()`

$cacheitem->`page()`

$cacheitem->`description()`

$cacheitem->`path()`

$cacheitem->`file()`

$cacheitem->`nodes()`

$cacheitem->`find_node($name)`

$cacheitem->`idx()`

AUTHOR
SEE ALSO

## Pod::Parser - base class for creating POD filters and translators

SYNOPSIS
REQUIRES
EXPORTS
DESCRIPTION
QUICK OVERVIEW
PARSING OPTIONS
  -want_nonPODs (default: unset), -process_cut_cmd (default: unset), -warnings (default: unset)

RECOMMENDED SUBROUTINE/METHOD OVERRIDES

command()
  `$cmd`, `$text`, `$line_num`, `$pod_para`

verbatim()
  `$text`, `$line_num`, `$pod_para`

textblock()
  `$text`, `$line_num`, `$pod_para`

interior_sequence()

OPTIONAL SUBROUTINE/METHOD OVERRIDES

new()

initialize()

begin_pod()

begin_input()

end_input()

end_pod()

preprocess_line()

preprocess_paragraph()

METHODS FOR PARSING AND PROCESSING

parse_text()
  -expand_seq => code-ref|method-name, -expand_text => code-ref|method-name, -expand_ptree => code-ref|method-name

interpolate()

parse_paragraph()

parse_from_filehandle()

parse_from_file()

ACCESSOR METHODS

errorsub()

cutting()

parseopts()

output_file()

output_handle()

input_file()

input_handle()

input_streams()

top_stream()

PRIVATE METHODS AND DATA

_push_input_stream()

_pop_input_stream()

TREE-BASED PARSING
SEE ALSO
AUTHOR

## Pod::Perldoc::ToChecker - let Perldoc check Pod for errors

SYNOPSIS
DESCRIPTION
SEE ALSO
COPYRIGHT AND DISCLAIMERS
AUTHOR

## Pod::Perldoc::ToMan - let Perldoc render Pod as man pages

SYNOPSIS
DESCRIPTION
CAVEAT
SEE ALSO
COPYRIGHT AND DISCLAIMERS
AUTHOR

## Pod::Perldoc::ToNroff - let Perldoc convert Pod to nroff

SYNOPSIS
DESCRIPTION
CAVEAT
SEE ALSO
COPYRIGHT AND DISCLAIMERS
AUTHOR

## Pod::Perldoc::ToPod - let Perldoc render Pod as ... Pod!

SYNOPSIS
DESCRIPTION
SEE ALSO
COPYRIGHT AND DISCLAIMERS
AUTHOR

## Pod::Perldoc::ToRtf - let Perldoc render Pod as RTF

SYNOPSIS
DESCRIPTION
SEE ALSO
COPYRIGHT AND DISCLAIMERS
AUTHOR

## Pod::Perldoc::ToText - let Perldoc render Pod as plaintext

SYNOPSIS
DESCRIPTION
CAVEAT
SEE ALSO
COPYRIGHT AND DISCLAIMERS
AUTHOR

## Pod::Perldoc::ToTk - let Perldoc use Tk::Pod to render Pod

SYNOPSIS
DESCRIPTION
SEE ALSO
AUTHOR

## Pod::Perldoc::ToXml - let Perldoc render Pod as XML

SYNOPSIS
DESCRIPTION
SEE ALSO
COPYRIGHT AND DISCLAIMERS
AUTHOR

## Pod::PlainText - Convert POD data to formatted ASCII text

SYNOPSIS
DESCRIPTION
  alt, indent, loose, sentence, width

DIAGNOSTICS
  Bizarre space in item, Can't open %s for reading: %s, Unknown escape: %s, Unknown sequence: %s, Unmatched =back

RESTRICTIONS
NOTES
SEE ALSO
AUTHOR

## Pod::Plainer - Perl extension for converting Pod to old style Pod.

SYNOPSIS
DESCRIPTION

EXPORT

AUTHOR
SEE ALSO

## Pod::Select, `podselect()` - extract selected sections of POD from input

SYNOPSIS
REQUIRES
EXPORTS
DESCRIPTION
SECTION SPECIFICATIONS
RANGE SPECIFICATIONS

OBJECT METHODS

curr_headings()

select()

add_selection()

clear_selections()

match_section()

is_selected()

EXPORTED FUNCTIONS

podselect()
  -output, -sections, -ranges

PRIVATE METHODS AND DATA

_compile_section_spec()

$self->{_SECTION_HEADINGS}

$self->{_SELECTED_SECTIONS}

SEE ALSO
AUTHOR

## Pod::Text - Convert POD data to formatted ASCII text

SYNOPSIS
DESCRIPTION
  alt, code, indent, loose, margin, quotes, sentence, width

DIAGNOSTICS
  Bizarre space in item, Item called without tag, Can't open %s for reading: %s, Invalid quote specification ``%s'', %s:%d: Unknown command paragraph: %s, %s:%d: Unknown escape: %s, %s:%d: Unknown formatting code: %s, %s:%d: Unmatched =back

RESTRICTIONS
NOTES
SEE ALSO
AUTHOR
COPYRIGHT AND LICENSE

## Pod::Text::Color - Convert POD data to formatted color ASCII text

SYNOPSIS
DESCRIPTION
BUGS
SEE ALSO
AUTHOR
COPYRIGHT AND LICENSE

## Pod::Text::Overstrike - Convert POD data to formatted overstrike text

SYNOPSIS
DESCRIPTION
BUGS
SEE ALSO
AUTHOR
COPYRIGHT AND LICENSE

## Pod::Text::Termcap - Convert POD data to ASCII text with format escapes

SYNOPSIS
DESCRIPTION
NOTES
SEE ALSO
AUTHOR
COPYRIGHT AND LICENSE

## Pod::Usage, `pod2usage()` - print a usage message from embedded pod documentation

SYNOPSIS
ARGUMENTS
  `-message`, `-msg`, `-exitval`, `-verbose`, `-output`, `-input`, `-pathlist`

DESCRIPTION
EXAMPLES

Recommended Use

CAVEATS
AUTHOR
ACKNOWLEDGEMENTS

## SDBM_File - Tied access to sdbm files

SYNOPSIS
DESCRIPTION
  `O_RDONLY`, `O_WRONLY`, `O_RDWR`

DIAGNOSTICS

`sdbm store returned -1, errno 22, key "..." at ...`

BUGS AND WARNINGS

## Safe - Compile and execute code in restricted compartments

SYNOPSIS
DESCRIPTION
  a new namespace, an operator mask

WARNING

RECENT CHANGES
Methods in class Safe
  permit (OP, ...), permit_only (OP, ...), deny (OP, ...), deny_only (OP, ...), trap (OP, ...), untrap (OP, ...), share (NAME, ...), share_from (PACKAGE, ARRAYREF), varglob (VARNAME), reval (STRING), rdo (FILENAME), root (NAMESPACE), mask (MASK)

Some Safety Issues
  Memory, CPU, Snooping, Signals, State Changes

AUTHOR

## Scalar::Util - A selection of general-utility scalar subroutines

SYNOPSIS
DESCRIPTION
  blessed EXPR, dualvar NUM, STRING, isvstring EXPR, isweak EXPR, looks_like_number EXPR, openhandle FH, refaddr EXPR, reftype EXPR, set_prototype CODEREF, PROTOTYPE, tainted EXPR, weaken REF

KNOWN BUGS
COPYRIGHT
BLATANT PLUG

## Search::Dict, look - search for key in dictionary file

SYNOPSIS
DESCRIPTION

## SelectSaver - save and restore selected file handle

SYNOPSIS
DESCRIPTION

## SelfLoader - load functions only on demand

SYNOPSIS
DESCRIPTION

The __DATA__ token
SelfLoader autoloading
Autoloading and package lexicals
SelfLoader and AutoLoader
__DATA__, __END__, and the FOOBAR::DATA filehandle.
Classes and inherited methods.

Multiple packages and fully qualified subroutine names

## Shell - run shell commands transparently within perl

SYNOPSIS
DESCRIPTION

OBJECT ORIENTED SYNTAX

AUTHOR

## Socket, sockaddr_in, sockaddr_un, inet_aton, inet_ntoa - load the C socket.h defines and structure manipulators

SYNOPSIS
DESCRIPTION
  inet_aton HOSTNAME, inet_ntoa IP_ADDRESS, INADDR_ANY, INADDR_BROADCAST, INADDR_LOOPBACK, INADDR_NONE, sockaddr_family SOCKADDR, sockaddr_in PORT, ADDRESS, sockaddr_in SOCKADDR_IN, pack_sockaddr_in PORT, IP_ADDRESS, unpack_sockaddr_in SOCKADDR_IN, sockaddr_un PATHNAME, sockaddr_un SOCKADDR_UN, pack_sockaddr_un PATH, unpack_sockaddr_un SOCKADDR_UN

## Storable - persistence for Perl data structures

SYNOPSIS
DESCRIPTION
MEMORY STORE
ADVISORY LOCKING
SPEED
CANONICAL REPRESENTATION
CODE REFERENCES
FORWARD COMPATIBILITY
  utf8 data, restricted hashes, files from future versions of Storable

ERROR REPORTING
WIZARDS ONLY

Hooks
  `STORABLE_freeze` obj, cloning, `STORABLE_thaw` obj, cloning, serialized, ..

Predicates
  `Storable::last_op_in_netorder`, `Storable::is_storing`, `Storable::is_retrieving`

Recursion
Deep Cloning

Storable magic
EXAMPLES
WARNING
BUGS

1. bit data in perl 5.6.0 and 5.6.1

CREDITS
AUTHOR
SEE ALSO

## Switch - A switch statement for Perl

VERSION
SYNOPSIS
BACKGROUND
DESCRIPTION

Allowing fall-through
Automating fall-through
Alternative syntax
Higher-order Operations

DEPENDENCIES
AUTHOR
BUGS
LIMITATIONS
COPYRIGHT

## Symbol - manipulate Perl symbols and their names

SYNOPSIS
DESCRIPTION
BUGS

## Sys::Hostname - Try every conceivable way to get hostname

SYNOPSIS
DESCRIPTION
AUTHOR

## Syslog, Sys::Syslog, openlog, closelog, setlogmask, syslog - Perl interface to the UNIX `syslog(3)` calls

SYNOPSIS
DESCRIPTION
  openlog $ident, $logopt, $facility, syslog $priority, $format, @args, setlogmask $mask_priority, setlogsock $sock_type [$stream_location] (added in 5.004_02), closelog

EXAMPLES
SEE ALSO
AUTHOR

## Syslog::Syslog, Sys::Syslog, openlog, closelog, setlogmask, syslog - Perl interface to the UNIX `syslog(3)` calls

SYNOPSIS
DESCRIPTION
  openlog $ident, $logopt, $facility, syslog $priority, $format, @args, setlogmask $mask_priority, setlogsock $sock_type [$stream_location] (added in 5.004_02), closelog

EXAMPLES
SEE ALSO
AUTHOR

## Term::ANSIColor - Color screen output using ANSI escape sequences

SYNOPSIS
DESCRIPTION
DIAGNOSTICS
  Bad escape sequence %s, Bareword ``%s'' not allowed while ``strict subs'' in use, Invalid attribute name %s, Name ``%s'' used only once: possible typo, No comma allowed after filehandle, No name for escape sequence %s

ENVIRONMENT
  ANSI_COLORS_DISABLED

RESTRICTIONS
NOTES
SEE ALSO
AUTHORS
COPYRIGHT AND LICENSE

## Term::Cap - Perl termcap interface

SYNOPSIS
DESCRIPTION

METHODS

Tgetent, OSPEED, TERM

Tpad, $string, $cnt, $FH

Tputs, $cap, $cnt, $FH

Tgoto, $cap, $col, $row, $FH

Trequire

EXAMPLES
COPYRIGHT AND LICENSE
AUTHOR
SEE ALSO

## Term::Complete - Perl word completion module

SYNOPSIS
DESCRIPTION
  <tab>, ^D, ^U, <del>, <bs>

DIAGNOSTICS
BUGS
AUTHOR

## Term::ReadLine - Perl interface to various `readline` packages. If no real package is found, substitutes stubs instead of basic functions.

SYNOPSIS
DESCRIPTION
Minimal set of supported functions
  `ReadLine`, `new`, `readline`, `addhistory`, `IN`, `OUT`, `MinLine`, `findConsole`, Attribs, `Features`

Additional supported functions
  `tkRunning`, `ornaments`, `newTTY`

EXPORTS
ENVIRONMENT
CAVEATS

## Test - provides a simple framework for writing test scripts

SYNOPSIS
DESCRIPTION
QUICK START GUIDE

Functions
  `plan(...)`, `tests => number`, `todo => [1,5,14]`, `onfail => sub { ... }`, `onfail => \&some_sub`

_to_value

`ok(...)`

`skip(skip_if_true, args...)`

TEST TYPES
  NORMAL TESTS, SKIPPED TESTS, TODO TESTS

ONFAIL
BUGS and CAVEATS
NOTE
SEE ALSO
AUTHOR

## Test::Builder - Backend for building test libraries

SYNOPSIS
DESCRIPTION

Construction
  new

Setting up tests
  exported_to

plan

expected_tests

no_plan

has_plan

skip_all

Running tests
  ok

is_eq, is_num

isnt_eq, isnt_num

like, unlike

maybe_regex

cmp_ok

BAILOUT

skip

todo_skip

skip_rest

Test style
  level

use_numbers

no_header, no_ending

Output
  diag

_print

output, failure_output, todo_output

Test Status and Info
  current_test

summary

details

todo

caller

_sanity_check

_whoa

_my_exit

THREADS
EXAMPLES
SEE ALSO
AUTHORS
COPYRIGHT

## Test::Harness - Run Perl standard test scripts with statistics

VERSION

SYNOPSIS
DESCRIPTION

The test script output
  '1..M', 'ok', 'not ok'. Ok?, test numbers, test names, Skipping tests, Todo tests, Bail out!, Comments, Anything else

Taint mode
Configuration variables.
  $Test::Harness::Verbose, $Test::Harness::switches

Failure
  Failed Test, Stat, Wstat, Total, Fail, Failed, List of Failed

Functions
  runtests

_all_ok

_globdir

_run_all_tests

_mk_leader

_leader_width

EXPORT
DIAGNOSTICS
  `All tests successful.\nFiles=%d, Tests=%d, %s`, `FAILED tests %s\n\tFailed %d/%d tests, %.2f%% okay.`, `Test returned status %d (wstat %d)`, `Failed 1 test, %.2f%% okay. %s`, `Failed %d/%d tests, %.2f%% okay. %s`, `FAILED--Further testing stopped: %s`

ENVIRONMENT
  `HARNESS_ACTIVE`, `HARNESS_COLUMNS`, `HARNESS_COMPILE_TEST`, `HARNESS_DEBUG`, `HARNESS_FILELEAK_IN_DIR`, `HARNESS_IGNORE_EXITCODE`, `HARNESS_NOTTY`, `HARNESS_OK_SLOW`, `HARNESS_PERL`, `HARNESS_PERL_SWITCHES`, `HARNESS_VERBOSE`

EXAMPLE
SEE ALSO
AUTHORS
LICENSE
TODO
BUGS
AUTHORS
COPYRIGHT

## Test::Harness::Assert - simple assert

SYNOPSIS
DESCRIPTION
FUNCTIONS

`assert()`

AUTHOR
SEE ALSO

## Test::Harness::Iterator - Internal Test::Harness Iterator

SYNOPSIS
DESCRIPTION

`new()`
`next()`

## Test::Harness::Straps - detailed analysis of test results

SYNOPSIS
DESCRIPTION
Construction

`new`

`_init`

Analysis

`analyze`

`analyze_fh`

`analyze_file`

`_command_line( $file )`

`_command`

`_switches`

`_cleaned_switches`

`_INC2PERL5LIB`

`_filtered_INC`

`_restore_PERL5LIB`

Parsing

`_is_comment`

`_is_header`

`_is_test`

`_is_bail_out`

`_reset_file_state`

Results

`_detailize`

EXAMPLES
AUTHOR
SEE ALSO

## Test::More - yet another framework for writing test scripts

SYNOPSIS
DESCRIPTION

I love it when a plan comes together

Test names
I'm ok, you're not ok.
  ok

is, isnt

like

unlike

cmp_ok

can_ok

isa_ok

pass, fail

Diagnostics
  diag

Module tests
  use_ok

require_ok

Conditional tests
  SKIP: BLOCK

TODO: BLOCK, todo_skip

When do I use SKIP vs. TODO?

Comparison functions
  is_deeply

eq_array

eq_hash

eq_set

Extending and Embedding Test::More
  builder

NOTES
BUGS and CAVEATS
  Making your own ok(), The eq_* family has some caveats, Test::Harness upgrades

HISTORY
SEE ALSO
AUTHORS
COPYRIGHT

## Test::Simple - Basic utilities for writing tests.

SYNOPSIS
DESCRIPTION
  ok

EXAMPLE
CAVEATS
NOTES
HISTORY
SEE ALSO
  the Test::More manpage, the Test manpage, the Test::Unit manpage, the Test::Inline manpage, SelfTest, the Test::Harness manpage

AUTHORS
COPYRIGHT

## Test::Tutorial - A tutorial about writing really basic tests

DESCRIPTION

Nuts and bolts of testing.
Where to start?
Names
Test the manual
Sometimes the tests are wrong
Testing lots of values
Informative names
Skipping tests
Todo tests
Testing with taint mode.

FOOTNOTES
AUTHORS
COPYRIGHT

## Text::Abbrev, abbrev - create an abbreviation table from a list

SYNOPSIS
DESCRIPTION
EXAMPLE

## Text::Balanced - Extract delimited text sequences from strings.

SYNOPSIS
DESCRIPTION

General behaviour in list contexts
  [0], [1], [2]

General behaviour in scalar and void contexts
A note about prefixes
`extract_delimited`
`extract_bracketed`
`extract_variable`
  [0], [1], [2]

`extract_tagged`
  `reject => $listref`, `ignore => $listref`, `fail => $str`, [0], [1], [2], [3], [4], [5]

`gen_extract_tagged`
`extract_quotelike`
  [0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10]

`extract_quotelike` and ``here documents''
  [0], [1], [2], [3], [4], [5], [6], [7..10]

`extract_codeblock`
`extract_multiple`
`gen_delimited_pat`

DIAGNOSTICS

       C<Did not find a suitable bracket: "%s">,  C<Did not find prefix: /%s/>,
      C<Did not find opening bracket after prefix: "%s">,  C<No quotelike
      operator found after prefix: "%s">,  C<Unmatched closing bracket: "%c">,
      C<Unmatched opening bracket(s): "%s">, C<Unmatched embedded quote (%s)>,
      C<Did not find closing delimiter to match '%s'>,  C<Mismatched closing
      bracket: expected "%c" but found "%s">,  C<No block delimiter found after
      quotelike "%s">, C<Did not find leading dereferencer>, C<Bad identifier
      after dereferencer>, C<Did not find expected opening bracket at %s>,
      C<Improperly nested codeblock at %s>,  C<Missing second block for quotelike
      "%s">, C<No match found for opening bracket>, C<Did not find opening tag:
      /%s/>, C<Unable to construct closing tag to match: /%s/>, C<Found invalid
      nested tag: %s>, C<Found unbalanced nested tag: %s>, C<Did not find closing
      tag>

AUTHOR
BUGS AND IRRITATIONS
COPYRIGHT

## Text::ParseWords - parse text into an array of tokens or array of arrays

SYNOPSIS
DESCRIPTION
EXAMPLES
AUTHORS

## Text::Soundex - Implementation of the Soundex Algorithm as Described by Knuth

SYNOPSIS
DESCRIPTION
EXAMPLES
LIMITATIONS
AUTHOR

## Text::Tabs -- expand and unexpand tabs per the unix `expand(1)` and `unexpand(1)`

SYNOPSIS
DESCRIPTION
BUGS
AUTHOR

## Text::Wrap - line wrapping to form simple paragraphs

SYNOPSIS
DESCRIPTION
OVERRIDES
EXAMPLE
AUTHOR

## Thread - manipulate threads in Perl (for old code only)

CAVEAT
SYNOPSIS
DESCRIPTION
FUNCTIONS
  $thread = Thread->new(\&start_sub), $thread = Thread->new(\&start_sub, LIST), lock VARIABLE, async BLOCK;, Thread->self, cond_wait VARIABLE, cond_signal VARIABLE, cond_broadcast VARIABLE, yield

METHODS
  join, eval, detach, equal, tid, flags, done

LIMITATIONS
SEE ALSO

## Thread::Queue - thread-safe queues

SYNOPSIS
DESCRIPTION
FUNCTIONS AND METHODS
  new, enqueue LIST, dequeue, dequeue_nb, pending

SEE ALSO

## Thread::Semaphore - thread-safe semaphores

SYNOPSIS
DESCRIPTION
FUNCTIONS AND METHODS
  new, new NUMBER, down, down NUMBER, up, up NUMBER

## Thread::Signal - Start a thread which runs signal handlers reliably (for old code)

CAVEAT
SYNOPSIS
DESCRIPTION
BUGS

## Thread::Specific - thread-specific keys

SYNOPSIS
DESCRIPTION

## Tie::Array - base class for tied arrays

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

CAVEATS
AUTHOR

## Tie::File - Access the lines of a disk file via a Perl array

SYNOPSIS
DESCRIPTION

`recsep`
`autochomp`
`mode`
`memory`
`dw_size`
Option Format

Public Methods

`flock`
`autochomp`
`defer`, `flush`, `discard`, and `autodefer`
`offset`

Tying to an already-opened filehandle
Deferred Writing

Autodeferring

CONCURRENT ACCESS TO FILES
CAVEATS
SUBCLASSING
WHAT ABOUT `DB_File`?
AUTHOR
LICENSE
WARRANTY
THANKS
TODO

## Tie::Handle, Tie::StdHandle - base class definitions for tied handles

SYNOPSIS
DESCRIPTION
  TIEHANDLE classname, LIST, WRITE this, scalar, length, offset, PRINT this, LIST, PRINTF this, format, LIST, READ this, scalar, length, offset, READLINE this, GETC this, CLOSE this, OPEN this, filename, BINMODE this, EOF this, TELL this, SEEK this, offset, whence, DESTROY this

MORE INFORMATION
COMPATIBILITY

## Tie::Hash, Tie::StdHash, Tie::ExtraHash - base class definitions for tied hashes

SYNOPSIS
DESCRIPTION
  TIEHASH classname, LIST, STORE this, key, value, FETCH this, key, FIRSTKEY this, NEXTKEY this, lastkey, EXISTS this, key, DELETE this, key, CLEAR this, SCALAR this

Inheriting from Tie::StdHash
Inheriting from Tie::ExtraHash
`SCALAR`, `UNTIE` and `DESTROY`
MORE INFORMATION

## Tie::Memoize - add data to hash when needed

SYNOPSIS
DESCRIPTION
Inheriting from Tie::Memoize
EXAMPLE
BUGS
AUTHOR

## Tie::RefHash - use references as hash keys

SYNOPSIS
DESCRIPTION
EXAMPLE
AUTHOR
VERSION
SEE ALSO

## Tie::Scalar, Tie::StdScalar - base class definitions for tied scalars

SYNOPSIS
DESCRIPTION
  TIESCALAR classname, LIST, FETCH this, STORE this, value, DESTROY this

MORE INFORMATION

## Tie::SubstrHash - Fixed-table-size, fixed-key-length hashing

SYNOPSIS
DESCRIPTION
CAVEATS

## Time::HiRes - High resolution alarm, sleep, gettimeofday, interval timers

SYNOPSIS
DESCRIPTION
  gettimeofday (), usleep ( $useconds ), ualarm ( $useconds [, $interval_useconds ] ), tv_interval, time (), sleep ( $floating_seconds ), alarm ( $floating_seconds [, $interval_floating_seconds ] ), setitimer ( $which, $floating_seconds [, $interval_floating_seconds ] ), getitimer ( $which )

EXAMPLES
C API
DIAGNOSTICS

negative time not invented yet
internal error: useconds < 0 (unsigned ... signed ...)

CAVEATS
AUTHORS
COPYRIGHT AND LICENSE

## Time::Local - efficiently compute time from local and GMT time

SYNOPSIS
DESCRIPTION
IMPLEMENTATION
BUGS
SUPPORT
AUTHOR

## Time::gmtime - by-name interface to Perl's built-in `gmtime()` function

SYNOPSIS
DESCRIPTION
NOTE
AUTHOR

## Time::localtime - by-name interface to Perl's built-in `localtime()` function

SYNOPSIS
DESCRIPTION
NOTE
AUTHOR

## Time::tm - internal object used by Time::gmtime and Time::localtime

SYNOPSIS
DESCRIPTION
AUTHOR

## UNIVERSAL - base class for ALL classes (blessed references)

SYNOPSIS
DESCRIPTION
  `$obj->isa( TYPE )`, `CLASS->isa( TYPE )`, `isa( VAL, TYPE )`, `TYPE`, `$obj`, `CLASS`, `VAL`, `$obj->can( METHOD )`, `< CLASS-`can( METHOD ) >>, `can( VAL, METHOD )`, `VERSION ( [ REQUIRE ] )`

EXPORTS

## Unicode::Collate - Unicode Collation Algorithm

SYNOPSIS
DESCRIPTION

Constructor and Tailoring
  UCA_Version, backwards, entry, hangul_terminator, ignoreName, ignoreChar, level, normalization, overrideCJK, overrideHangul, preprocess, rearrange, table, undefName, undefChar, katakana_before_hiragana, upper_before_lower, variable, alternate

Methods for Collation
  `@sorted = $Collator->sort(@not_sorted)`, `$result = $Collator-E<gt>cmp($a, $b)`, `$result = $Collator->eq($a, $b)`, `$result = $Collator->ne($a, $b)`, `$result = $Collator->lt($a, $b)`, `$result = $Collator->le($a, $b)`, `$result = $Collator-E<gt>gt($a, $b)`, `$result = $Collator->ge($a, $b)`, `$sortKey = $Collator->getSortKey($string)`, `$sortKeyForm = $Collator-E<gt>viewSortKey($string)`

Methods for Searching
  `$position = $Collator->index($string, $substring[, $position])`, `($position, $length) = $Collator->index($string, $substring[, $position])`, `$match_ref = $Collator->match($string, $substring)`, `($match) = $Collator->match($string, $substring)`, `@match = $Collator-E<gt>gmatch($string, $substring)`, `$count = $Collator-E<gt>subst($string, $substring, $replacement)`, `$count = $Collator-E<gt>gsubst($string, $substring, $replacement)`

Other Methods
  `%old_tailoring = $Collator->change(%new_tailoring)`, `$version = $Collator-E<gt>version()`, `UCA_Version()`, `Base_Unicode_Version()`

EXPORT
CAVEAT
Conformance Test

AUTHOR
SEE ALSO
  Unicode Collation Algorithm - UTS #10, The Default Unicode Collation Element Table (DUCET), The conformance test for the UCA, Hangul Syllable Type, Unicode Normalization Forms - UAX #15, the Unicode::Normalize manpage

## Unicode::Normalize - Unicode Normalization Forms

SYNOPSIS
DESCRIPTION

Normalization Forms
  `$NFD_string = NFD($string)`, `$NFC_string = NFC($string)`, `$NFKD_string = NFKD($string)`, `$NFKC_string = NFKC($string)`, `$FCD_string = FCD($string)`, `$FCC_string = FCC($string)`, `$normalized_string = normalize($form_name, $string)`

Decomposition and Composition
  `$decomposed_string = decompose($string)`, `$decomposed_string = decompose($string, $useCompatMapping)`, `$reordered_string = reorder($string)`, `$composed_string = compose($string)`

Quick Check
  `$result = checkNFD($string)`, `$result = checkNFC($string)`, `$result = checkNFKD($string)`, `$result = checkNFKC($string)`, `$result = checkFCD($string)`, `$result = checkFCC($string)`, `$result = check($form_name, $string)`

Character Data
  `$canonical_decomposed = getCanon($codepoint)`, `$compatibility_decomposed = getCompat($codepoint)`, `$codepoint_composite = getComposite($codepoint_here, $codepoint_next)`, `$combining_class = getCombinClass($codepoint)`, `$is_exclusion = isExclusion($codepoint)`, `$is_singleton = isSingleton($codepoint)`, `$is_non_starter_decomposition = isNonStDecomp($codepoint)`, `$may_be_composed_with_prev_char = isComp2nd($codepoint)`

EXPORT

AUTHOR
SEE ALSO
  http://www.unicode.org/reports/tr15/, http://www.unicode.org/Public/UNIDATA/DerivedNormalizationProps.txt, http://www.unicode.org/notes/tn5/

## Unicode::UCD - Unicode character database

SYNOPSIS
DESCRIPTION

charinfo

charblock

charscript

charblocks

charscripts

Blocks versus Scripts
Matching Scripts and Blocks
Code Point Arguments
charinrange

compexcl

casefold

casespec

Unicode::UCD::UnicodeVersion

Implementation Note

BUGS
AUTHOR

## User::grent - by-name interface to Perl's built-in getgr*() functions

SYNOPSIS
DESCRIPTION
NOTE
AUTHOR

## User::pwent - by-name interface to Perl's built-in getpw*() functions

SYNOPSIS
DESCRIPTION

System Specifics

NOTE
AUTHOR
HISTORY
  March 18th, 2000

## XSLoader - Dynamically load C libraries into Perl code

SYNOPSIS
DESCRIPTION

Migration from `DynaLoader`
Backward compatible boilerplate

Order of initialization: early `load()`

The most hairy case

LIMITATIONS
AUTHOR

# AUXILIARY DOCUMENTATION

Here should be listed all the extra programs' documentation, but they don't all have manual pages yet:

a2p
c2ph
dprofpp
h2ph
h2xs
perlbug
perldoc
pl2pm
pod2html
pod2man
s2p
splain
xsubpp

# AUTHOR

Larry Wall <larry@wall.org>, with the help of oodles of other folks.

perltoc - perl documentation table of contents