-*- mode: Pod; buffer-read-only: t -*- !!!!!!! DO NOT EDIT THIS FILE !!!!!!! This file is built by pod/perlmodlib.PL extracting documentation from the Perl source files. Any changes made here will be lost! =head1 NAME perlmodlib - constructing new Perl modules and finding existing ones =head1 THE PERL MODULE LIBRARY Many modules are included in the Perl distribution. These are described below, and all end in F<.pm>. You may discover compiled library files (usually ending in F<.so>) or small pieces of modules to be autoloaded (ending in F<.al>); these were automatically generated by the installation process. You may also discover files in the library directory that end in either F<.pl> or F<.ph>. These are old libraries supplied so that old programs that use them still run. The F<.pl> files will all eventually be converted into standard modules, and the F<.ph> files made by B will probably end up as extension modules made by B. (Some F<.ph> values may already be available through the POSIX, Errno, or Fcntl modules.) The B file in the distribution may help in your conversion, but it's just a mechanical process and therefore far from bulletproof. =head2 Pragmatic Modules They work somewhat like compiler directives (pragmata) in that they tend to affect the compilation of your program, and thus will usually work well only when used within a C, or C. Most of these are lexically scoped, so an inner BLOCK may countermand them by saying: no integer; no strict 'refs'; no warnings; which lasts until the end of that BLOCK. Some pragmas are lexically scoped--typically those that affect the C<$^H> hints variable. Others affect the current package instead, like C and C, which allow you to predeclare a variables or subroutines within a particular I rather than just a block. Such declarations are effective for the entire file for which they were declared. You cannot rescind them with C or C. The following pragmas are defined (and have their own documentation). =over 12 =item attributes Get/set subroutine or variable attributes =item autodie Replace functions with ones that succeed or die with lexical scope =item autodie::exception Exceptions from autodying functions. =item autodie::exception::system Exceptions from autodying system(). =item autodie::hints Provide hints about user subroutines to autodie =item autodie::skip Skip a package when throwing autodie exceptions =item autouse Postpone load of modules until a function is used =item base Establish an ISA relationship with base classes at compile time =item bigfloat Transparent big floating point number support for Perl =item bigint Transparent big integer support for Perl =item bignum Transparent big number support for Perl =item bigrat Transparent big rational number support for Perl =item blib Use MakeMaker's uninstalled version of a package =item builtin Import built-in utility functions =item bytes Expose the individual bytes of characters =item charnames Access to Unicode character names and named character sequences; also define character names =item constant Declare constants =item deprecate Perl pragma for deprecating the inclusion of a module in core =item diagnostics Produce verbose warning diagnostics =item encoding Allows you to write your script in non-ASCII and non-UTF-8 =item encoding::warnings Warn on implicit encoding conversions =item experimental Experimental features made easy =item feature Enable new features =item fields Compile-time class fields =item filetest Control the filetest permission operators =item if C a Perl module if a condition holds =item integer Use integer arithmetic instead of floating point =item less Request less of something =item lib Manipulate @INC at compile time =item locale Use or avoid POSIX locales for built-in operations =item mro Method Resolution Order =item ok Alternative to Test::More::use_ok =item open Set default PerlIO layers for input and output =item ops Restrict unsafe operations when compiling =item overload Package for overloading Perl operations =item overloading Lexically control overloading =item parent Establish an ISA relationship with base classes at compile time =item re Alter regular expression behaviour =item sigtrap Enable simple signal handling =item sort Control sort() behaviour =item stable Experimental features made easy, once we know they're stable =item strict Restrict unsafe constructs =item subs Predeclare subroutine names =item threads Perl interpreter-based threads =item threads::shared Perl extension for sharing data structures between threads =item utf8 Enable/disable UTF-8 (or UTF-EBCDIC) in source code =item vars Predeclare global variable names =item version Perl extension for Version Objects =item vmsish Control VMS-specific language features =item warnings Control optional warnings =item warnings::register Warnings import function =back =head2 Standard Modules Standard, bundled modules are all expected to behave in a well-defined manner with respect to namespace pollution because they use the Exporter module. See their own documentation for details. It's possible that not all modules listed below are installed on your system. For example, the GDBM_File module will not be installed if you don't have the gdbm library. =over 12 =item Amiga::ARexx Perl extension for ARexx support =item Amiga::Exec Perl extension for low level amiga support =item AnyDBM_File Provide framework for multiple DBMs =item App::Cpan Easily interact with CPAN from the command line =item App::Prove Implements the C command. =item App::Prove::State State storage for the C command. =item App::Prove::State::Result Individual test suite results. =item App::Prove::State::Result::Test Individual test results. =item Archive::Tar Module for manipulations of tar archives =item Archive::Tar::File A subclass for in-memory extracted file from Archive::Tar =item Attribute::Handlers Simpler definition of attribute handlers =item AutoLoader Load subroutines only on demand =item AutoSplit Split a package for autoloading =item B The Perl Compiler Backend =item B::Concise Walk Perl syntax tree, printing concise info about ops =item B::Deparse Perl compiler backend to produce perl code =item B::Op_private OP op_private flag definitions =item B::Showlex Show lexical variables used in functions or files =item B::Terse Walk Perl syntax tree, printing terse info about ops =item B::Xref Generates cross reference reports for Perl programs =item Benchmark Benchmark running times of Perl code =item C Family-neutral IP socket supporting both IPv4 and IPv6 =item C Networking constants and support functions =item C Assert reference counts on objects =item CORE Namespace for Perl's core routines =item CPAN Query, download and build perl modules from CPAN sites =item CPAN::API::HOWTO A recipe book for programming with CPAN.pm =item CPAN::Debug Internal debugging for CPAN.pm =item CPAN::Distroprefs Read and match distroprefs =item CPAN::FirstTime Utility for CPAN::Config file Initialization =item CPAN::HandleConfig Internal configuration handling for CPAN.pm =item CPAN::Kwalify Interface between CPAN.pm and Kwalify.pm =item CPAN::Meta The distribution metadata for a CPAN dist =item CPAN::Meta::Converter Convert CPAN distribution metadata structures =item CPAN::Meta::Feature An optional feature provided by a CPAN distribution =item CPAN::Meta::History History of CPAN Meta Spec changes =item CPAN::Meta::History::Meta_1_0 Version 1.0 metadata specification for META.yml =item CPAN::Meta::History::Meta_1_1 Version 1.1 metadata specification for META.yml =item CPAN::Meta::History::Meta_1_2 Version 1.2 metadata specification for META.yml =item CPAN::Meta::History::Meta_1_3 Version 1.3 metadata specification for META.yml =item CPAN::Meta::History::Meta_1_4 Version 1.4 metadata specification for META.yml =item CPAN::Meta::Merge Merging CPAN Meta fragments =item CPAN::Meta::Prereqs A set of distribution prerequisites by phase and type =item CPAN::Meta::Requirements A set of version requirements for a CPAN dist =item CPAN::Meta::Requirements::Range A set of version requirements for a CPAN dist =item CPAN::Meta::Spec Specification for CPAN distribution metadata =item CPAN::Meta::Validator Validate CPAN distribution metadata structures =item CPAN::Meta::YAML Read and write a subset of YAML for CPAN Meta files =item CPAN::Nox Wrapper around CPAN.pm without using any XS module =item CPAN::Plugin Base class for CPAN shell extensions =item CPAN::Plugin::Specfile Proof of concept implementation of a trivial CPAN::Plugin =item CPAN::Queue Internal queue support for CPAN.pm =item CPAN::Tarzip Internal handling of tar archives for CPAN.pm =item CPAN::Version Utility functions to compare CPAN versions =item Carp Alternative warn and die for modules =item Class::Struct Declare struct-like datatypes as Perl classes =item Compress::Raw::Bzip2 Low-Level Interface to bzip2 compression library =item Compress::Raw::Zlib Low-Level Interface to zlib or zlib-ng compression library =item Compress::Zlib Interface to zlib compression library =item Config Access Perl configuration information =item Config::Extensions Hash lookup of which core extensions were built. =item Config::Perl::V Structured data retrieval of perl -V output =item Cwd Get pathname of current working directory =item DB Programmatic interface to the Perl debugging API =item DBM_Filter Filter DBM keys/values =item DBM_Filter::compress Filter for DBM_Filter =item DBM_Filter::encode Filter for DBM_Filter =item DBM_Filter::int32 Filter for DBM_Filter =item DBM_Filter::null Filter for DBM_Filter =item DBM_Filter::utf8 Filter for DBM_Filter =item DB_File Perl5 access to Berkeley DB version 1.x =item Data::Dumper Stringified perl data structures, suitable for both printing and C =item Devel::PPPort Perl/Pollution/Portability =item Devel::Peek A data debugging tool for the XS programmer =item Devel::SelfStubber Generate stubs for a SelfLoading module =item Digest Modules that calculate message digests =item Digest::MD5 Perl interface to the MD5 Algorithm =item Digest::SHA Perl extension for SHA-1/224/256/384/512 =item Digest::base Digest base class =item Digest::file Calculate digests of files =item DirHandle (obsolete) supply object methods for directory handles =item Dumpvalue Provides screen dump of Perl data. =item DynaLoader Dynamically load C libraries into Perl code =item Encode Character encodings in Perl =item Encode::Alias Alias definitions to encodings =item Encode::Byte Single Byte Encodings =item Encode::CJKConstants Internally used by Encode::??::ISO_2022_* =item Encode::CN China-based Chinese Encodings =item Encode::CN::HZ Internally used by Encode::CN =item Encode::Config Internally used by Encode =item Encode::EBCDIC EBCDIC Encodings =item Encode::Encoder Object Oriented Encoder =item Encode::Encoding Encode Implementation Base Class =item Encode::GSM0338 ETSI GSM 03.38 Encoding =item Encode::Guess Guesses encoding from data =item Encode::JP Japanese Encodings =item Encode::JP::H2Z Internally used by Encode::JP::2022_JP* =item Encode::JP::JIS7 Internally used by Encode::JP =item Encode::KR Korean Encodings =item Encode::KR::2022_KR Internally used by Encode::KR =item Encode::MIME::Header MIME encoding for an unstructured email header =item Encode::MIME::Name Internally used by Encode =item Encode::PerlIO A detailed document on Encode and PerlIO =item Encode::Supported Encodings supported by Encode =item Encode::Symbol Symbol Encodings =item Encode::TW Taiwan-based Chinese Encodings =item Encode::Unicode Various Unicode Transformation Formats =item Encode::Unicode::UTF7 UTF-7 encoding =item English Use nice English (or awk) names for ugly punctuation variables =item Env Perl module that imports environment variables as scalars or arrays =item Errno System errno constants =item Exporter Implements default import method for modules =item Exporter::Heavy Exporter guts =item ExtUtils::CBuilder Compile and link C code for Perl modules =item ExtUtils::CBuilder::Platform::Windows Builder class for Windows platforms =item ExtUtils::Command Utilities to replace common UNIX commands in Makefiles etc. =item ExtUtils::Command::MM Commands for the MM's to use in Makefiles =item ExtUtils::Constant Generate XS code to import C header constants =item ExtUtils::Constant::Base Base class for ExtUtils::Constant objects =item ExtUtils::Constant::Utils Helper functions for ExtUtils::Constant =item ExtUtils::Constant::XS Generate C code for XS modules' constants. =item ExtUtils::Embed Utilities for embedding Perl in C/C++ applications =item ExtUtils::Install Install files from here to there =item ExtUtils::Installed Inventory management of installed modules =item ExtUtils::Liblist Determine libraries to use and how to use them =item ExtUtils::MM OS adjusted ExtUtils::MakeMaker subclass =item ExtUtils::MM_AIX AIX specific subclass of ExtUtils::MM_Unix =item ExtUtils::MM_Any Platform-agnostic MM methods =item ExtUtils::MM_BeOS Methods to override UN*X behaviour in ExtUtils::MakeMaker =item ExtUtils::MM_Cygwin Methods to override UN*X behaviour in ExtUtils::MakeMaker =item ExtUtils::MM_DOS DOS specific subclass of ExtUtils::MM_Unix =item ExtUtils::MM_Darwin Special behaviors for OS X =item ExtUtils::MM_MacOS Once produced Makefiles for MacOS Classic =item ExtUtils::MM_NW5 Methods to override UN*X behaviour in ExtUtils::MakeMaker =item ExtUtils::MM_OS2 Methods to override UN*X behaviour in ExtUtils::MakeMaker =item ExtUtils::MM_OS390 OS390 specific subclass of ExtUtils::MM_Unix =item ExtUtils::MM_QNX QNX specific subclass of ExtUtils::MM_Unix =item ExtUtils::MM_UWIN U/WIN specific subclass of ExtUtils::MM_Unix =item ExtUtils::MM_Unix Methods used by ExtUtils::MakeMaker =item ExtUtils::MM_VMS Methods to override UN*X behaviour in ExtUtils::MakeMaker =item ExtUtils::MM_VOS VOS specific subclass of ExtUtils::MM_Unix =item ExtUtils::MM_Win32 Methods to override UN*X behaviour in ExtUtils::MakeMaker =item ExtUtils::MM_Win95 Method to customize MakeMaker for Win9X =item ExtUtils::MY ExtUtils::MakeMaker subclass for customization =item ExtUtils::MakeMaker Create a module Makefile =item ExtUtils::MakeMaker::Config Wrapper around Config.pm =item ExtUtils::MakeMaker::FAQ Frequently Asked Questions About MakeMaker =item ExtUtils::MakeMaker::Locale Bundled Encode::Locale =item ExtUtils::MakeMaker::Tutorial Writing a module with MakeMaker =item ExtUtils::Manifest Utilities to write and check a MANIFEST file =item ExtUtils::Miniperl Write the C code for miniperlmain.c and perlmain.c =item ExtUtils::Mkbootstrap Make a bootstrap file for use by DynaLoader =item ExtUtils::Mksymlists Write linker options files for dynamic extension =item ExtUtils::PL2Bat Batch file creation to run perl scripts on Windows =item ExtUtils::Packlist Manage .packlist files =item ExtUtils::ParseXS Converts Perl XS code into C code =item ExtUtils::ParseXS::Constants Initialization values for some globals =item ExtUtils::ParseXS::Eval Clean package to evaluate code in =item ExtUtils::ParseXS::Utilities Subroutines used with ExtUtils::ParseXS =item ExtUtils::Typemaps Read/Write/Modify Perl/XS typemap files =item ExtUtils::Typemaps::Cmd Quick commands for handling typemaps =item ExtUtils::Typemaps::InputMap Entry in the INPUT section of a typemap =item ExtUtils::Typemaps::OutputMap Entry in the OUTPUT section of a typemap =item ExtUtils::Typemaps::Type Entry in the TYPEMAP section of a typemap =item ExtUtils::XSSymSet Keep sets of symbol names palatable to the VMS linker =item ExtUtils::testlib Add blib/* directories to @INC =item Fatal Replace functions with equivalents which succeed or die =item Fcntl Load the C Fcntl.h defines =item File::Basename Parse file paths into directory, filename and suffix. =item File::Compare Compare files or filehandles =item File::Copy Copy files or filehandles =item File::DosGlob DOS like globbing and then some =item File::Fetch A generic file fetching mechanism =item File::Find Traverse a directory tree. =item File::Glob Perl extension for BSD glob routine =item File::GlobMapper Extend File Glob to Allow Input and Output Files =item File::Path Create or remove directory trees =item File::Spec Portably perform operations on file names =item File::Spec::AmigaOS File::Spec for AmigaOS =item File::Spec::Cygwin Methods for Cygwin file specs =item File::Spec::Epoc Methods for Epoc file specs =item File::Spec::Functions Portably perform operations on file names =item File::Spec::Mac File::Spec for Mac OS (Classic) =item File::Spec::OS2 Methods for OS/2 file specs =item File::Spec::Unix File::Spec for Unix, base for other File::Spec modules =item File::Spec::VMS Methods for VMS file specs =item File::Spec::Win32 Methods for Win32 file specs =item File::Temp Return name and handle of a temporary file safely =item File::stat By-name interface to Perl's built-in stat() functions =item FileCache Keep more files open than the system permits =item FileHandle Supply object methods for filehandles =item Filter::Simple Simplified source filtering =item Filter::Util::Call Perl Source Filter Utility Module =item FindBin Locate directory of original Perl script =item GDBM_File Perl5 access to the gdbm library. =item Getopt::Long Extended processing of command line options =item Getopt::Long::Parser Getopt::Long object oriented interface =item Getopt::Std Process single-character switches with switch clustering =item HTTP::Tiny A small, simple, correct HTTP/1.1 client =item Hash::Util A selection of general-utility hash subroutines =item Hash::Util::FieldHash Support for Inside-Out Classes =item I18N::Collate Compare 8-bit scalar data according to the current locale =item I18N::LangTags Functions for dealing with RFC3066-style language tags =item I18N::LangTags::Detect Detect the user's language preferences =item I18N::LangTags::List Tags and names for human languages =item I18N::Langinfo Query locale information =item IO Load various IO modules =item IO::Compress::Base Base Class for IO::Compress modules =item IO::Compress::Bzip2 Write bzip2 files/buffers =item IO::Compress::Deflate Write RFC 1950 files/buffers =item IO::Compress::FAQ Frequently Asked Questions about IO::Compress =item IO::Compress::Gzip Write RFC 1952 files/buffers =item IO::Compress::RawDeflate Write RFC 1951 files/buffers =item IO::Compress::Zip Write zip files/buffers =item IO::Dir Supply object methods for directory handles =item IO::File Supply object methods for filehandles =item IO::Handle Supply object methods for I/O handles =item IO::Pipe Supply object methods for pipes =item IO::Poll Object interface to system poll call =item IO::Seekable Supply seek based methods for I/O objects =item IO::Select OO interface to the C