- 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
- 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
- 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
- perlrebackslash - Perl Regular Expression Backslash Sequences and
- perlrecharclass - Perl Regular Expression Character Classes
- 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
- perlunifaq - Perl Unicode FAQ
- perlunitut - Perl Unicode Tutorial
- 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
- perlglossary - Perl Glossary
- 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
- perlreguts - Description of the Perl regular expression engine.
- 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
- perlcommunity - a brief overview of the Perl community
- 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.9
- perl589delta, perldelta - what is new for perl v5.8.9
- perl588delta - what is new for perl v5.8.8
- perl587delta - what is new for perl v5.8.7
- perl586delta - what is new for perl v5.8.6
- perl585delta - what is new for perl v5.8.5
- perl584delta - 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.8+ 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
- perllinux, README.linux - Perl version 5 on Linux 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
- perlopenbsd, README.openbsd - Perl version 5 on OpenBSD systems
- 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
- perlriscos, README.riscos - Perl version 5 for RISC OS
- 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
- 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::Lint::Debug - Adds debugging stringification to B::
- 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
- CORE - Pseudo-namespace for Perl's core routines
- CPAN - query, download and build perl modules from CPAN sites
- CPAN::API::HOWTO - a recipe book for programming with CPAN.pm
- CPAN::FirstTime - Utility for CPAN::Config file Initialization
- CPAN::Kwalify - Interface between CPAN.pm and Kwalify.pm
- CPAN::Version - utility functions to compare CPAN versions
- 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
- DBM_Filter::compress - filter for DBM_Filter
- DBM_Filter::encode - filter for DBM_Filter
- DBM_Filter::int32 - filter for DBM_Filter
- DBM_Filter::null - filter for DBM_Filter
- DBM_Filter::utf8 - filter for DBM_Filter
- 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::InnerPackage - find all the inner packages of a package
- 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
- Digest::file - Calculate digests of files
- 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::GSM0338 - ESTI GSM 03.38 Encoding
- 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::MIME::Name, Encode::MIME::NAME - internally used by Encode
- 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::GSM0338, Encode::GSM0338 - ESTI GSM 03.38
- 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::MIME::Name, Encode::MIME::NAME - internally
- 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::Constant::Base - base class for ExtUtils::Constant objects
- ExtUtils::Constant::Utils - helper functions for ExtUtils::Constant
- ExtUtils::Constant::XS, ExtUtils::Constant::Base - base class for
- 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_AIX - AIX specific subclass of ExtUtils::MM_Unix
- 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_Darwin - special behaviors for OS X
- ExtUtils::MM_MacOS - once produced Makefiles for MacOS Classic
- ExtUtils::MM_NW5 - methods to override UN*X behaviour in
- ExtUtils::MM_OS2 - methods to override UN*X behaviour in
- ExtUtils::MM_QNX - QNX specific subclass of ExtUtils::MM_Unix
- 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_VOS - VOS specific subclass of ExtUtils::MM_Unix
- 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::Config - Wrapper around Config.pm
- 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::ParseXS - converts Perl XS code into C code
- 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 - Parse file paths into directory, filename and
- File::CheckTree - 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
- Hash::Utilib::Hash::Util, Hash::Util - A selection of
- I18N::Collate - compare 8-bit scalar data according to the current
- I18N::LangTags - functions for dealing with RFC3066-style language
- I18N::LangTags::Detect - detect the user's language preferences
- 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/float math package
- Math::BigInt::Calc - Pure Perl module to support Math::BigInt
- Math::BigInt::CalcEmu - Emulate low-level math with BigInt code
- Math::BigRat - Arbitrary 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
- Module::CoreList - what modules shipped with versions of perl
- Module::Pluggable - automatically give your module the ability to
- Module::Pluggable::Object - automatically give your module the
- Module::Pluggable::lib::Devel::InnerPackage, Devel::InnerPackage -
- Module::Pluggable::lib::Module::Pluggable, Module::Pluggable -
- Module::Pluggable::lib::Module::Pluggable::Object,
- 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 - Perl interface to the UNIX
syslog(3) calls
- Syslog::Syslog, Sys::Syslog - Perl interface to the UNIX
syslog(3)
- Syslog::win32::Win32, Sys::Syslog::Win32 - Win32 support for
- 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::Builder::Module - Base class for test modules
- Test::Builder::Tester - test testsuites that have been built with
- Test::Builder::Tester::Color - turn on colour in
- Test::Harness - Run Perl standard test scripts with statistics
- Test::Harness::Assert - simple assert
- Test::Harness::Iterator - Internal Test::Harness Iterator
- Test::Harness::Point - object for tracking a single test point
- Test::Harness::Results - object for tracking results from a single
- Test::Harness::Straps - detailed analysis of test results
- Test::Harness::TAP - Documentation for the TAP format
- Test::Harness::Util - Utility functions for Test::Harness::*
- 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.
- 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 - base class definitions for tied handles
- 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*()
- Win32 - Interfaces to some Win32 API Functions
- Win32API::File - Low-level access to Win32 system API calls for
- Win32CORE - Win32 CORE function stubs
- XSLoader - Dynamically load C libraries into Perl code
- AUXILIARY DOCUMENTATION
- AUTHOR
perltoc - perl documentation table of contents
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.
- 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
- DESCRIPTION
- What is Perl?
- Running Perl programs
- Safety net
- Basic syntax overview
- Perl variable types
-
Scalars, Arrays, Hashes
- Variable scoping
- Conditional and looping constructs
-
if, while, for, foreach
- Builtin operators and functions
-
Arithmetic, Numeric comparison, String comparison, Boolean logic,
Miscellaneous
- Files and I/O
- Regular expressions
-
Simple matching, Simple substitution, More complex regular expressions,
Parentheses for capturing, Other regexp features
- Writing subroutines
- OO Perl
- Using Perl modules
- AUTHOR
- DESCRIPTION
- Who Needs Complicated Data Structures?
- The Solution
- Syntax
- Making References
- Using References
- An Example
- Arrow Rule
- Solution
- The Rest
- Summary
- Credits
- Distribution Conditions
- 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
- DESCRIPTION
- Declaration and Access of Arrays of Arrays
- Growing Your Own
- Access and Printing
- Slices
- SEE ALSO
- AUTHOR
- 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
- DESCRIPTION
- Part 1: The basics
- Simple word matching
- Using character classes
- Matching this or that
- Grouping things and hierarchical matching
- Extracting matches
- Backreferences
- Position information
- Non-capturing groupings
- 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
- Composing regular expressions at runtime
- Embedding comments and modifiers in a regular expression
- Looking ahead and looking behind
- Using independent subexpressions to prevent backtracking
- Conditional expressions
- A bit of magic: executing Perl code in a regular expression
- Pragmas and debugging
- BUGS
- SEE ALSO
- AUTHOR AND COPYRIGHT
- Acknowledgments
- 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
- DESCRIPTION
- Creating a Class
- Object Representation
- Class Interface
- Constructors and Instance Methods
- Planning for the Future: Better Constructors
- Destructors
- Other Object Methods
- Class Data
- Accessing Class Data
- Debugging Methods
- Class Destructors
- Documenting the Interface
- Aggregation
- Inheritance
- Overridden Methods
- Multiple Inheritance
- UNIVERSAL: The Root of All Objects
- Deeper UNIVERSAL details
- Alternate Object Representations
- Arrays as Objects
- Closures as Objects
- AUTOLOAD: Proxy Methods
- Autoloaded Data Methods
- Inherited Autoloaded Data Methods
- Metaclassical Tools
- Class::Struct
- Data Members as Variables
- NOTES
- Object Terminology
- SEE ALSO
- AUTHOR AND COPYRIGHT
- COPYRIGHT
- Acknowledgments
- 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
- 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
- DESCRIPTION
- DESCRIPTION
- The sheet
- ACKNOWLEDGEMENTS
- AUTHOR
- SEE ALSO
- DESCRIPTION
- Awk Traps
- C/C++ Traps
- Sed Traps
- Shell Traps
- Perl Traps
- Perl4 to Perl5 Traps
-
Discontinuance, Deprecation, and BugFix traps, Parsing Traps, Numerical
Traps, General data type traps, Context Traps - scalar, list contexts,
Precedence Traps, General Regular Expression Traps using s///, etc,
Subroutine, Signal, Sorting Traps, OS Traps, DBM Traps, Unclassified Traps
- Discontinuance, Deprecation, and BugFix traps
-
Symbols starting with "_" no longer forced into main, Double-colon valid
package separator in variable name, 2nd and 3rd args to splice() are now
in scalar context, Can't do goto into a block that is optimized away,
Can't use whitespace as variable name or quote delimiter, while/if BLOCK
BLOCK gone, ** binds tighter than unary minus, foreach changed when
iterating over a list, split with no args behavior changed, -e
behavior fixed, push returns number of elements in resulting list, Some
error messages differ, split() honors subroutine args, Bugs removed
- Parsing Traps
-
Space between . and = triggers syntax error, Better parsing in perl 5,
Function parsing, String interpolation of $#array differs, Perl guesses
on map, grep followed by { if it starts BLOCK or hash ref
- Numerical Traps
-
Formatted output and significant digits, Auto-increment operator over
signed int limit deleted, Assignment of return values from numeric equality
tests doesn't work, Bitwise string ops
- General data type traps
-
Negative array subscripts now count from the end of array, Setting
$#array lower now discards array elements, Hashes get defined before
use, Glob assignment from localized variable to variable, Assigning
undef to glob, Changes in unary negation (of strings), Modifying of
constants prohibited, defined $var behavior changed, Variable Suicide
- Context Traps - scalar, list contexts
-
Elements of argument lists for formats evaluated in list context,
caller() returns false value in scalar context if no caller present,
Comma operator in scalar context gives scalar context to args, sprintf()
prototyped as ($;@)
- Precedence Traps
-
LHS vs. RHS of any assignment operator, Semantic errors introduced due to
precedence, Precedence of assignment operators same as the precedence of
assignment, open requires parentheses around filehandle, $:
precedence over $:: gone, Precedence of file test operators documented,
keys, each, values are regular named unary operators
- General Regular Expression Traps using s///, etc.
-
s'$lhs'$rhs' interpolates on either side, m//g attaches its state to
the searched string, m//o used within an anonymous sub, $+ isn't set
to whole match, Substitution now returns null string if it fails,
s`lhs`rhs` is now a normal substitution, Stricter parsing of variables
in regular expressions, m?x? matches only once, Failed matches don't
reset the match variables
- Subroutine, Signal, Sorting Traps
-
Barewords that used to look like strings look like subroutine calls,
Reverse is no longer allowed as the name of a sort subroutine, warn()
won't let you specify a filehandle
- OS Traps
-
SysV resets signal handler correctly, SysV seek() appends correctly
- Interpolation Traps
-
@ always interpolates an array in double-quotish strings, Double-quoted
strings may no longer end with an unescaped $, Arbitrary expressions are
evaluated inside braces within double quotes, $$x now tries to
dereference $x, Creation of hashes on the fly with eval "EXPR" requires
protection, Bugs in earlier perl versions, Array and hash brackets during
interpolation, Interpolation of \$$foo{bar}, qq() string passed to
eval will not find string terminator
- DBM Traps
-
Perl5 must have been linked with same dbm/ndbm as the default for
dbmopen(), DBM exceeding limit on the key/value size will cause perl5 to
exit immediately
- Unclassified Traps
-
require/do trap using returned value, split on empty string with
LIMIT specified
- 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
- DESCRIPTION
- Where to get the perlfaq
- How to contribute to the perlfaq
- What will happen if you mail your Perl programming problems to the
authors?
- CREDITS
- AUTHOR AND COPYRIGHT
- Table of Contents
-
perlfaq - this document, perlfaq1 - General Questions About Perl, perlfaq2
- Obtaining and Learning about Perl, perlfaq3 - Programming Tools, perlfaq4
- Data Manipulation, perlfaq5 - Files and Formats, perlfaq6 - Regular
Expressions, perlfaq7 - General Perl Language Issues, perlfaq8 - System
Interaction, perlfaq9 - Networking
- The Questions
- the perlfaq1 manpage: General Questions About Perl
- the perlfaq2 manpage: Obtaining and Learning about Perl
- the perlfaq3 manpage: Programming Tools
- the perlfaq4 manpage: Data Manipulation
- the perlfaq5 manpage: Files and Formats
- the perlfaq6 manpage: Regular Expressions
- the perlfaq7 manpage: General Perl Language Issues
- the perlfaq8 manpage: System Interaction
- the perlfaq9 manpage: Networking
- DESCRIPTION
- What is Perl?
- Who supports Perl? Who develops it? Why is it free?
- Which version of Perl should I use?
- What are Perl 4, Perl 5, or Perl 6?
- What was Ponie?
- What is Perl 6?
- How stable is Perl?
- Is Perl difficult to learn?
- How does Perl compare with other languages like Java, Python, REXX,
Scheme, or Tcl?
- Can I do [task] in Perl?
- When shouldn't I program in Perl?
- What's the difference between "perl" and "Perl"?
- Is it a Perl program or a Perl script?
- What is a JAPH?
- Where can I get a list of Larry Wall witticisms?
- How can I convince others to use Perl?
-
http://perltraining.com.au/whyperl.html,
http://www.perl.org/advocacy/whyperl.html
- REVISION
- AUTHOR AND COPYRIGHT
- DESCRIPTION
- What machines support perl? Where do I get it?
- How can I get a binary version of perl?
- I don't have a C compiler. How can I build my own Perl interpreter?
- I copied the perl binary from one machine to another, but scripts
don't work.
- I grabbed the sources and tried to compile but gdbm/dynamic
loading/malloc/linking/... failed. How do I make it work?
- What modules and extensions are available for Perl? What is CPAN?
What does CPAN/src/... mean?
- Is there an ISO or ANSI certified version of Perl?
- Where can I get information on Perl?
- What are the Perl newsgroups on Usenet? Where do I post questions?
- Where should I post source code?
- Perl Books
-
References, Tutorials, Task-Oriented, Special Topics
- Which magazines have Perl content?
- What mailing lists are there for Perl?
- Where are the archives for comp.lang.perl.misc?
- Where can I buy a commercial version of perl?
- Where do I send bug reports?
- What is perl.com? Perl Mongers? pm.org? perl.org? cpan.org?
- REVISION
- AUTHOR AND COPYRIGHT
- DESCRIPTION
- How do I do (anything)?
- How can I use Perl interactively?
- Is there a Perl shell?
- How do I find which modules are installed on my system?
- How do I debug my Perl programs?
- How do I profile my Perl programs?
- How do I cross-reference my Perl programs?
- Is there a pretty-printer (formatter) for Perl?
- Is there a ctags for Perl?
- Is there an IDE or Windows Perl Editor?
-
Eclipse, Enginsite, Komodo, Open Perl IDE, OptiPerl, PerlBuilder,
visiPerl+, Visual Perl, Zeus, GNU Emacs, MicroEMACS, XEmacs, Jed, Elvis,
Vile, Vim, Codewright, MultiEdit, SlickEdit, Bash, Ksh, Tcsh, Zsh, Affrus,
Alpha, BBEdit and BBEdit Lite
- Where can I get Perl macros for vi?
- Where can I get perl-mode for emacs?
- How can I use curses with Perl?
- How can I write a GUI (X, Tk, Gtk, etc.) in Perl?
-
Tk, Wx, Gtk and Gtk2, Win32::GUI, CamelBones, Qt, Athena
- How can I make my Perl program run faster?
- How can I make my Perl program take less memory?
-
Don't slurp!, Use map and grep selectively, Avoid unnecessary quotes and
stringification, Pass by reference, Tie large variables to disk
- Is it safe to return a reference to local or lexical data?
- How can I free an array or hash so my program shrinks?
- How can I make my CGI script more efficient?
- How can I hide the source for my Perl program?
- How can I compile my Perl program into byte code or C?
- How can I get
#!perl to work on [MS-DOS,NT,...]?
- Can I write useful Perl programs on the command line?
- Why don't Perl one-liners work on my DOS/Mac/VMS system?
- Where can I learn about CGI or Web programming in Perl?
- Where can I learn about object-oriented Perl programming?
- Where can I learn about linking C with Perl?
- I've read perlembed, perlguts, etc., but I can't embed perl in my C
program; what am I doing wrong?
- When I tried to run my script, I got this message. What does it mean?
- What's MakeMaker?
- REVISION
- AUTHOR AND COPYRIGHT
- DESCRIPTION
- Data: Numbers
- Why am I getting long decimals (eg, 19.9499999999999) instead of the
numbers I should be getting (eg, 19.95)?
- Why is
int() broken?
- Why isn't my octal data interpreted correctly?
- Does Perl have a
round() function? What about ceil() and floor()?
Trig functions?
- How do I convert between numeric representations/bases/radixes?
-
How do I convert hexadecimal into decimal, How do I convert from decimal to
hexadecimal, How do I convert from octal to decimal, How do I convert from
decimal to octal, How do I convert from binary to decimal, How do I convert
from decimal to binary
- Why doesn't & work the way I want it to?
- How do I multiply matrices?
- How do I perform an operation on a series of integers?
- How can I output Roman numerals?
- Why aren't my random numbers random?
- How do I get a random number between X and Y?
- Data: Dates
- How do I find the day or week of the year?
- How do I find the current century or millennium?
- How can I compare two dates and find the difference?
- How can I take a string and turn it into epoch seconds?
- How can I find the Julian Day?
- How do I find yesterday's date?
- Does Perl have a Year 2000 problem? Is Perl Y2K compliant?
- Data: Strings
- How do I validate input?
- How do I unescape a string?
- How do I remove consecutive pairs of characters?
- How do I expand function calls in a string?
- How do I find matching/nesting anything?
- How do I reverse a string?
- How do I expand tabs in a string?
- How do I reformat a paragraph?
- How can I access or change N characters of a string?
- How do I change the Nth occurrence of something?
- How can I count the number of occurrences of a substring within a
string?
- How do I capitalize all the words on one line?
- How can I split a [character] delimited string except when inside
[character]?
- How do I strip blank space from the beginning/end of a string?
- How do I pad a string with blanks or pad a number with zeroes?
- How do I extract selected columns from a string?
- How do I find the soundex value of a string?
- How can I expand variables in text strings?
- What's wrong with always quoting "$vars"?
- Why don't my <<HERE documents work?
-
There must be no space after the << part, There (probably) should
be a semicolon at the end, You can't (easily) have any space in front of
the tag
- Data: Arrays
- What is the difference between a list and an array?
- What is the difference between $array[1] and @array[1]?
- How can I remove duplicate elements from a list or array?
- How can I tell whether a certain element is contained in a list or
array?
- How do I compute the difference of two arrays? How do I compute the
intersection of two arrays?
- How do I test whether two arrays or hashes are equal?
- How do I find the first array element for which a condition is true?
- How do I handle linked lists?
- How do I handle circular lists?
- How do I shuffle an array randomly?
- How do I process/modify each element of an array?
- How do I select a random element from an array?
- How do I permute N elements of a list?
- How do I sort an array by (anything)?
- How do I manipulate arrays of bits?
- Why does
defined() return true on empty arrays and hashes?
- Data: Hashes (Associative Arrays)
- How do I process an entire hash?
- What happens if I add or remove keys from a hash while iterating over
it?
- How do I look up a hash element by value?
- How can I know how many entries are in a hash?
- How do I sort a hash (optionally by value instead of key)?
- How can I always keep my hash sorted?
- What's the difference between "delete" and "undef" with hashes?
- Why don't my tied hashes make the defined/exists distinction?
- How do I reset an
each() operation part-way through?
- How can I get the unique keys from two hashes?
- How can I store a multidimensional array in a DBM file?
- How can I make my hash remember the order I put elements into it?
- Why does passing a subroutine an undefined element in a hash create
it?
- How can I make the Perl equivalent of a C structure/C++ class/hash or
array of hashes or arrays?
- How can I use a reference as a hash key?
- Data: Misc
- How do I handle binary data correctly?
- How do I determine whether a scalar is a number/whole/integer/float?
- How do I keep persistent data across program calls?
- How do I print out or copy a recursive data structure?
- How do I define methods for every class/object?
- How do I verify a credit card checksum?
- How do I pack arrays of doubles or floats for XS code?
- REVISION
- AUTHOR AND COPYRIGHT
- DESCRIPTION
- How do I flush/unbuffer an output filehandle? Why must I do this?
- How do I change, delete, or insert a line in a file, or append to the
beginning of a file?
- How do I count the number of lines in a file?
- How can I use Perl's
-i option from within a program?
- How can I copy a file?
- How do I make a temporary file name?
- How can I manipulate fixed-record-length files?
- How can I make a filehandle local to a subroutine? How do I pass
filehandles between subroutines? How do I make an array of filehandles?
- How can I use a filehandle indirectly?
- How can I set up a footer format to be used with write()?
- How can I
write() into a string?
- How can I open a filehandle to a string?
, , ,
- How can I output my numbers with commas added?
- How can I translate tildes (~) in a filename?
- How come when I open a file read-write it wipes it out?
- Why do I sometimes get an "Argument list too long" when I use
<*>?
- Is there a leak/bug in glob()?
- How can I open a file with a leading ">" or trailing blanks?
- How can I reliably rename a file?
- How can I lock a file?
- Why can't I just open(FH, ">file.lock")?
- I still don't get locking. I just want to increment the number in
the file. How can I do this?
- All I want to do is append a small amount of text to the end of a
file. Do I still have to use locking?
- How do I randomly update a binary file?
- How do I get a file's timestamp in perl?
- How do I set a file's timestamp in perl?
- How do I print to more than one file at once?
- How can I read in an entire file all at once?
- How can I read in a file by paragraphs?
- How can I read a single character from a file? From the keyboard?
- How can I tell whether there's a character waiting on a filehandle?
- How do I do a
tail -f in perl?
- How do I
dup() a filehandle in Perl?
- How do I close a file descriptor by number?
- Why can't I use "C:\temp\foo" in DOS paths? Why doesn't
`C:\temp\foo.exe` work?
- Why doesn't glob("*.*") get all the files?
- Why does Perl let me delete read-only files? Why does
-i clobber
protected files? Isn't this a bug in Perl?
- How do I select a random line from a file?
- Why do I get weird spaces when I print an array of lines?
- REVISION
- AUTHOR AND COPYRIGHT
- 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 regular expression that's in a variable?
,
- REVISION
- AUTHOR AND COPYRIGHT
- DESCRIPTION
- Can I get a BNF/yacc/RE for the Perl language?
- What are all these $@%&* punctuation signs, and how do I know when to
use them?
- Do I always/never have to quote my strings or use semicolons and
commas?
- How do I skip some return values?
- How do I temporarily block warnings?
- What's an extension?
- Why do Perl operators have different precedence than C operators?
- How do I declare/create a structure?
- How do I create a module?
- How do I adopt or take over a module already on CPAN?
- How do I create a class?
- How can I tell if a variable is tainted?
- What's a closure?
- What is variable suicide and how can I prevent it?
- How can I pass/return a {Function, FileHandle, Array, Hash, Method,
Regex}?
-
Passing Variables and Functions, Passing Filehandles, Passing Regexes,
Passing Methods
- How do I create a static variable?
- What's the difference between dynamic and lexical (static) scoping?
Between
local() and my()?
- How can I access a dynamic variable while a similarly named lexical
is in scope?
- What's the difference between deep and shallow binding?
- Why doesn't "my($foo) = <FILE>;" work right?
- How do I redefine a builtin function, operator, or method?
- What's the difference between calling a function as &foo and foo()?
- How do I create a switch or case statement?
- How can I catch accesses to undefined variables, functions, or
methods?
- Why can't a method included in this same file be found?
- How can I find out my current package?
- How can I comment out a large block of perl code?
- How do I clear a package?
- How can I use a variable as a variable name?
- What does "bad interpreter" mean?
- REVISION
- AUTHOR AND COPYRIGHT
- DESCRIPTION
- How do I find out which operating system I'm running under?
- How come
exec() doesn't return?
- How do I do fancy stuff with the keyboard/screen/mouse?
-
Keyboard, Screen, Mouse
- How do I print something out in color?
- How do I read just one key without waiting for a return key?
- How do I check whether input is ready on the keyboard?
- How do I clear the screen?
- How do I get the screen size?
- How do I ask the user for a password?
- How do I read and write the serial port?
-
lockfiles, open mode, end of line, flushing output, non-blocking input
- How do I decode encrypted password files?
- How do I start a process in the background?
-
STDIN, STDOUT, and STDERR are shared, Signals, Zombies
- How do I trap control characters/signals?
- How do I modify the shadow password file on a Unix system?
- How do I set the time and date?
- How can I
sleep() or alarm() for under a second?
- How can I measure time under a second?
- How can I do an
atexit() or setjmp()/longjmp()? (Exception handling)
- Why doesn't my sockets program work under System V (Solaris)? What
does the error message "Protocol not supported" mean?
- How can I call my system's unique C functions from Perl?
- Where do I get the include files to do
ioctl() or syscall()?
- Why do setuid perl scripts complain about kernel problems?
- How can I open a pipe both to and from a command?
- Why can't I get the output of a command with system()?
- How can I capture STDERR from an external command?
- Why doesn't
open() return an error when a pipe open fails?
- What's wrong with using backticks in a void context?
- How can I call backticks without shell processing?
- Why can't my script read from STDIN after I gave it EOF (^D on Unix,
^Z on MS-DOS)?
- How can I convert my shell script to perl?
- Can I use perl to run a telnet or ftp session?
- How can I write expect in Perl?
- Is there a way to hide perl's command line from programs such as
"ps"?
- I {changed directory, modified my environment} in a perl script. How
come the change disappeared when I exited the script? How do I get my
changes to be visible?
-
Unix
- How do I close a process's filehandle without waiting for it to
complete?
- How do I fork a daemon process?
- How do I find out if I'm running interactively or not?
- How do I timeout a slow event?
- How do I set CPU limits?
- How do I avoid zombies on a Unix system?
- How do I use an SQL database?
- How do I make a
system() exit on control-C?
- How do I open a file without blocking?
- How do I tell the difference between errors from the shell and perl?
- How do I install a module from CPAN?
- What's the difference between require and use?
- How do I keep my own module/library directory?
- How do I add the directory my program lives in to the module/library
search path?
- How do I add a directory to my include path (@INC) at runtime?
-
the PERLLIB environment variable, the PERL5LIB environment variable, the
perl -Idir command line flag, the use lib pragma:
- What is socket.ph and where do I get it?
- REVISION
- AUTHOR AND COPYRIGHT
- DESCRIPTION
- What is the correct form of response from a CGI script?
- My CGI script runs from the command line but not the browser. (500
Server Error)
- How can I get better error messages from a CGI program?
- How do I remove HTML from a string?
- How do I extract URLs?
- How do I download a file from the user's machine? How do I open a
file on another machine?
- How do I make an HTML pop-up menu with Perl?
- How do I fetch an HTML file?
- How do I automate an HTML form submission?
- How do I decode or create those %-encodings on the web?
- How do I redirect to another page?
- How do I put a password on my web pages?
- How do I edit my .htpasswd and .htgroup files with Perl?
- How do I make sure users can't enter values into a form that cause my
CGI script to do bad things?
- How do I parse a mail header?
- How do I decode a CGI form?
- How do I check a valid mail address?
- How do I decode a MIME/BASE64 string?
- How do I return the user's mail address?
- How do I send mail?
- How do I use MIME to make an attachment to a mail message?
- How do I read mail?
- How do I find out my hostname, domainname, or IP address?
- How do I fetch a news article or the active newsgroups?
- How do I fetch/put an FTP file?
- How can I do RPC in Perl?
- REVISION
- AUTHOR AND COPYRIGHT
- 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!)
- DESCRIPTION
- Variable names
- Context
- Scalar values
- Scalar value constructors
- List value constructors
- Subscripts
- Slices
- Typeglobs and Filehandles
- SEE ALSO
- 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
-
qr/STRING/msixo , m/PATTERN/msixogc
, /PATTERN/msixogc, The empty
pattern //, Matching in list context, \G assertion, ?PATTERN? ,
s/PATTERN/REPLACEMENT/msixogce
- Quote-Like Operators
-
q/STRING/ , 'STRING', qq/STRING/
, "STRING", qx/STRING/
, `STRING`, qw/STRING/ ,
tr/SEARCHLIST/REPLACEMENTLIST/cds
, y/SEARCHLIST/REPLACEMENTLIST/cds, <<EOF
>>, Double Quotes, Single Quotes, Backticks
- Gory details of parsing quoted constructs
-
Finding the end, Interpolation , <<'EOF', m'', the
pattern of s''', '', q//, tr''', y''', the replacement of
s''', tr///, y///, "", ``, qq//, qx//, <file*glob>, <<"EOF", the replacement of s///, RE in ?RE?, /RE/,
m/RE/, s/RE/foo/,, parsing regular expressions ,
Optimization of regular expressions
- I/O Operators
>>
- Constant Folding
- No-ops
- Bitwise String Operators
- Integer Arithmetic
- Floating-point Arithmetic
- Bigger Numbers
- 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
- 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-orientation
, Low-level socket functions , System V
interprocess communication functions
, Fetching user and group info
, Fetching
network info
, Time-related functions , Functions new in perl5
, Functions obsoleted in perl5
- Portability
- Alphabetical Listing of Perl Functions
-
-X FILEHANDLE
, -X EXPR,
-X DIRHANDLE, -X, abs VALUE , abs, accept
NEWSOCKET,GENERICSOCKET , alarm SECONDS
, alarm, atan2 Y,X , bind
SOCKET,NAME , binmode FILEHANDLE, LAYER
, binmode FILEHANDLE, bless REF,CLASSNAME , bless
REF, caller EXPR , caller,
chdir EXPR , chdir FILEHANDLE, chdir
DIRHANDLE, chdir, chmod LIST , chomp VARIABLE
, chomp( LIST ),
chomp, chop VARIABLE , chop( LIST ), chop, chown LIST
, chr NUMBER
, chr, chroot FILENAME , chroot, close
FILEHANDLE , close, closedir DIRHANDLE , connect
SOCKET,NAME , continue BLOCK , cos EXPR
, cos, crypt PLAINTEXT,SALT
, dbmclose HASH , dbmopen
HASH,DBNAME,MASK , defined EXPR
, defined, delete EXPR , die LIST
, do BLOCK
, do SUBROUTINE(LIST) , do EXPR , dump LABEL
, dump, each HASH , eof
FILEHANDLE , eof (), eof, eval EXPR
, eval BLOCK, eval, exec LIST ,
exec PROGRAM LIST, exists EXPR , exit EXPR
, exit, exp EXPR
, exp, fcntl FILEHANDLE,FUNCTION,SCALAR
, fileno FILEHANDLE , flock FILEHANDLE,OPERATION
, fork , format ,
formline PICTURE,LIST , getc FILEHANDLE
, getc, getlogin ,
getpeername SOCKET , getpgrp PID ,
getppid , getpriority WHICH,WHO
, getpwnam NAME
, getgrnam NAME, gethostbyname
NAME, getnetbyname NAME, getprotobyname NAME, getpwuid UID, getgrgid GID,
getservbyname NAME,PROTO, gethostbyaddr ADDR,ADDRTYPE, getnetbyaddr
ADDR,ADDRTYPE, getprotobynumber NUMBER, getservbyport PORT,PROTO, getpwent,
getgrent, gethostent, getnetent, getprotoent, getservent, setpwent,
setgrent, sethostent STAYOPEN, setnetent STAYOPEN, setprotoent STAYOPEN,
setservent STAYOPEN, endpwent, endgrent, endhostent, endnetent,
endprotoent, endservent, getsockname SOCKET , getsockopt
SOCKET,LEVEL,OPTNAME , glob EXPR
, glob, gmtime EXPR
, gmtime, goto LABEL , goto EXPR, goto
&NAME, grep BLOCK LIST , grep EXPR,LIST, hex EXPR
, hex, import LIST , index STR,SUBSTR,POSITION
, index STR,SUBSTR, int EXPR
, int, ioctl FILEHANDLE,FUNCTION,SCALAR
, join EXPR,LIST , keys HASH , kill SIGNAL,
LIST , last LABEL , last, lc EXPR
, lc, lcfirst EXPR , lcfirst, length
EXPR , length, link OLDFILE,NEWFILE , listen
SOCKET,QUEUESIZE , local EXPR , localtime EXPR
, localtime, lock THING , log EXPR
, log, lstat EXPR , lstat, m//, map
BLOCK LIST , map EXPR,LIST, mkdir FILENAME,MASK
, mkdir FILENAME, msgctl ID,CMD,ARG , msgget
KEY,FLAGS , msgrcv ID,VAR,SIZE,TYPE,FLAGS , msgsnd
ID,MSG,FLAGS , my EXPR , my TYPE EXPR, my EXPR : ATTRS, my
TYPE EXPR : ATTRS, next LABEL , next, no Module VERSION
LIST , no Module VERSION, no Module LIST, no Module, oct EXPR
, oct, open FILEHANDLE,EXPR
, open FILEHANDLE,MODE,EXPR, open
FILEHANDLE,MODE,EXPR,LIST, open FILEHANDLE,MODE,REFERENCE, open FILEHANDLE,
opendir DIRHANDLE,EXPR , ord EXPR , ord, our
EXPR , our EXPR TYPE, our EXPR : ATTRS, our TYPE EXPR :
ATTRS, pack TEMPLATE,LIST , package NAMESPACE
, package, pipe READHANDLE,WRITEHANDLE , pop ARRAY
, pop, pos SCALAR , pos, print
FILEHANDLE LIST , print LIST, print, printf FILEHANDLE FORMAT, LIST
, printf FORMAT, LIST, prototype FUNCTION , push
ARRAY,LIST , q/STRING/, qq/STRING/, qx/STRING/, qw/STRING/,
qr/STRING/, quotemeta EXPR , quotemeta, rand
EXPR , rand, read FILEHANDLE,SCALAR,LENGTH,OFFSET
, read FILEHANDLE,SCALAR,LENGTH, readdir DIRHANDLE ,
readline EXPR , 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 DIRHANDLE, 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///
- 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
- 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
- DESCRIPTION
- Ordinary Paragraph
- Verbatim Paragraph
- Command Paragraph
-
=head1 Heading Text
, =head2 Heading Text, =head3 Heading
Text, =head4 Heading Text, =over indentlevel
, =item stuff..., =back,
=cut , =pod , =begin formatname
, =end formatname,
=for formatname text..., =encoding encodingname
- Formatting Codes
-
I<text> -- italic text <> >> , B<text> -- bold text <> >>
, C<code> -- code text
<> >> , L<name> --
a hyperlink <> >>
, E<escape> -- a character escape <> >>
, F<filename> -- used
for filenames <> >>
, S<text> -- text contains non-breaking spaces
<> >> , X<topic name> -- an index entry <> >>
, Z<> -- a
null (zero-effect) formatting code <> >>
- The Intent
- Embedding Pods in Perl Modules
- Hints for Writing Pod
-
- SEE ALSO
- AUTHOR
- 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
- SYNOPSIS
- DESCRIPTION
- #! and quoting on non-Unix systems
-
OS/2, MS-DOS, Win95/NT, Macintosh, VMS
- Location of Perl
- Command Switches
-
-0[octal/hexadecimal] , -a , -C
[number/list] , -c , -d , -dt,
-d:foo[=bar,baz] , -dt:foo[=bar,baz],
-Dletters , -Dnumber, -e
commandline , -f , -Fpattern , -h ,
-i[extension] , -Idirectory ,
-l[octnum] , -m[-]module ,
-M[-]module, -M[-]'module ...',
-[mM][-]module=arg[,arg]..., -n , -p , -P
, -s , -S , -t , -T , -u ,
-U , -v , -V , -V:configvar, -w ,
-W , -X , -x , -xdirectory
- ENVIRONMENT
-
HOME , LOGDIR , PATH , PERL5LIB ,
PERL5OPT , PERLIO , :bytes , :crlf ,
:mmap , :perlio , :pop , :raw , :stdio
, :unix , :utf8 , :win32 , PERLIO_DEBUG
, PERLLIB , PERL5DB , PERL5DB_THREADED
, PERL5SHELL (specific to the Win32 port) ,
PERL_ALLOW_NON_IFS_LSP (specific to the Win32 port)
, PERL_DEBUG_MSTATS ,
PERL_DESTRUCT_LEVEL , PERL_DL_NONLAZY
, PERL_ENCODING , PERL_HASH_SEED
, PERL_HASH_SEED_DEBUG , PERL_ROOT
(specific to the VMS port) , PERL_SIGNALS ,
PERL_UNICODE , SYS$LOGIN (specific to the VMS port)
- DESCRIPTION
- SEE ALSO
- DESCRIPTION
- Default Warnings and Optional Warnings
- What's wrong with -w and
$^W
- Controlling Warnings from the Command Line
-
-w , -W , -X
- Backward Compatibility
- Category Hierarchy
- Fatal Warnings
- Reporting Warnings from a Module
- SEE ALSO
- AUTHOR
- DESCRIPTION
- The Perl Debugger
- Calling the debugger
-
perl -d program_name, perl -d -e 0, perl -d:Ptkdb program_name, perl -dt
threaded_program_name
- Debugger Commands
-
h , h [command], h h, p expr ,
x [maxdepth] expr , V [pkg [vars]] , X [vars] , y [level [vars]] , T , s
[expr] , n [expr] , r
, <CR>, c [line|sub] , l
, l min+incr, l min-max, l line, l subname, -
, v [line] , . , f filename , /pattern/, ?pattern?, L
[abw] , S [[!]regex] , t
, t expr , b
, b [line] [condition] , b subname [condition] , b
postpone subname [condition] , b load
filename , b compile subname
, B line , B * , a [line] command
, A line , A * , w expr , W expr ,
W * , o , o booloption ...
, o anyoption? ... , o
option=value ... , < ? >, <
[ command ] >, < * >, <<
command >, > ? >>, >
command >>, > * >>, >>
command > >>>, { ? , { [
command ], { * , {{ command ,
! number , ! -number , !
pattern , !! cmd , source file
, H -number , q or ^D
, R ,
|dbcmd , ||dbcmd , command, m
expr , M , man [manpage]
- Configurable Options
-
recallCommand, ShellBang , pager , tkRunning
, signalLevel, warnLevel, dieLevel
, AutoTrace , LineInfo
, inhibit_exit , PrintRet , ornaments
, frame ,
maxTraceLen , windowSize , arrayDepth, hashDepth , dumpDepth , compactDump, veryCompact
, globPrint , DumpDBFiles , DumpPackages
, DumpReused , quote, HighBit, undefPrint
, UsageOnly
, TTY , noTTY
, ReadLine ,
NonStop
- Debugger input/output
-
Prompt, Multiline commands, Stack backtrace , Line Listing Format, Frame listing
- Debugging compile-time statements
- Debugger Customization
- Readline Support
- Editor Support for Debugging
- The Perl Profiler
- Debugging regular expressions
- Debugging memory usage
- SEE ALSO
- BUGS
- DESCRIPTION
- Predefined Names
-
$ARG, $_ , $a, $b , $<digits> ,
$MATCH, $& , $PREMATCH, $` , $POSTMATCH,
$' , $LAST_PAREN_MATCH, $+ ,
$LAST_SUBMATCH_RESULT, $^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, $? , ${^CHILD_ERROR_NATIVE}
, ${^ENCODING} , $OS_ERROR, $ERRNO, $!
, %OS_ERROR, %ERRNO, %! ,
$EXTENDED_OS_ERROR, $^E , $EVAL_ERROR, $@
, $PROCESS_ID, $PID, $$ ,
$REAL_USER_ID, $UID, $< > ,
$EFFECTIVE_USER_ID, $EUID, $> >> ,
$REAL_GROUP_ID, $GID, $( ,
$EFFECTIVE_GROUP_ID, $EGID, $) ,
$PROGRAM_NAME, $0 , $[ , $] , $COMPILING,
$^C , $DEBUGGING, $^D ,
$SYSTEM_FD_MAX, $^F , $^H, %^H, $INPLACE_EDIT, $^I
, $^M , $OSNAME, $^O ,
${^OPEN}, $PERLDB, $^P , 0x01, 0x02, 0x04, 0x08, 0x10,
0x20, 0x40, 0x80, 0x100, 0x200, 0x400, $LAST_REGEXP_CODE_RESULT, $^R
, $EXCEPTIONS_BEING_CAUGHT, $^S
, $BASETIME, $^T , ${^TAINT},
${^UNICODE}, ${^UTF8CACHE}, ${^UTF8LOCALE}, $PERL_VERSION, $^V
, $WARNING, $^W , ${^WARNING_BITS},
${^WIN32_SLOPPY_STAT}, $EXECUTABLE_NAME, $^X ,
ARGV , $ARGV , @ARGV , ARGVOUT , @F ,
@INC , @ARG, @_ , %INC , %ENV, $ENV{expr}
, %SIG, $SIG{expr}
- Error Indicators
- Technical Note on the Syntax of Variable Names
- BUGS
- DESCRIPTION
- Modifiers
-
m , s , i , x , p
, g and c
- 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 Instead of $1
- Repeated Patterns Matching a Zero-length Substring
- Combining RE Pieces
-
ST, S|T, S{REPEAT_COUNT}, S{min,max}, S{min,max}?, S?,
S*, S+, S??, S*?, S+?, (?>S), (?=S), (?<=S),
(?!S), (?<!S), (??{ EXPR }),
(?(condition)yes-pattern|no-pattern)
- Creating Custom RE Engines
- BUGS
- SEE ALSO
- DESCRIPTION
- The backslash
-
[1]
- All the sequences and escapes
- Character Escapes
-
[1], [2]
- Modifiers
- Character classes
- Referencing
- Assertions
-
\A, \z, \Z, \G, \b, \B
- Misc
-
\C, \X
- DESCRIPTION
- The dot
- Backslashed sequences
- Bracketed Character Classes
-
cntrl, graph, print, punct
- Locale, Unicode and UTF-8
- DESCRIPTION
- OPERATORS
- SYNTAX
- ESCAPE SEQUENCES
- CHARACTER CLASSES
- ANCHORS
- QUANTIFIERS
- EXTENDED CONSTRUCTS
- VARIABLES
- FUNCTIONS
- TERMINOLOGY
- AUTHOR
- SEE ALSO
- THANKS
- NOTE
- DESCRIPTION
- Making References
-
1. , 2.
, 3.
, 4. , 5. ,
6. , 7.
- Using References
- Symbolic references
- Not-so-symbolic references
- Pseudo-hashes: Using an array as a hash
- Function Templates
- WARNING
- SEE ALSO
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- DESCRIPTION
- What Is A Thread Anyway?
- Threaded Program Models
- Boss/Worker
- Work Crew
- Pipeline
- What kind of threads are Perl threads?
- Thread-Safe Modules
- Thread Basics
- Basic Thread Support
- A Note about the Examples
- Creating Threads
- Waiting For A Thread To Exit
- Ignoring A Thread
- Process and Thread Termination
- Threads And Data
- Shared And Unshared Data
- Thread Pitfalls: Races
- Synchronization and control
- Controlling access:
lock()
- A Thread Pitfall: Deadlocks
- Queues: Passing Data Around
- Semaphores: Synchronizing Data Access
- Basic semaphores
- Advanced Semaphores
- Waiting for a Condition
- Giving up control
- General Thread Utility Routines
- What Thread Am I In?
- Thread IDs
- Are These Threads The Same?
- What Threads Are Running?
- A Complete Example
- Different implementations of threads
- Performance considerations
- Process-scope Changes
- Thread-Safety of System Libraries
- Conclusion
- SEE ALSO
- Bibliography
- Introductory Texts
- OS-Related References
- Other References
- Acknowledgements
- AUTHOR
- Copyrights
- 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
- DESCRIPTION
-
Not all Perl programs have to be portable, Nearly all of Perl already is
portable
- ISSUES
- Newlines
- Numbers endianness and Width
- Files and Filesystems
- System Interaction
- Command names versus file pathnames
- Networking
- Interprocess Communication (IPC)
- External Subroutines (XS)
- Standard Modules
- Time and Date
- Character sets and character encoding
- Internationalisation
- System Resources
- Security
- Style
- CPAN Testers
- PLATFORMS
- Unix
- DOS and Derivatives
- Mac OS
- VMS
- VOS
- EBCDIC Platforms
- Acorn RISC OS
- Other perls
- FUNCTION IMPLEMENTATIONS
- Alphabetical Listing of Perl Functions
-
-X, atan2 Y,X, atan2, binmode, chmod, chown, chroot, crypt, dbmclose,
dbmopen, dump, exec, exit, fcntl, flock, fork, getlogin, getpgrp, getppid,
getpriority, getpwnam, getgrnam, getnetbyname, getpwuid, getgrgid,
getnetbyaddr, getprotobynumber, getservbyport, getpwent, getgrent,
gethostbyname, gethostent, getnetent, getprotoent, getservent, sethostent,
setnetent, setprotoent, setservent, endpwent, endgrent, endhostent,
endnetent, endprotoent, endservent, getsockopt SOCKET,LEVEL,OPTNAME, glob,
gmtime, ioctl FILEHANDLE,FUNCTION,SCALAR, kill, link, localtime, lstat,
msgctl, msgget, msgsnd, msgrcv, open, pipe, readlink, rename, select,
semctl, semget, semop, setgrent, setpgrp, setpriority, setpwent,
setsockopt, shmctl, shmget, shmread, shmwrite, sockatmark, socketpair,
stat, symlink, syscall, sysopen, system, times, truncate, umask, utime,
wait, waitpid
- Supported Platforms
- SEE ALSO
- AUTHORS / CONTRIBUTORS
- DESCRIPTION
- PREPARING TO USE LOCALES
- USING LOCALES
- The use locale pragma
- The setlocale function
- Finding locales
- LOCALE PROBLEMS
- Temporarily fixing locale problems
- Permanently fixing locale problems
- Permanently fixing your system's locale configuration
- Fixing system locale configuration
- The localeconv function
- I18N::Langinfo
- LOCALE CATEGORIES
- Category LC_COLLATE: Collation
- Category LC_CTYPE: Character Types
- Category LC_NUMERIC: Numeric Formatting
- Category LC_MONETARY: Formatting of monetary amounts
- LC_TIME
- Other categories
- SECURITY
- ENVIRONMENT
-
PERL_BADLANG, LC_ALL, LANGUAGE, LC_CTYPE, LC_COLLATE, LC_MONETARY,
LC_NUMERIC, LC_TIME, LANG
- Examples
- NOTES
- Backward compatibility
- I18N:Collate obsolete
- Sort speed and memory use impacts
write() and LC_NUMERIC
- Freely available locale definitions
- I18n and l10n
- An imperfect standard
- Unicode and UTF-8
- BUGS
- Broken systems
- SEE ALSO
- HISTORY
- 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
- DESCRIPTION
- Important Caveats
-
Input and Output Layers, Regular Expressions, use utf8 still needed to
enable UTF-8/UTF-EBCDIC in scripts, BOM-marked scripts and UTF-16 scripts
autodetected, use encoding needed to upgrade non-Latin-1 byte strings
- Byte and Character Semantics
- Effects of Character Semantics
- Unicode Character Properties
-
General Category, Bidirectional Character Types, Scripts, Extended property
classes, Use of "Is" Prefix, Blocks
- User-Defined Character Properties
- User-Defined Case Mappings
- Character Encodings for Input and Output
- Unicode Regular Expression Support Level
- Unicode Encodings
- Security Implications of Unicode
- Unicode in Perl on EBCDIC
- Locales
- When Unicode Does Not Happen
- Forcing Unicode in Perl (Or Unforcing Unicode in Perl)
- Using Unicode in XS
- BUGS
- Interaction with Locales
- Interaction with Extensions
- Speed
- Porting code from perl-5.6.X
- SEE ALSO
- Q and A
- perlunitut isn't really a Unicode tutorial, is it?
- What character encodings does Perl support?
- Which version of perl should I use?
- What about binary data, like images?
- When should I decode or encode?
- What if I don't decode?
- What if I don't encode?
- Is there a way to automatically decode or encode?
- What if I don't know which encoding was used?
- Can I use Unicode in my Perl sources?
- Data::Dumper doesn't restore the UTF8 flag; is it broken?
- Why do regex character classes sometimes match only in the ASCII
range?
- Why do some characters not uppercase or lowercase correctly?
- How can I determine if a string is a text string or a binary string?
- How do I convert from encoding FOO to encoding BAR?
- What are
decode_utf8 and encode_utf8?
- What is a "wide character"?
- INTERNALS
- What is "the UTF8 flag"?
- What about the
use bytes pragma?
- What about the
use encoding pragma?
- What is the difference between
:encoding and :utf8?
- What's the difference between
UTF-8 and utf8?
- I lost track; what encoding is the internal format really?
- AUTHOR
- SEE ALSO
- DESCRIPTION
- Definitions
- Your new toolkit
- I/O flow (the actual 5 minute tutorial)
- SUMMARY
- Q and A (or FAQ)
- ACKNOWLEDGEMENTS
- AUTHOR
- SEE ALSO
- 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
- 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
- DESCRIPTION
- Packages
- Symbol Tables
- BEGIN, CHECK, INIT and END
- Perl Classes
- Perl Modules
- Making your module threadsafe
- SEE ALSO
- 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::Lint::Debug, 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, CORE, CPAN, CPAN::API::HOWTO, CPAN::FirstTime,
CPAN::Kwalify, CPAN::Nox, CPAN::Version, Carp, Carp::Heavy, Class::ISA,
Class::Struct, Config, Cwd, DB, DBM_Filter, DBM_Filter::compress,
DBM_Filter::encode, DBM_Filter::int32, DBM_Filter::null, DBM_Filter::utf8,
DB_File, Data::Dumper, Devel::DProf, Devel::InnerPackage, Devel::Peek,
Devel::SelfStubber, Digest, Digest::MD5, Digest::base, Digest::file,
DirHandle, Dumpvalue, DynaLoader, Encode, Encode::Alias, Encode::Byte,
Encode::CJKConstants, Encode::CN, Encode::CN::HZ, Encode::Config,
Encode::EBCDIC, Encode::Encoder, Encode::Encoding, Encode::GSM0338,
Encode::Guess, Encode::JP, Encode::JP::H2Z, Encode::JP::JIS7, Encode::KR,
Encode::KR::2022_KR, Encode::MIME::Header, Encode::MIME::Name,
Encode::PerlIO, Encode::Supported, Encode::Symbol, Encode::TW,
Encode::Unicode, Encode::Unicode::UTF7, English, Env, Errno, Exporter,
Exporter::Heavy, ExtUtils::Command, ExtUtils::Command::MM,
ExtUtils::Constant, ExtUtils::Constant::Base, ExtUtils::Constant::Utils,
ExtUtils::Constant::XS, ExtUtils::Embed, ExtUtils::Install,
ExtUtils::Installed, ExtUtils::Liblist, ExtUtils::MM, ExtUtils::MM_AIX,
ExtUtils::MM_Any, ExtUtils::MM_BeOS, ExtUtils::MM_Cygwin, ExtUtils::MM_DOS,
ExtUtils::MM_Darwin, ExtUtils::MM_MacOS, ExtUtils::MM_NW5,
ExtUtils::MM_OS2, ExtUtils::MM_QNX, ExtUtils::MM_UWIN, ExtUtils::MM_Unix,
ExtUtils::MM_VMS, ExtUtils::MM_VOS, ExtUtils::MM_Win32, ExtUtils::MM_Win95,
ExtUtils::MY, ExtUtils::MakeMaker, ExtUtils::MakeMaker::Config,
ExtUtils::MakeMaker::FAQ, ExtUtils::MakeMaker::Tutorial,
ExtUtils::MakeMaker::bytes, ExtUtils::MakeMaker::vmsish,
ExtUtils::Manifest, ExtUtils::Mkbootstrap, ExtUtils::Mksymlists,
ExtUtils::Packlist, ExtUtils::ParseXS, ExtUtils::testlib, Fatal, Fcntl,
File::Basename, File::CheckTree, File::Compare, File::Copy, File::DosGlob,
File::Find, File::Glob, File::Path, File::Spec, File::Spec::Cygwin,
File::Spec::Epoc, File::Spec::Functions, File::Spec::Mac, File::Spec::OS2,
File::Spec::Unix, File::Spec::VMS, File::Spec::Win32, File::Temp,
File::stat, FileCache, FileHandle, Filter::Simple, Filter::Util::Call,
FindBin, GDBM_File, Getopt::Long, Getopt::Std, Hash::Util, I18N::Collate,
I18N::LangTags, I18N::LangTags::Detect, 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::QuotedPrint, Math::BigFloat,
Math::BigInt, Math::BigInt::Calc, Math::BigInt::CalcEmu, Math::BigRat,
Math::Complex, Math::Trig, Memoize, Memoize::AnyDBM_File, Memoize::Expire,
Memoize::ExpireFile, Memoize::ExpireTest, Memoize::NDBM_File,
Memoize::SDBM_File, Memoize::Storable, Module::CoreList, Module::Pluggable,
Module::Pluggable::Object, NDBM_File, NEXT, Net::Cmd, Net::Config,
Net::Domain, Net::FTP, Net::NNTP, Net::Netrc, Net::POP3, Net::Ping,
Net::SMTP, Net::Time, Net::hostent, Net::libnetFAQ, Net::netent,
Net::protoent, Net::servent, O, ODBM_File, Opcode, POSIX, 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, Sys::Syslog::win32::Win32,
Term::ANSIColor, Term::Cap, Term::Complete, Term::ReadLine, Test,
Test::Builder, Test::Builder::Module, Test::Builder::Tester,
Test::Builder::Tester::Color, Test::Harness, Test::Harness::Assert,
Test::Harness::Iterator, Test::Harness::Point, Test::Harness::Results,
Test::Harness::Straps, Test::Harness::TAP, Test::Harness::Util, 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, Win32API::File, Win32CORE,
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
- 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
- DESCRIPTION
- PREAMBLE
-
DECOMPRESS the file, UNPACK the file into a directory, BUILD the
module (sometimes unnecessary), INSTALL the module
- PORTABILITY
- HEY
- AUTHOR
- COPYRIGHT
- DESCRIPTION
- Warning
- What should I make into a module?
- Step-by-step: Preparing the ground
-
Look around, Check it's new, Discuss the need, Choose a name, Check again
- Step-by-step: Making the module
-
Start with module-starter or h2xs, Use strict and
warnings, Use Carp, Use Exporter - wisely!,
Use plain old documentation, Write tests, Write the README
- Step-by-step: Distributing your module
-
Get a CPAN user ID, perl Makefile.PL; make test; make dist, Upload the
tarball, Announce to the modules list, Announce to clpa, Fix bugs!
- AUTHOR
- SEE ALSO
- DESCRIPTION
- LIST OF UTILITIES
- Documentation
-
perldoc, pod2man and pod2text,
pod2html and pod2latex, pod2usage,
podselect, podchecker, splain,
roffitall
- Convertors
-
a2p, s2p and psed, find2perl
- Administration
-
libnetcfg, perlivp
- Development
-
perlbug, perlthanks, h2ph, c2ph
and pstruct, h2xs, enc2xs, the xsubpp manpage,
dprofpp, prove
- General tools
-
piconv
- Installation
-
the cpan manpage, instmodsh
- SEE ALSO
- 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
- 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
- DESCRIPTION
- A
-
accessor methods, actual arguments, address operator, algorithm, alias,
alternatives, anonymous, architecture, argument, ARGV, arithmetical
operator, array, array context, ASCII, assertion, assignment, assignment
operator, associative array, associativity, asynchronous, atom, atomic
operation, attribute, autogeneration, autoincrement, autoload, autosplit,
autovivification, AV, awk
- B
-
backreference, backtracking, backward compatibility, bareword, base class,
big-endian, binary, binary operator, bind, bit, bit shift, bit string,
bless, block, BLOCK, block buffering, Boolean, Boolean context, breakpoint,
broadcast, BSD, bucket, buffer, built-in, bundle, byte, bytecode
- C
-
C, C preprocessor, call by reference, call by value, callback, canonical,
capturing, character, character class, character property, circumfix
operator, class, class method, client, cloister, closure, cluster, CODE,
code generator, code subpattern, collating sequence, command, command
buffering, command name, command-line arguments, comment, compilation unit,
compile phase, compile time, compiler, composer, concatenation,
conditional, connection, construct, constructor, context, continuation,
core dump, CPAN, cracker, current package, current working directory,
currently selected output channel, CV
- D
-
dangling statement, data structure, data type, datagram, DBM, declaration,
decrement, default, defined, delimiter, deprecated modules and features,
dereference, derived class, descriptor, destroy, destructor, device,
directive, directory, directory handle, dispatch, distribution, (to be)
dropped modules, dweomer, dwimmer, dynamic scoping
- E
-
eclectic, element, embedding, empty subclass test, en passant,
encapsulation, endian, environment, environment variable, EOF, errno,
error, escape sequence, exception, exception handling, exec, executable
file, execute, execute bit, exit status, export, expression, extension
- F
-
false, FAQ, fatal error, field, FIFO, file, file descriptor, file test
operator, fileglob, filehandle, filename, filesystem, filter, flag,
floating point, flush, FMTEYEWTK, fork, formal arguments, format, freely
available, freely redistributable, freeware, function, funny character,
garbage collection
- G
-
GID, glob, global, global destruction, glue language, granularity, greedy,
grep, group, GV
- H
-
hacker, handler, hard reference, hash, hash table, header file, here
document, hexadecimal, home directory, host, hubris, HV
- I
-
identifier, impatience, implementation, import, increment, indexing,
indirect filehandle, indirect object, indirect object slot, indirection,
infix, inheritance, instance, instance variable, integer, interface,
interpolation, interpreter, invocant, invocation, I/O, IO, IP, IPC, is-a,
iteration, iterator, IV
- J
-
JAPH
- K
-
key, keyword
- L
-
label, laziness, left shift, leftmost longest, lexeme, lexer, lexical
analysis, lexical scoping, lexical variable, library, LIFO, line, line
buffering, line number, link, LIST, list, list context, list operator, list
value, literal, little-endian, local, logical operator, lookahead,
lookbehind, loop, loop control statement, loop label, lvaluable, lvalue,
lvalue modifier
- M
-
magic, magical increment, magical variables, Makefile, man, manpage,
matching, member data, memory, metacharacter, metasymbol, method,
minimalism, mode, modifier, module, modulus, monger, mortal,
multidimensional array, multiple inheritance
- N
-
named pipe, namespace, network address, newline, NFS, null character, null
list, null string, numeric context, NV, nybble
- O
-
object, octal, offset, one-liner, open source software, operand, operating
system, operator, operator overloading, options, overloading, overriding,
owner
- P
-
package, pad, parameter, parent class, parse tree, parsing, patch, PATH,
pathname, pattern, pattern matching, permission bits, Pern, pipe, pipeline,
platform, pod, pointer, polymorphism, port, portable, porter, POSIX,
postfix, pp, pragma, precedence, prefix, preprocessing, procedure, process,
program generator, progressive matching, property, protocol, prototype,
pseudofunction, pseudohash, pseudoliteral, public domain, pumpkin,
pumpking, PV
- Q
-
qualified, quantifier
- R
-
readable, reaping, record, recursion, reference, referent, regex, regular
expression, regular expression modifier, regular file, relational operator,
reserved words, return value, RFC, right shift, root, RTFM, run phase, run
time, run-time pattern, RV, rvalue
- S
-
scalar, scalar context, scalar literal, scalar value, scalar variable,
scope, scratchpad, script, script kiddie, sed, semaphore, separator,
serialization, server, service, setgid, setuid, shared memory, shebang,
shell, side effects, signal, signal handler, single inheritance, slice,
slurp, socket, soft reference, source filter, stack, standard, standard
error, standard I/O, standard input, standard output, stat structure,
statement, statement modifier, static, static method, static scoping,
static variable, status, STDERR, STDIN, STDIO, STDOUT, stream, string,
string context, stringification, struct, structure, subclass, subpattern,
subroutine, subscript, substitution, substring, superclass, superuser, SV,
switch, switch cluster, switch statement, symbol, symbol table, symbolic
debugger, symbolic link, symbolic reference, synchronous, syntactic sugar,
syntax, syntax tree, syscall
- T
-
tainted, TCP, term, terminator, ternary, text, thread, tie, TMTOWTDI,
token, tokener, tokenizing, toolbox approach, transliterate, trigger,
trinary, troff, true, truncating, type, type casting, typed lexical,
typedef, typeglob, typemap
- U
-
UDP, UID, umask, unary operator, Unicode, Unix
- V
-
value, variable, variable interpolation, variadic, vector, virtual, void
context, v-string
- W
-
warning, watch expression, whitespace, word, working directory, wrapper,
WYSIWYG
- X
-
XS, XSUB
- Y
-
yacc
- Z
-
zero width, zombie
- AUTHOR AND COPYRIGHT
- DESCRIPTION
- PREAMBLE
-
Use C from Perl?, Use a Unix program from Perl?, Use Perl from
Perl?, Use C from C?, Use Perl from C?
- ROADMAP
- Compiling your C program
- Adding a Perl interpreter to your C program
- Calling a Perl subroutine from your C program
- Evaluating a Perl statement from your C program
- Performing Perl pattern matches and substitutions from your C program
- Fiddling with the Perl stack from your C program
- Maintaining a persistent interpreter
- Execution of END blocks
- $0 assignments
- Maintaining multiple interpreter instances
- Using Perl modules, which themselves use C libraries, from your C
program
- Embedding Perl under Win32
- Hiding Perl_
- MORAL
- AUTHOR
- COPYRIGHT
- DESCRIPTION
- Debugger Internals
- Writing Your Own Debugger
- Frame Listing Output Examples
- Debugging regular expressions
- Compile-time output
-
anchored STRING at POS, floating STRING at
POS1..POS2, matching floating/anchored, minlen, stclass
TYPE, noscan, isall, GPOS, plus, implicit, with eval,
anchored(TYPE)
- Types of nodes
- Run-time output
- Debugging Perl memory usage
- Using
$ENV{PERL_DEBUG_MSTATS}
-
buckets SMALLEST(APPROX)..GREATEST(APPROX), Free/Used, Total sbrk():
SBRKed/SBRKs:CONTINUOUS, pad: 0, heads: 2192, chain: 0, tail:
6144
- SEE ALSO
- 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
- DESCRIPTION
- Introduction
- On The Road
- The Anatomy of an XSUB
- The Argument Stack
- The RETVAL Variable
- Returning SVs, AVs and HVs through RETVAL
- The MODULE Keyword
- The PACKAGE Keyword
- The PREFIX Keyword
- The OUTPUT: Keyword
- The NO_OUTPUT Keyword
- The CODE: Keyword
- The INIT: Keyword
- The NO_INIT Keyword
- Initializing Function Parameters
- Default Parameter Values
- The PREINIT: Keyword
- The SCOPE: Keyword
- The INPUT: Keyword
- The IN/OUTLIST/IN_OUTLIST/OUT/IN_OUT Keywords
- The
length(NAME) Keyword
- Variable-length Parameter Lists
- The C_ARGS: Keyword
- The PPCODE: Keyword
- Returning Undef And Empty Lists
- The REQUIRE: Keyword
- The CLEANUP: Keyword
- The POSTCALL: Keyword
- The BOOT: Keyword
- The VERSIONCHECK: Keyword
- The PROTOTYPES: Keyword
- The PROTOTYPE: Keyword
- The ALIAS: Keyword
- The OVERLOAD: Keyword
- The FALLBACK: Keyword
- The INTERFACE: Keyword
- The INTERFACE_MACRO: Keyword
- The INCLUDE: Keyword
- The CASE: Keyword
- The & Unary Operator
- Inserting POD, Comments and C Preprocessor Directives
- Using XS With C++
- Interface Strategy
- Perl Objects And C Structures
- The Typemap
- Safely Storing Static Data in XS
-
MY_CXT_KEY, typedef my_cxt_t, START_MY_CXT, MY_CXT_INIT, dMY_CXT, MY_CXT,
aMY_CXT/pMY_CXT, MY_CXT_CLONE
- Thread-aware system interfaces
- EXAMPLES
- XS VERSION
- AUTHOR
- 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
- DESCRIPTION
- Variables
- Datatypes
- What is an "IV"?
- Working with SVs
- Offsets
- What's Really Stored in an SV?
- Working with AVs
- Working with HVs
- Hash API Extensions
- AVs, HVs and undefined values
- References
- Blessed References and Class Objects
- Creating New Variables
-
GV_ADDMULTI, GV_ADDWARN
- Reference Counts and Mortality
- Stashes and Globs
- Double-Typed SVs
- Magic Variables
- Assigning Magic
- Magic Virtual Tables
- Finding Magic
- Understanding the Magic of Tied Hashes and Arrays
- Localizing changes
-
SAVEINT(int i), SAVEIV(IV i), SAVEI32(I32 i), SAVELONG(long i),
SAVESPTR(s), SAVEPPTR(p), SAVEFREESV(SV *sv), SAVEMORTALIZESV(SV
*sv), SAVEFREEOP(OP *op), SAVEFREEPV(p), SAVECLEARSV(SV *sv),
SAVEDELETE(HV *hv, char *key, I32 length),
SAVEDESTRUCTOR(DESTRUCTORFUNC_NOCONTEXT_t f, void *p),
SAVEDESTRUCTOR_X(DESTRUCTORFUNC_t f, void *p), SAVESTACK_POS(), SV*
save_scalar(GV *gv), AV* save_ary(GV *gv), HV* save_hash(GV *gv),
void save_item(SV *item), void save_list(SV **sarg, I32 maxsarg),
SV* save_svref(SV **sptr), void save_aptr(AV **aptr), void
save_hptr(HV **hptr)
- Subroutines
- XSUBs and the Argument Stack
- Calling Perl Routines from within C Programs
- Memory Allocation
- PerlIO
- Putting a C value on Perl stack
- Scratchpads
- Scratchpads and recursion
- Compiled code
- Code tree
- Examining the tree
- Compile pass 1: check routines
- Compile pass 1a: constant folding
- Compile pass 2: context propagation
- Compile pass 3: peephole optimization
- Pluggable runops
- Examining internal data structures with the
dump functions
- How multiple interpreters and concurrency are supported
- Background and PERL_IMPLICIT_CONTEXT
- So what happened to dTHR?
- How do I use all this in extensions?
- Should I do anything special if I call perl from multiple threads?
- Future Plans and PERL_IMPLICIT_SYS
- Internal Functions
-
A, p, d, s, n, r, f, M, o, x, m, X, E, b, others
- Formatted Printing of IVs, UVs, and NVs
- Pointer-To-Integer and Integer-To-Pointer
- Exception Handling
- Source Documentation
- Backwards compatibility
- Unicode Support
- What is Unicode, anyway?
- How can I recognise a UTF-8 string?
- How does UTF-8 represent Unicode characters?
- How does Perl store UTF-8 strings?
- How do I convert a string to UTF-8?
- Is there anything else I need to know?
- Custom Operators
- AUTHORS
- SEE ALSO
- DESCRIPTION
-
An Error Handler, An Event Driven Program
- THE CALL_ FUNCTIONS
-
call_sv, call_pv, call_method, call_argv
- FLAG VALUES
- G_VOID
- G_SCALAR
- G_ARRAY
- G_DISCARD
- G_NOARGS
- G_EVAL
- G_KEEPERR
- Determining the Context
- EXAMPLES
- No Parameters, Nothing returned
- Passing Parameters
- Returning a Scalar
- Returning a list of values
- Returning a list in a scalar context
- Returning Data from Perl via the parameter list
- Using G_EVAL
- Using G_KEEPERR
- Using call_sv
- Using call_argv
- Using call_method
- Using GIMME_V
- Using Perl to dispose of temporaries
- Strategies for storing Callback Context Information
-
1. Ignore the problem - Allow only 1 callback, 2. Create a sequence of
callbacks - hard wired limit, 3. Use a parameter to map to the Perl
callback
- Alternate Stack Manipulation
- Creating and calling an anonymous subroutine in C
- LIGHTWEIGHT CALLBACKS
- SEE ALSO
- AUTHOR
- DATE
- DESCRIPTION
- OVERVIEW
- A quick note on terms
- What is a regular expression engine?
- Structure of a Regexp Program
-
regnode_1, regnode_2, regnode_string, regnode_charclass,
regnode_charclass_class
- Process Overview
-
A. Compilation, 1. Parsing for size, 2. Parsing for construction, 3.
Peep-hole optimisation and analysis, B. Execution, 4. Start position and
no-match optimisations, 5. Program execution
- Compilation
-
anchored fixed strings, floating fixed strings, minimum and maximum length
requirements, start class, Beginning/End of line positions
- Execution
- MISCELLANEOUS
- Unicode and Localisation Support
- Base Struct
-
-, -, -, -
- De-allocation and Cloning
- SEE ALSO
- AUTHOR
- LICENCE
- REFERENCES
- DESCRIPTION
- "Gimme" Values
-
GIMME , GIMME_V , G_ARRAY , G_DISCARD
, G_EVAL , G_NOARGS , G_SCALAR ,
G_VOID
- Array Manipulation Functions
-
AvFILL , av_clear , av_create_and_push
, av_create_and_unshift_one
, av_delete , av_exists
, av_extend , av_fetch , av_fill
, av_len , av_make , av_pop , av_push
, av_shift , av_store , av_undef
, av_unshift , get_av , newAV ,
sortsv
- Callback Functions
-
call_argv , call_method , call_pv ,
call_sv , ENTER , eval_pv , eval_sv ,
FREETMPS , LEAVE , SAVETMPS
- Character classes
-
isALNUM , isALPHA , isDIGIT , isLOWER
, isSPACE , isUPPER , toLOWER ,
toUPPER
- Cloning an interpreter
-
perl_clone
- CV Manipulation Functions
-
CvSTASH , get_cv , get_cvn_flags
- Embedding Functions
-
cv_undef , load_module , nothreadhook
, perl_alloc , perl_construct
, perl_destruct , perl_free ,
perl_parse , perl_run , require_pv
- Functions in file dump.c
-
pv_display , pv_escape , pv_pretty
- Functions in file mathoms.c
-
gv_fetchmethod , pack_cat , sv_2pvbyte_nolen
, sv_2pvutf8_nolen , sv_2pv_nolen
, sv_catpvn_mg , sv_catsv_mg ,
sv_force_normal , sv_iv , sv_nolocking
, sv_nounlocking , sv_nv , sv_pv
, sv_pvbyte , sv_pvbyten , sv_pvn
, sv_pvutf8 , sv_pvutf8n , sv_taint
, sv_unref , sv_usepvn , sv_usepvn_mg
, sv_uv , unpack_str
- Functions in file pp_ctl.c
-
find_runcv
- Functions in file pp_pack.c
-
packlist , unpackstring
- Global Variables
-
PL_modglobal , PL_na , PL_sv_no ,
PL_sv_undef , PL_sv_yes
- GV Functions
-
GvSV , gv_const_sv , gv_fetchmeth ,
gv_fetchmethod_autoload , gv_fetchmeth_autoload
, gv_stashpv , gv_stashpvn
, gv_stashpvs , gv_stashsv
- Handy Values
-
Nullav , Nullch , Nullcv , Nullhv ,
Nullsv
- Hash Manipulation Functions
-
get_hv , HEf_SVKEY , HeHASH , HeKEY ,
HeKLEN , HePV , HeSVKEY , HeSVKEY_force
, HeSVKEY_set , HeUTF8 , HeVAL
, HvNAME , hv_assert , hv_clear ,
hv_clear_placeholders , hv_delete ,
hv_delete_ent , hv_exists , hv_exists_ent
, hv_fetch , hv_fetchs ,
hv_fetch_ent , hv_iterinit , hv_iterkey
, hv_iterkeysv , hv_iternext ,
hv_iternextsv , hv_iternext_flags ,
hv_iterval , hv_magic , hv_scalar ,
hv_store , hv_stores , hv_store_ent ,
hv_undef , newHV
- Magical Functions
-
mg_clear , mg_copy , mg_find , mg_free
, mg_get , mg_length , mg_magical
, mg_set , SvGETMAGIC , SvLOCK
, SvSETMAGIC , SvSetMagicSV ,
SvSetMagicSV_nosteal , SvSetSV ,
SvSetSV_nosteal , SvSHARE , SvUNLOCK
- Memory Management
-
Copy , CopyD , Move , MoveD , Newx ,
Newxc , Newxz , Poison , PoisonFree ,
PoisonNew , PoisonWith , Renew , Renewc
, Safefree , savepv , savepvn ,
savepvs , savesharedpv , savesharedpvn
, savesvpv , StructCopy , Zero
, ZeroD
- Miscellaneous Functions
-
fbm_compile , fbm_instr , form , getcwd_sv
, my_snprintf , my_sprintf ,
my_vsnprintf , strEQ , strGE , strGT
, strLE , strLT , strNE , strnEQ ,
strnNE , sv_destroyable , sv_nosharing
- Multicall Functions
-
dMULTICALL , MULTICALL , POP_MULTICALL
, PUSH_MULTICALL
- Numeric functions
-
grok_bin , grok_hex , grok_number ,
grok_numeric_radix , grok_oct ,
Perl_signbit , scan_bin , scan_hex ,
scan_oct
- Optree Manipulation Functions
-
cv_const_sv , newCONSTSUB , newXS
- Pad Data Structures
-
pad_sv
- Simple Exception Handling Macros
-
dXCPT , XCPT_CATCH , XCPT_RETHROW ,
XCPT_TRY_END , XCPT_TRY_START
- Stack Manipulation Macros
-
dMARK , dORIGMARK , dSP , EXTEND , MARK
, mPUSHi , mPUSHn , mPUSHp , mPUSHs
, mPUSHu , mXPUSHi , mXPUSHn ,
mXPUSHp , mXPUSHs , mXPUSHu , ORIGMARK
, POPi , POPl , POPn , POPp ,
POPpbytex , POPpx , POPs , PUSHi ,
PUSHMARK , PUSHmortal , PUSHn , PUSHp
, PUSHs , PUSHu , PUTBACK , SP ,
SPAGAIN , XPUSHi , XPUSHmortal , XPUSHn
, XPUSHp , XPUSHs , XPUSHu , XSRETURN
, XSRETURN_EMPTY , XSRETURN_IV ,
XSRETURN_NO , XSRETURN_NV , XSRETURN_PV
, XSRETURN_UNDEF , XSRETURN_UV
, XSRETURN_YES , XST_mIV , XST_mNO
, XST_mNV , XST_mPV , XST_mUNDEF
, XST_mYES
- SV Flags
-
svtype , SVt_IV , SVt_NV , SVt_PV ,
SVt_PVAV , SVt_PVCV , SVt_PVHV , SVt_PVMG
- SV Manipulation Functions
-
get_sv , newRV_inc , newSVpvn_utf8 ,
SvCUR , SvCUR_set , SvEND , SvGROW ,
SvIOK , SvIOKp , SvIOK_notUV , SvIOK_off
, SvIOK_on , SvIOK_only , SvIOK_only_UV
, SvIOK_UV , SvIsCOW ,
SvIsCOW_shared_hash , SvIV , SvIVX ,
SvIVx , SvIV_nomg , SvIV_set , SvLEN
, SvLEN_set , SvMAGIC_set , SvNIOK
, SvNIOKp , SvNIOK_off , SvNOK ,
SvNOKp , SvNOK_off , SvNOK_on , SvNOK_only
, SvNV , SvNVX , SvNVx , SvNV_set
, SvOK , SvOOK , SvPOK , SvPOKp
, SvPOK_off , SvPOK_on , SvPOK_only
, SvPOK_only_UTF8 , SvPV , SvPVbyte
, SvPVbytex , SvPVbytex_force ,
SvPVbyte_force , SvPVbyte_nolen ,
SvPVutf8 , SvPVutf8x , SvPVutf8x_force
, SvPVutf8_force , SvPVutf8_nolen
, SvPVX , SvPVx , SvPV_force
, SvPV_force_nomg , SvPV_nolen
, SvPV_nomg , SvPV_set , SvREFCNT
, SvREFCNT_dec , SvREFCNT_inc ,
SvREFCNT_inc_NN , SvREFCNT_inc_simple
, SvREFCNT_inc_simple_NN ,
SvREFCNT_inc_simple_void ,
SvREFCNT_inc_simple_void_NN ,
SvREFCNT_inc_void , SvREFCNT_inc_void_NN
, SvROK , SvROK_off , SvROK_on
, SvRV , SvRV_set , SvSTASH ,
SvSTASH_set , SvTAINT , SvTAINTED ,
SvTAINTED_off , SvTAINTED_on , SvTRUE
, SvTYPE , SvUOK , SvUPGRADE , SvUTF8
, SvUTF8_off , SvUTF8_on , SvUV ,
SvUVX , SvUVx , SvUV_nomg , SvUV_set
, sv_catpvn_nomg , sv_catsv_nomg
, sv_derived_from , sv_report_used
, sv_setsv_nomg
- SV-Body Allocation
-
looks_like_number , newRV_noinc , newSV
, newSVhek , newSViv , newSVnv ,
newSVpv , newSVpvf , newSVpvn ,
newSVpvn_flags , newSVpvn_share ,
newSVpvs , newSVpvs_flags , newSVpvs_share
, newSVrv , newSVsv , newSVuv
, newSV_type , sv_2bool , sv_2cv
, sv_2io , sv_2iv_flags , sv_2mortal
, sv_2nv , sv_2pvbyte , sv_2pvutf8
, sv_2pv_flags , sv_2uv_flags ,
sv_backoff , sv_bless , sv_catpv ,
sv_catpvf , sv_catpvf_mg , sv_catpvn
, sv_catpvn_flags , sv_catpvs ,
sv_catpv_mg , sv_catsv , sv_catsv_flags
, sv_chop , sv_clear , sv_cmp
, sv_cmp_locale , sv_collxfrm ,
sv_copypv , sv_dec , sv_eq ,
sv_force_normal_flags , sv_free , sv_gets
, sv_grow , sv_inc , sv_insert ,
sv_isa , sv_isobject , sv_len , sv_len_utf8
, sv_magic , sv_magicext ,
sv_mortalcopy , sv_newmortal , sv_newref
, sv_pos_b2u , sv_pos_u2b ,
sv_pvbyten_force , sv_pvn_force ,
sv_pvn_force_flags , sv_pvutf8n_force
, sv_reftype , sv_replace ,
sv_reset , sv_rvweaken , sv_setiv ,
sv_setiv_mg , sv_setnv , sv_setnv_mg
, sv_setpv , sv_setpvf , sv_setpvf_mg
, sv_setpviv , sv_setpviv_mg ,
sv_setpvn , sv_setpvn_mg , sv_setpvs
, sv_setpv_mg , sv_setref_iv ,
sv_setref_nv , sv_setref_pv , sv_setref_pvn
, sv_setref_uv , sv_setsv ,
sv_setsv_flags , sv_setsv_mg , sv_setuv
, sv_setuv_mg , sv_tainted , sv_true
, sv_unmagic , sv_unref_flags ,
sv_untaint , sv_upgrade , sv_usepvn_flags
, sv_utf8_decode , sv_utf8_downgrade
, sv_utf8_encode , sv_utf8_upgrade
, sv_utf8_upgrade_flags ,
sv_vcatpvf , sv_vcatpvfn , sv_vcatpvf_mg
, sv_vsetpvf , sv_vsetpvfn ,
sv_vsetpvf_mg
- Unicode Support
-
bytes_from_utf8 , bytes_to_utf8 ,
ibcmp_utf8 , is_utf8_char , is_utf8_string
, is_utf8_string_loc ,
is_utf8_string_loclen , pv_uni_display
, sv_cat_decode , sv_recode_to_utf8
, sv_uni_display , to_utf8_case
, to_utf8_fold , to_utf8_lower
, to_utf8_title , to_utf8_upper
, utf8n_to_uvchr , utf8n_to_uvuni
, utf8_distance , utf8_hop ,
utf8_length , utf8_to_bytes , utf8_to_uvchr
, utf8_to_uvuni , uvchr_to_utf8
, uvuni_to_utf8_flags
- Variables created by
xsubpp and xsubpp internal functions
-
ax , CLASS , dAX , dAXMARK , dITEMS ,
dUNDERBAR , dXSARGS , dXSI32 , items
, ix , newXSproto , RETVAL , ST ,
THIS , UNDERBAR , XS , XS_VERSION ,
XS_VERSION_BOOTCHECK
- Warning and Dieing
-
croak , warn
- AUTHORS
- SEE ALSO
- DESCRIPTION
- CV reference counts and CvOUTSIDE
-
CvWEAKOUTSIDE
- Functions in file pad.h
-
CX_CURPAD_SAVE , CX_CURPAD_SV , PAD_BASE_SV
, PAD_CLONE_VARS , PAD_COMPNAME_FLAGS
, PAD_COMPNAME_GEN ,
PAD_COMPNAME_GEN_set , PAD_COMPNAME_OURSTASH
, PAD_COMPNAME_PV ,
PAD_COMPNAME_TYPE , PAD_DUP ,
PAD_RESTORE_LOCAL , PAD_SAVE_LOCAL ,
PAD_SAVE_SETNULLPAD , PAD_SETSV ,
PAD_SET_CUR , PAD_SET_CUR_NOSAVE ,
PAD_SV , PAD_SVl , SAVECLEARSV ,
SAVECOMPPAD , SAVEPADSV
- 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
- Magical Functions
-
mg_localize
- 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
- SV-Body Allocation
-
sv_2num
- AUTHORS
- SEE ALSO
- 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
- 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,...)
- DESCRIPTION
-
Does concept match the general goals of Perl?, Where is the
implementation?, Backwards compatibility, Could it be a module instead?, Is
the feature generic enough?, Does it potentially introduce new bugs?, Does
it preclude other desirable features?, Is the implementation robust?, Is
the implementation generic enough to be portable?, Is the implementation
tested?, Is there enough documentation?, Is there another way to do it?,
Does it create too much work?, Patches speak louder than words
- Keeping in sync
-
rsync'ing the source tree, Using rsync over the LAN, Using pushing over the
NFS, rsync'ing the patches
- Why rsync the source tree
-
It's easier to rsync the source tree, It's more reliable
- Why rsync the patches
-
It's easier to rsync the patches, It's a good reference, Finding a start
point, Finding how to fix a bug, Finding the source of misbehaviour
- Working with the source
- Perlbug administration
- Submitting patches
-
the perlguts manpage, the perlxstut manpage and the perlxs manpage, the perlapi manpage,
Porting/pumpkin.pod, The perl5-porters FAQ
- Finding Your Way Around
-
Core modules, Tests, Documentation, Configure, Interpreter
- Elements of the interpreter
-
Startup, Parsing, Optimization, Running, Exception handing
- Internal Variable Types
- Op Trees
- Stacks
-
Argument stack, Mark stack, Save stack
- Millions of Macros
- The .i Targets
- SOURCE CODE STATIC ANALYSIS
- lint, splint
- Coverity
- cpd (cut-and-paste detector)
- gcc warnings
- Warnings of other C compilers
- DEBUGGING
- Poking at Perl
- Using a source-level debugger
-
run [args], break function_name, break source.c:xxx, step, next, continue,
finish, 'enter', print
- gdb macro support
- Dumping Perl Data Structures
- Patching
- Patching a core module
- Adding a new function to the core
- Writing a test
-
t/base/, t/cmd/, t/comp/, t/io/, t/lib/, t/op/,
t/pod/, t/run/, t/uni/, t/win32/, t/x2p, t/base t/comp,
t/cmd t/run t/io t/op, t/lib ext lib
- Special Make Test Targets
-
coretest, test.deparse, test.taintwarn, minitest, test.valgrind
check.valgrind utest.valgrind ucheck.valgrind, test.third check.third
utest.third ucheck.third, test.torture torturetest, utest ucheck test.utf8
check.utf8, minitest.utf16 test.utf16, test_harness, test-notty test_notty
- Running tests by hand
-
-v, -torture, -re=PATTERN, -re LIST OF PATTERNS, PERL_CORE=1,
PERL_DESTRUCT_LEVEL=2, PERL, PERL_SKIP_TTY_TEST, PERL_TEST_Net_Ping,
PERL_TEST_NOVREXX, PERL_TEST_NUMCONVERTS
- Common problems when patching Perl source code
- Perl environment problems
- Portability problems
- Problematic System Interfaces
- Security problems
- EXTERNAL TOOLS FOR DEBUGGING PERL
- Rational Software's Purify
- Purify on Unix
-
-Accflags=-DPURIFY, -Doptimize='-g', -Uusemymalloc, -Dusemultiplicity
- Purify on NT
-
DEFINES, USE_MULTI = define, #PERL_MALLOC = define, CFG = Debug
- valgrind
- Compaq's/Digital's/HP's Third Degree
- PERL_DESTRUCT_LEVEL
- PERL_MEM_LOG
- Profiling
- Gprof Profiling
-
-a, -b, -e routine, -f routine, -s, -z
- GCC gcov Profiling
- Pixie Profiling
-
-h, -l, -p[rocedures], -h[eavy], -i[nvocations], -l[ines], -testcoverage,
-z[ero]
- Miscellaneous tricks
- CONCLUSION
-
The Road goes ever on and on, down from the door where it began.
- AUTHOR
- DESCRIPTION
- DESCRIPTION
- Where to find the community
- Mailing lists and Newsgroups
- IRC
- Websites
-
http://perl.com/, http://use.perl.org/, http://www.perlmonks.org/
- User Groups
- Workshops
- Hackathons
- Conventions
- Calendar of Perl Events
- AUTHOR
- DESCRIPTION
- Tasks that only need Perl knowledge
- Remove duplication of test setup.
- merge common code in installperl and installman
- common test code for timed bail out
- POD -> HTML conversion in the core still sucks
- merge checkpods and podchecker
- Parallel testing
- Make Schwern poorer
- Improve the coverage of the core tests
- test B
- Deparse inlined constants
- A decent benchmark
- fix tainting bugs
- Dual life everything
- Bundle dual life modules in ext/
- Improving
threads::shared
- POSIX memory footprint
- embed.pl/makedef.pl
- use strict; and AutoLoad
- profile installman
- Tasks that need a little sysadmin-type knowledge
- make HTML install work
- compressed man pages
- Add a code coverage target to the Makefile
- Make Config.pm cope with differences between built and installed perl
- linker specification files
- Cross-compile support
- roffitall
- Tasks that need a little C knowledge
- Weed out needless PERL_UNUSED_ARG
- Modernize the order of directories in @INC
- -Duse32bit*
- Make it clear from -v if this is the exact official release
- Profile Perl - am I hot or not?
- Allocate OPs from arenas
- Improve win32/wince.c
- Use secure CRT functions when building with VC8 on Win32
- Fix POSIX::access() and
chdir() on Win32
strcat(), strcpy(), strncat(), strncpy(), sprintf(), vsprintf()
- -D_FORTIFY_SOURCE=2, -fstack-protector
- Arenas for GPs? For MAGIC?
- Tasks that need a knowledge of XS
- investigate removing int_macro_int from POSIX.xs
- safely supporting POSIX SA_SIGINFO
- autovivification
- Unicode in Filenames
- Unicode in %ENV
- Unicode and
glob()
- Unicode and lc/uc operators
- use less 'memory'
- Re-implement
:unique in a way that is actually thread-safe
- Make tainting consistent
- readpipe(LIST)
- Audit the code for destruction ordering assumptions
- Extend PerlIO and PerlIO::Scalar
- -C on the #! line
- Propagate const outwards from
Perl_moreswitches()
- Duplicate logic in
S_method_common() and
Perl_gv_fetchmethod_autoload()
- Organize error messages
- Tasks that need a knowledge of the interpreter
- UTF-8 revamp
- Properly Unicode safe tokeniser and pads.
- state variable initialization in list context
- Implement $value ~~ 0 .. $range
- A
does() built-in
- Tied filehandles and
write() don't mix
- Attach/detach debugger from running program
- Optimize away empty destructors
- LVALUE functions for lists
- LVALUE functions in the debugger
- regexp optimiser optional
- delete &function
/w regex modifier
- optional optimizer
- You WANT *how* many
- lexical aliases
- entersub XS vs Perl
- Self-ties
- Optimize away @_
- The yada yada yada operators
- Virtualize operating system access
- Investigate PADTMP hash pessimisation
- Store the current pad in the OP slab allocator
- repack the optree
- eliminate incorrect line numbers in warnings
- optimize tail-calls
- Big projects
- make ithreads more robust
- iCOW
- (?{...}) closures in regexps
- A re-entrant regexp engine
- Add class set operations to regexp engine
- 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
- DESCRIPTION
- INTRODUCTION
- THE KEEPERS OF THE PUMPKIN
- PUMPKIN?
- THE RECORDS
- SELECTED RELEASE SIZES
- SELECTED PATCH SIZES
- THE KEEPERS OF THE RECORDS
- DESCRIPTION
- Incompatible Changes
- Core Enhancements
- Modules and Pragmata
- Utility Changes
- New Documentation
- Performance Enhancements
- Installation and Configuration Improvements
- Selected Bug Fixes
- New or Changed Diagnostics
- Changed Internals
- New Tests
- Known Problems
- Platform Specific Problems
- Reporting Bugs
- SEE ALSO
- DESCRIPTION
- Incompatible Changes
- Core Enhancements
- Modules and Pragmata
- Utility Changes
- New Documentation
- Performance Enhancements
- Installation and Configuration Improvements
- Selected Bug Fixes
- New or Changed Diagnostics
- Changed Internals
- New Tests
- Known Problems
- Platform Specific Problems
- Reporting Bugs
- SEE ALSO
- DESCRIPTION
- Incompatible Changes
- Core Enhancements
- Modules and Pragmata
- Utility Changes
h2xs enhancements
perlivp enhancements
- New Documentation
- Performance Enhancements
- Installation and Configuration Improvements
- Selected Bug Fixes
- no warnings 'category' works correctly with -w
- Remove over-optimisation
sprintf() fixes
- Debugger and Unicode slowdown
- Smaller fixes
- New or Changed Diagnostics
- Attempt to set length of freed array
- Non-string passed as bitmask
- Search pattern not terminated or ternary operator parsed as search
pattern
- Changed Internals
- Platform Specific Problems
- Reporting Bugs
- SEE ALSO
- DESCRIPTION
- Incompatible Changes
- Core Enhancements
- Unicode Character Database 4.1.0
- suidperl less insecure
- Optional site customization script
Config.pm is now much smaller.
- Modules and Pragmata
- Utility Changes
- find2perl enhancements
- Performance Enhancements
- Installation and Configuration Improvements
- Selected Bug Fixes
- New or Changed Diagnostics
- Changed Internals
- Known Problems
- Platform Specific Problems
- Reporting Bugs
- SEE ALSO
- DESCRIPTION
- Incompatible Changes
- Core Enhancements
- Modules and Pragmata
- Utility Changes
- Performance Enhancements
- Selected Bug Fixes
- New or Changed Diagnostics
- Changed Internals
- New Tests
- Reporting Bugs
- SEE ALSO
- DESCRIPTION
- Incompatible Changes
- Core Enhancements
- Modules and Pragmata
- Utility Changes
- Perl's debugger
- h2ph
- Installation and Configuration Improvements
- Selected Bug Fixes
- New or Changed Diagnostics
- Changed Internals
- Known Problems
- Platform Specific Problems
- Reporting Bugs
- SEE ALSO
- 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
- 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
- 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
- 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
- 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
- DESCRIPTION
- Changes
- Reporting Bugs
- SEE ALSO
- HISTORY
- DESCRIPTION
- Security Vulnerability Closed
- Incompatible Changes
-
- -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
- 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
- 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
- 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
- @- and @+ provide starting/ending offsets of regex submatches
- Modules and Pragmata
- Modules
-
attributes, B, Benchmark, ByteLoader, constant, charnames, Data::Dumper,
DB, DB_File, Devel::DProf, Devel::Peek, Dumpvalue, DynaLoader, English,
Env, Fcntl, File::Compare, File::Find, File::Glob, File::Spec,
File::Spec::Functions, Getopt::Long, IO, JPL, lib, Math::BigInt,
Math::Complex, Math::Trig, Pod::Parser, Pod::InputObjects, Pod::Checker,
podchecker, Pod::ParseUtils, Pod::Find, Pod::Select, podselect, Pod::Usage,
pod2usage, Pod::Text and Pod::Man, SDBM_File, Sys::Syslog, Sys::Hostname,
Term::ANSIColor, Time::Local, Win32, XSLoader, DBM Filters
- Pragmata
- Utility Changes
- dprofpp
- find2perl
- h2xs
- perlcc
- perldoc
- The Perl Debugger
- Improved Documentation
-
perlapi.pod, perlboot.pod, perlcompile.pod, perldbmfilter.pod,
perldebug.pod, perldebguts.pod, perlfork.pod, perlfilter.pod, perlhack.pod,
perlintern.pod, perllexwarn.pod, perlnumber.pod, perlopentut.pod,
perlreftut.pod, perltootc.pod, perltodo.pod, perlunicode.pod
- Performance enhancements
- Simple
sort() using { $a <=> $b } and the like are optimized
- Optimized assignments to lexical variables
- Faster subroutine calls
delete(), each(), values() and hash iteration are faster
- Installation and Configuration Improvements
- -Dusethreads means something different
- New Configure flags
- Threadedness and 64-bitness now more daring
- Long Doubles
- -Dusemorebits
- -Duselargefiles
- installusrbinperl
- SOCKS support
-A flag
- Enhanced Installation Directories
- gcc automatically tried if 'cc' does not seem to be working
- Platform specific changes
- Supported platforms
- DOS
- OS390 (OpenEdition MVS)
- VMS
- Win32
- Significant bug fixes
- <HANDLE> on empty files
eval '...' improvements
- All compilation errors are true errors
- Implicitly closed filehandles are safer
- Behavior of list slices is more consistent
(\$) prototype and $foo{a}
goto &sub and AUTOLOAD
-bareword allowed under use integer
- Failures in
DESTROY()
- Locale bugs fixed
- Memory leaks
- Spurious subroutine stubs after failed subroutine calls
- Taint failures under
-U
- END blocks and the
-c switch
- Potential to leak DATA filehandles
- New or Changed Diagnostics
-
"%s" variable %s masks earlier declaration in same %s, "my sub" not yet
implemented, "our" variable %s redeclared, '!' allowed only after types %s,
/ cannot take a count, / must be followed by a, A or Z, / must be followed
by a*, A* or Z*, / must follow a numeric type, /%s/: Unrecognized escape
\\%c passed through, /%s/: Unrecognized escape \\%c in character class
passed through, /%s/ should probably be written as "%s", %s() called too
early to check prototype, %s argument is not a HASH or ARRAY element, %s
argument is not a HASH or ARRAY element or slice, %s argument is not a
subroutine name, %s package attribute may clash with future reserved word:
%s, (in cleanup) %s, <> should be quotes, Attempt to join self, Bad evalled
substitution pattern, Bad realloc() ignored, Bareword found in conditional,
Binary number > 0b11111111111111111111111111111111 non-portable, Bit vector
size > 32 non-portable, Buffer overflow in prime_env_iter: %s, Can't check
filesystem of script "%s", Can't declare class for non-scalar %s in "%s",
Can't declare %s in "%s", Can't ignore signal CHLD, forcing to default,
Can't modify non-lvalue subroutine call, Can't read CRTL environ, Can't
remove %s: %s, skipping file, Can't return %s from lvalue subroutine, Can't
weaken a nonreference, Character class [:%s:] unknown, Character class
syntax [%s] belongs inside character classes, Constant is not %s reference,
constant(%s): %s, CORE::%s is not a keyword, defined(@array) is deprecated,
defined(%hash) is deprecated, Did not produce a valid header, (Did you mean
"local" instead of "our"?), Document contains no data, entering effective
%s failed, false [] range "%s" in regexp, Filehandle %s opened only for
output, flock() on closed filehandle %s, Global symbol "%s" requires
explicit package name, Hexadecimal number > 0xffffffff non-portable,
Ill-formed CRTL environ value "%s", Ill-formed message in prime_env_iter:
|%s|, Illegal binary digit %s, Illegal binary digit %s ignored, Illegal
number of bits in vec, Integer overflow in %s number, Invalid %s attribute:
%s, Invalid %s attributes: %s, invalid [] range "%s" in regexp, Invalid
separator character %s in attribute list, Invalid separator character %s in
subroutine attribute list, leaving effective %s failed, Lvalue subs
returning %s not implemented yet, Method %s not permitted, Missing
%sbrace%s on \N{}, Missing command in piped open, Missing name in "my sub",
No %s specified for -%c, No package name allowed for variable %s in "our",
No space allowed after -%c, no UTC offset information; assuming local time
is UTC, Octal number > 037777777777 non-portable, panic: del_backref,
panic: kid popen errno read, panic: magic_killbackrefs, Parentheses missing
around "%s" list, Possible unintended interpolation of %s in string,
Possible Y2K bug: %s, pragma "attrs" is deprecated, use "sub NAME : ATTRS"
instead, Premature end of script headers, Repeat count in pack overflows,
Repeat count in unpack overflows, realloc() of freed memory ignored,
Reference is already weak, setpgrp can't take arguments, Strange *+?{} on
zero-length expression, switching effective %s is not implemented, This
Perl can't reset CRTL environ elements (%s), This Perl can't set CRTL
environ elements (%s=%s), Too late to run %s block, Unknown open() mode
'%s', Unknown process %x sent message to prime_env_iter: %s, Unrecognized
escape \\%c passed through, Unterminated attribute parameter in attribute
list, Unterminated attribute list, Unterminated attribute parameter in
subroutine attribute list, Unterminated subroutine attribute list, Value of
CLI symbol "%s" too long, Version number must be a constant number
- New tests
- Incompatible Changes
- Perl Source Incompatibilities
-
CHECK is a new keyword, Treatment of list slices of undef has changed,
Format of $English::PERL_VERSION is different, Literals of the form
1.2.3 parse differently, Possibly changed pseudo-random number
generator, Hashing function for hash keys has changed, undef fails on
read only values, Close-on-exec bit may be set on pipe and socket handles,
Writing "$$1" to mean "${$}1" is unsupported, delete(), each(),
values() and \(%h), vec(EXPR,OFFSET,BITS) enforces powers-of-two BITS,
Text of some diagnostic output has changed, %@ has been removed,
Parenthesized not() behaves like a list operator, Semantics of bareword
prototype (*) have changed, Semantics of bit operators may have changed
on 64-bit platforms, More builtins taint their results
- C Source Incompatibilities
-
PERL_POLLUTE, PERL_IMPLICIT_CONTEXT, PERL_POLLUTE_MALLOC
- Compatible C Source API Changes
-
PATCHLEVEL is now PERL_VERSION
- Binary Incompatibilities
- Known Problems
- Localizing a tied hash element may leak memory
- Known test failures
- EBCDIC platforms not fully supported
- UNICOS/mk CC failures during Configure run
- Arrow operator and arrays
- Experimental features
-
Threads, Unicode, 64-bit support, Lvalue subroutines, Weak references, The
pseudo-hash data type, The Compiler suite, Internal implementation of file
globbing, The DB module, The regular expression code constructs:
- Obsolete Diagnostics
-
Character class syntax [: :] is reserved for future extensions, Ill-formed
logical name |%s| in prime_env_iter, In string, @%s now must be written as
\@%s, Probable precedence problem on %s, regexp too big, Use of "$$<digit>"
to mean "${$}<digit>" is deprecated
- Reporting Bugs
- SEE ALSO
- HISTORY
- 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
- @- and @+ provide starting/ending offsets of regex matches
- Modules and Pragmata
- Modules
-
attributes, B, Benchmark, ByteLoader, constant, charnames, Data::Dumper,
DB, DB_File, Devel::DProf, Devel::Peek, Dumpvalue, DynaLoader, English,
Env, Fcntl, File::Compare, File::Find, File::Glob, File::Spec,
File::Spec::Functions, Getopt::Long, IO, JPL, lib, Math::BigInt,
Math::Complex, Math::Trig, Pod::Parser, Pod::InputObjects, Pod::Checker,
podchecker, Pod::ParseUtils, Pod::Find, Pod::Select, podselect, Pod::Usage,
pod2usage, Pod::Text and Pod::Man, SDBM_File, Sys::Syslog, Sys::Hostname,
Term::ANSIColor, Time::Local, Win32, XSLoader, DBM Filters
- Pragmata
- Utility Changes
- dprofpp
- find2perl
- h2xs
- perlcc
- perldoc
- The Perl Debugger
- Improved Documentation
-
perlapi.pod, perlboot.pod, perlcompile.pod, perldbmfilter.pod,
perldebug.pod, perldebguts.pod, perlfork.pod, perlfilter.pod, perlhack.pod,
perlintern.pod, perllexwarn.pod, perlnumber.pod, perlopentut.pod,
perlreftut.pod, perltootc.pod, perltodo.pod, perlunicode.pod
- Performance enhancements
- Simple
sort() using { $a <=> $b } and the like are optimized
- Optimized assignments to lexical variables
- Faster subroutine calls
delete(), each(), values() and hash iteration are faster
- Installation and Configuration Improvements
- -Dusethreads means something different
- New Configure flags
- Threadedness and 64-bitness now more daring
- Long Doubles
- -Dusemorebits
- -Duselargefiles
- installusrbinperl
- SOCKS support
-A flag
- Enhanced Installation Directories
- Platform specific changes
- Supported platforms
- DOS
- OS390 (OpenEdition MVS)
- VMS
- Win32
- Significant bug fixes
- <HANDLE> on empty files
eval '...' improvements
- All compilation errors are true errors
- Implicitly closed filehandles are safer
- Behavior of list slices is more consistent
(\$) prototype and $foo{a}
goto &sub and AUTOLOAD
-bareword allowed under use integer
- Failures in
DESTROY()
- Locale bugs fixed
- Memory leaks
- Spurious subroutine stubs after failed subroutine calls
- Taint failures under
-U
- END blocks and the
-c switch
- Potential to leak DATA filehandles
- New or Changed Diagnostics
-
"%s" variable %s masks earlier declaration in same %s, "my sub" not yet
implemented, "our" variable %s redeclared, '!' allowed only after types %s,
/ cannot take a count, / must be followed by a, A or Z, / must be followed
by a*, A* or Z*, / must follow a numeric type, /%s/: Unrecognized escape
\\%c passed through, /%s/: Unrecognized escape \\%c in character class
passed through, /%s/ should probably be written as "%s", %s() called too
early to check prototype, %s argument is not a HASH or ARRAY element, %s
argument is not a HASH or ARRAY element or slice, %s argument is not a
subroutine name, %s package attribute may clash with future reserved word:
%s, (in cleanup) %s, <> should be quotes, Attempt to join self, Bad evalled
substitution pattern, Bad realloc() ignored, Bareword found in conditional,
Binary number > 0b11111111111111111111111111111111 non-portable, Bit vector
size > 32 non-portable, Buffer overflow in prime_env_iter: %s, Can't check
filesystem of script "%s", Can't declare class for non-scalar %s in "%s",
Can't declare %s in "%s", Can't ignore signal CHLD, forcing to default,
Can't modify non-lvalue subroutine call, Can't read CRTL environ, Can't
remove %s: %s, skipping file, Can't return %s from lvalue subroutine, Can't
weaken a nonreference, Character class [:%s:] unknown, Character class
syntax [%s] belongs inside character classes, Constant is not %s reference,
constant(%s): %s, CORE::%s is not a keyword, defined(@array) is deprecated,
defined(%hash) is deprecated, Did not produce a valid header, (Did you mean
"local" instead of "our"?), Document contains no data, entering effective
%s failed, false [] range "%s" in regexp, Filehandle %s opened only for
output, flock() on closed filehandle %s, Global symbol "%s" requires
explicit package name, Hexadecimal number > 0xffffffff non-portable,
Ill-formed CRTL environ value "%s", Ill-formed message in prime_env_iter:
|%s|, Illegal binary digit %s, Illegal binary digit %s ignored, Illegal
number of bits in vec, Integer overflow in %s number, Invalid %s attribute:
%s, Invalid %s attributes: %s, invalid [] range "%s" in regexp, Invalid
separator character %s in attribute list, Invalid separator character %s in
subroutine attribute list, leaving effective %s failed, Lvalue subs
returning %s not implemented yet, Method %s not permitted, Missing
%sbrace%s on \N{}, Missing command in piped open, Missing name in "my sub",
No %s specified for -%c, No package name allowed for variable %s in "our",
No space allowed after -%c, no UTC offset information; assuming local time
is UTC, Octal number > 037777777777 non-portable, panic: del_backref,
panic: kid popen errno read, panic: magic_killbackrefs, Parentheses missing
around "%s" list, Possible unintended interpolation of %s in string,
Possible Y2K bug: %s, pragma "attrs" is deprecated, use "sub NAME : ATTRS"
instead, Premature end of script headers, Repeat count in pack overflows,
Repeat count in unpack overflows, realloc() of freed memory ignored,
Reference is already weak, setpgrp can't take arguments, Strange *+?{} on
zero-length expression, switching effective %s is not implemented, This
Perl can't reset CRTL environ elements (%s), This Perl can't set CRTL
environ elements (%s=%s), Too late to run %s block, Unknown open() mode
'%s', Unknown process %x sent message to prime_env_iter: %s, Unrecognized
escape \\%c passed through, Unterminated attribute parameter in attribute
list, Unterminated attribute list, Unterminated attribute parameter in
subroutine attribute list, Unterminated subroutine attribute list, Value of
CLI symbol "%s" too long, Version number must be a constant number
- New tests
- Incompatible Changes
- Perl Source Incompatibilities
-
CHECK is a new keyword, Treatment of list slices of undef has changed,
Format of $English::PERL_VERSION is different, Literals of the form
1.2.3 parse differently, Possibly changed pseudo-random number
generator, Hashing function for hash keys has changed, undef fails on
read only values, Close-on-exec bit may be set on pipe and socket handles,
Writing "$$1" to mean "${$}1" is unsupported, delete(), each(),
values() and \(%h), vec(EXPR,OFFSET,BITS) enforces powers-of-two BITS,
Text of some diagnostic output has changed, %@ has been removed,
Parenthesized not() behaves like a list operator, Semantics of bareword
prototype (*) have changed, Semantics of bit operators may have changed
on 64-bit platforms, More builtins taint their results
- C Source Incompatibilities
-
PERL_POLLUTE, PERL_IMPLICIT_CONTEXT, PERL_POLLUTE_MALLOC
- Compatible C Source API Changes
-
PATCHLEVEL is now PERL_VERSION
- Binary Incompatibilities
- Known Problems
- Thread test failures
- EBCDIC platforms not supported
- In 64-bit HP-UX the lib/io_multihomed test may hang
- NEXTSTEP 3.3 POSIX test failure
- Tru64 (aka Digital UNIX, aka DEC OSF/1) lib/sdbm test failure with
gcc
- UNICOS/mk CC failures during Configure run
- Arrow operator and arrays
- Experimental features
-
Threads, Unicode, 64-bit support, Lvalue subroutines, Weak references, The
pseudo-hash data type, The Compiler suite, Internal implementation of file
globbing, The DB module, The regular expression code constructs:
- Obsolete Diagnostics
-
Character class syntax [: :] is reserved for future extensions, Ill-formed
logical name |%s| in prime_env_iter, In string, @%s now must be written as
\@%s, Probable precedence problem on %s, regexp too big, Use of "$$<digit>"
to mean "${$}<digit>" is deprecated
- Reporting Bugs
- SEE ALSO
- HISTORY
- 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
- 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
- SYNOPSIS
- DESCR
|