summaryrefslogtreecommitdiffstats
path: root/upstream/debian-unstable/man1/perlmodlib.1
diff options
context:
space:
mode:
Diffstat (limited to 'upstream/debian-unstable/man1/perlmodlib.1')
-rw-r--r--upstream/debian-unstable/man1/perlmodlib.12365
1 files changed, 2365 insertions, 0 deletions
diff --git a/upstream/debian-unstable/man1/perlmodlib.1 b/upstream/debian-unstable/man1/perlmodlib.1
new file mode 100644
index 00000000..b4d0f8c2
--- /dev/null
+++ b/upstream/debian-unstable/man1/perlmodlib.1
@@ -0,0 +1,2365 @@
+.\" -*- mode: troff; coding: utf-8 -*-
+.\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>.
+.ie n \{\
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds C`
+. ds C'
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is >0, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.\"
+.\" Avoid warning from groff about undefined register 'F'.
+.de IX
+..
+.nr rF 0
+.if \n(.g .if rF .nr rF 1
+.if (\n(rF:(\n(.g==0)) \{\
+. if \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. if !\nF==2 \{\
+. nr % 0
+. nr F 2
+. \}
+. \}
+.\}
+.rr rF
+.\" ========================================================================
+.\"
+.IX Title "PERLMODLIB 1"
+.TH PERLMODLIB 1 2024-01-12 "perl v5.38.2" "Perl Programmers Reference Guide"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH NAME
+perlmodlib \- constructing new Perl modules and finding existing ones
+.SH "THE PERL MODULE LIBRARY"
+.IX Header "THE PERL MODULE LIBRARY"
+Many modules are included in the Perl distribution. These are described
+below, and all end in \fI.pm\fR. You may discover compiled library
+files (usually ending in \fI.so\fR) or small pieces of modules to be
+autoloaded (ending in \fI.al\fR); these were automatically generated
+by the installation process. You may also discover files in the
+library directory that end in either \fI.pl\fR or \fI.ph\fR. These are
+old libraries supplied so that old programs that use them still
+run. The \fI.pl\fR files will all eventually be converted into standard
+modules, and the \fI.ph\fR files made by \fBh2ph\fR will probably end up
+as extension modules made by \fBh2xs\fR. (Some \fI.ph\fR values may
+already be available through the POSIX, Errno, or Fcntl modules.)
+The \fBpl2pm\fR file in the distribution may help in your conversion,
+but it's just a mechanical process and therefore far from bulletproof.
+.SS "Pragmatic Modules"
+.IX Subsection "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 \f(CW\*(C`use\*(C'\fR, or \f(CW\*(C`no\*(C'\fR. Most of these
+are lexically scoped, so an inner BLOCK may countermand them
+by saying:
+.PP
+.Vb 3
+\& no integer;
+\& no strict \*(Aqrefs\*(Aq;
+\& no warnings;
+.Ve
+.PP
+which lasts until the end of that BLOCK.
+.PP
+Some pragmas are lexically scoped\-\-typically those that affect the
+\&\f(CW$^H\fR hints variable. Others affect the current package instead,
+like \f(CW\*(C`use vars\*(C'\fR and \f(CW\*(C`use subs\*(C'\fR, which allow you to predeclare a
+variables or subroutines within a particular \fIfile\fR rather than
+just a block. Such declarations are effective for the entire file
+for which they were declared. You cannot rescind them with \f(CW\*(C`no
+vars\*(C'\fR or \f(CW\*(C`no subs\*(C'\fR.
+.PP
+The following pragmas are defined (and have their own documentation).
+.IP attributes 12
+.IX Item "attributes"
+Get/set subroutine or variable attributes
+.IP autodie 12
+.IX Item "autodie"
+Replace functions with ones that succeed or die with lexical scope
+.IP autodie::exception 12
+.IX Item "autodie::exception"
+Exceptions from autodying functions.
+.IP autodie::exception::system 12
+.IX Item "autodie::exception::system"
+Exceptions from autodying \fBsystem()\fR.
+.IP autodie::hints 12
+.IX Item "autodie::hints"
+Provide hints about user subroutines to autodie
+.IP autodie::skip 12
+.IX Item "autodie::skip"
+Skip a package when throwing autodie exceptions
+.IP autouse 12
+.IX Item "autouse"
+Postpone load of modules until a function is used
+.IP base 12
+.IX Item "base"
+Establish an ISA relationship with base classes at compile time
+.IP bigfloat 12
+.IX Item "bigfloat"
+Transparent big floating point number support for Perl
+.IP bigint 12
+.IX Item "bigint"
+Transparent big integer support for Perl
+.IP bignum 12
+.IX Item "bignum"
+Transparent big number support for Perl
+.IP bigrat 12
+.IX Item "bigrat"
+Transparent big rational number support for Perl
+.IP blib 12
+.IX Item "blib"
+Use MakeMaker's uninstalled version of a package
+.IP builtin 12
+.IX Item "builtin"
+Import built-in utility functions
+.IP bytes 12
+.IX Item "bytes"
+Expose the individual bytes of characters
+.IP charnames 12
+.IX Item "charnames"
+Access to Unicode character names and named character sequences; also define character names
+.IP constant 12
+.IX Item "constant"
+Declare constants
+.IP deprecate 12
+.IX Item "deprecate"
+Perl pragma for deprecating the inclusion of a module in core
+.IP diagnostics 12
+.IX Item "diagnostics"
+Produce verbose warning diagnostics
+.IP encoding 12
+.IX Item "encoding"
+Allows you to write your script in non-ASCII and non\-UTF\-8
+.IP encoding::warnings 12
+.IX Item "encoding::warnings"
+Warn on implicit encoding conversions
+.IP experimental 12
+.IX Item "experimental"
+Experimental features made easy
+.IP feature 12
+.IX Item "feature"
+Enable new features
+.IP fields 12
+.IX Item "fields"
+Compile-time class fields
+.IP filetest 12
+.IX Item "filetest"
+Control the filetest permission operators
+.IP if 12
+.IX Item "if"
+\&\f(CW\*(C`use\*(C'\fR a Perl module if a condition holds
+.IP integer 12
+.IX Item "integer"
+Use integer arithmetic instead of floating point
+.IP less 12
+.IX Item "less"
+Request less of something
+.IP lib 12
+.IX Item "lib"
+Manipulate \f(CW@INC\fR at compile time
+.IP locale 12
+.IX Item "locale"
+Use or avoid POSIX locales for built-in operations
+.IP mro 12
+.IX Item "mro"
+Method Resolution Order
+.IP ok 12
+.IX Item "ok"
+Alternative to Test::More::use_ok
+.IP open 12
+.IX Item "open"
+Set default PerlIO layers for input and output
+.IP ops 12
+.IX Item "ops"
+Restrict unsafe operations when compiling
+.IP overload 12
+.IX Item "overload"
+Package for overloading Perl operations
+.IP overloading 12
+.IX Item "overloading"
+Lexically control overloading
+.IP parent 12
+.IX Item "parent"
+Establish an ISA relationship with base classes at compile time
+.IP re 12
+.IX Item "re"
+Alter regular expression behaviour
+.IP sigtrap 12
+.IX Item "sigtrap"
+Enable simple signal handling
+.IP sort 12
+.IX Item "sort"
+Control \fBsort()\fR behaviour
+.IP stable 12
+.IX Item "stable"
+Experimental features made easy, once we know they're stable
+.IP strict 12
+.IX Item "strict"
+Restrict unsafe constructs
+.IP subs 12
+.IX Item "subs"
+Predeclare subroutine names
+.IP threads 12
+.IX Item "threads"
+Perl interpreter-based threads
+.IP threads::shared 12
+.IX Item "threads::shared"
+Perl extension for sharing data structures between threads
+.IP utf8 12
+.IX Item "utf8"
+Enable/disable UTF\-8 (or UTF-EBCDIC) in source code
+.IP vars 12
+.IX Item "vars"
+Predeclare global variable names
+.IP version 12
+.IX Item "version"
+Perl extension for Version Objects
+.IP vmsish 12
+.IX Item "vmsish"
+Control VMS-specific language features
+.IP warnings 12
+.IX Item "warnings"
+Control optional warnings
+.IP warnings::register 12
+.IX Item "warnings::register"
+Warnings import function
+.SS "Standard Modules"
+.IX Subsection "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.
+.PP
+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.
+.IP Amiga::ARexx 12
+.IX Item "Amiga::ARexx"
+Perl extension for ARexx support
+.IP Amiga::Exec 12
+.IX Item "Amiga::Exec"
+Perl extension for low level amiga support
+.IP AnyDBM_File 12
+.IX Item "AnyDBM_File"
+Provide framework for multiple DBMs
+.IP App::Cpan 12
+.IX Item "App::Cpan"
+Easily interact with CPAN from the command line
+.IP App::Prove 12
+.IX Item "App::Prove"
+Implements the \f(CW\*(C`prove\*(C'\fR command.
+.IP App::Prove::State 12
+.IX Item "App::Prove::State"
+State storage for the \f(CW\*(C`prove\*(C'\fR command.
+.IP App::Prove::State::Result 12
+.IX Item "App::Prove::State::Result"
+Individual test suite results.
+.IP App::Prove::State::Result::Test 12
+.IX Item "App::Prove::State::Result::Test"
+Individual test results.
+.IP Archive::Tar 12
+.IX Item "Archive::Tar"
+Module for manipulations of tar archives
+.IP Archive::Tar::File 12
+.IX Item "Archive::Tar::File"
+A subclass for in-memory extracted file from Archive::Tar
+.IP Attribute::Handlers 12
+.IX Item "Attribute::Handlers"
+Simpler definition of attribute handlers
+.IP AutoLoader 12
+.IX Item "AutoLoader"
+Load subroutines only on demand
+.IP AutoSplit 12
+.IX Item "AutoSplit"
+Split a package for autoloading
+.IP B 12
+.IX Item "B"
+The Perl Compiler Backend
+.IP B::Concise 12
+.IX Item "B::Concise"
+Walk Perl syntax tree, printing concise info about ops
+.IP B::Deparse 12
+.IX Item "B::Deparse"
+Perl compiler backend to produce perl code
+.IP B::Op_private 12
+.IX Item "B::Op_private"
+OP op_private flag definitions
+.IP B::Showlex 12
+.IX Item "B::Showlex"
+Show lexical variables used in functions or files
+.IP B::Terse 12
+.IX Item "B::Terse"
+Walk Perl syntax tree, printing terse info about ops
+.IP B::Xref 12
+.IX Item "B::Xref"
+Generates cross reference reports for Perl programs
+.IP Benchmark 12
+.IX Item "Benchmark"
+Benchmark running times of Perl code
+.ie n .IP """IO::Socket::IP""" 12
+.el .IP \f(CWIO::Socket::IP\fR 12
+.IX Item "IO::Socket::IP"
+Family-neutral IP socket supporting both IPv4 and IPv6
+.ie n .IP """Socket""" 12
+.el .IP \f(CWSocket\fR 12
+.IX Item "Socket"
+Networking constants and support functions
+.IP CORE 12
+.IX Item "CORE"
+Namespace for Perl's core routines
+.IP CPAN 12
+.IX Item "CPAN"
+Query, download and build perl modules from CPAN sites
+.IP CPAN::API::HOWTO 12
+.IX Item "CPAN::API::HOWTO"
+A recipe book for programming with CPAN.pm
+.IP CPAN::Debug 12
+.IX Item "CPAN::Debug"
+Internal debugging for CPAN.pm
+.IP CPAN::Distroprefs 12
+.IX Item "CPAN::Distroprefs"
+Read and match distroprefs
+.IP CPAN::FirstTime 12
+.IX Item "CPAN::FirstTime"
+Utility for CPAN::Config file Initialization
+.IP CPAN::HandleConfig 12
+.IX Item "CPAN::HandleConfig"
+Internal configuration handling for CPAN.pm
+.IP CPAN::Kwalify 12
+.IX Item "CPAN::Kwalify"
+Interface between CPAN.pm and Kwalify.pm
+.IP CPAN::Meta 12
+.IX Item "CPAN::Meta"
+The distribution metadata for a CPAN dist
+.IP CPAN::Meta::Converter 12
+.IX Item "CPAN::Meta::Converter"
+Convert CPAN distribution metadata structures
+.IP CPAN::Meta::Feature 12
+.IX Item "CPAN::Meta::Feature"
+An optional feature provided by a CPAN distribution
+.IP CPAN::Meta::History 12
+.IX Item "CPAN::Meta::History"
+History of CPAN Meta Spec changes
+.IP CPAN::Meta::History::Meta_1_0 12
+.IX Item "CPAN::Meta::History::Meta_1_0"
+Version 1.0 metadata specification for META.yml
+.IP CPAN::Meta::History::Meta_1_1 12
+.IX Item "CPAN::Meta::History::Meta_1_1"
+Version 1.1 metadata specification for META.yml
+.IP CPAN::Meta::History::Meta_1_2 12
+.IX Item "CPAN::Meta::History::Meta_1_2"
+Version 1.2 metadata specification for META.yml
+.IP CPAN::Meta::History::Meta_1_3 12
+.IX Item "CPAN::Meta::History::Meta_1_3"
+Version 1.3 metadata specification for META.yml
+.IP CPAN::Meta::History::Meta_1_4 12
+.IX Item "CPAN::Meta::History::Meta_1_4"
+Version 1.4 metadata specification for META.yml
+.IP CPAN::Meta::Merge 12
+.IX Item "CPAN::Meta::Merge"
+Merging CPAN Meta fragments
+.IP CPAN::Meta::Prereqs 12
+.IX Item "CPAN::Meta::Prereqs"
+A set of distribution prerequisites by phase and type
+.IP CPAN::Meta::Requirements 12
+.IX Item "CPAN::Meta::Requirements"
+A set of version requirements for a CPAN dist
+.IP CPAN::Meta::Spec 12
+.IX Item "CPAN::Meta::Spec"
+Specification for CPAN distribution metadata
+.IP CPAN::Meta::Validator 12
+.IX Item "CPAN::Meta::Validator"
+Validate CPAN distribution metadata structures
+.IP CPAN::Meta::YAML 12
+.IX Item "CPAN::Meta::YAML"
+Read and write a subset of YAML for CPAN Meta files
+.IP CPAN::Nox 12
+.IX Item "CPAN::Nox"
+Wrapper around CPAN.pm without using any XS module
+.IP CPAN::Plugin 12
+.IX Item "CPAN::Plugin"
+Base class for CPAN shell extensions
+.IP CPAN::Plugin::Specfile 12
+.IX Item "CPAN::Plugin::Specfile"
+Proof of concept implementation of a trivial CPAN::Plugin
+.IP CPAN::Queue 12
+.IX Item "CPAN::Queue"
+Internal queue support for CPAN.pm
+.IP CPAN::Tarzip 12
+.IX Item "CPAN::Tarzip"
+Internal handling of tar archives for CPAN.pm
+.IP CPAN::Version 12
+.IX Item "CPAN::Version"
+Utility functions to compare CPAN versions
+.IP Carp 12
+.IX Item "Carp"
+Alternative warn and die for modules
+.IP Class::Struct 12
+.IX Item "Class::Struct"
+Declare struct-like datatypes as Perl classes
+.IP Compress::Raw::Bzip2 12
+.IX Item "Compress::Raw::Bzip2"
+Low-Level Interface to bzip2 compression library
+.IP Compress::Raw::Zlib 12
+.IX Item "Compress::Raw::Zlib"
+Low-Level Interface to zlib or zlib-ng compression library
+.IP Compress::Zlib 12
+.IX Item "Compress::Zlib"
+Interface to zlib compression library
+.IP Config 12
+.IX Item "Config"
+Access Perl configuration information
+.IP Config::Extensions 12
+.IX Item "Config::Extensions"
+Hash lookup of which core extensions were built.
+.IP Config::Perl::V 12
+.IX Item "Config::Perl::V"
+Structured data retrieval of perl \-V output
+.IP Cwd 12
+.IX Item "Cwd"
+Get pathname of current working directory
+.IP DB 12
+.IX Item "DB"
+Programmatic interface to the Perl debugging API
+.IP DBM_Filter 12
+.IX Item "DBM_Filter"
+Filter DBM keys/values
+.IP DBM_Filter::compress 12
+.IX Item "DBM_Filter::compress"
+Filter for DBM_Filter
+.IP DBM_Filter::encode 12
+.IX Item "DBM_Filter::encode"
+Filter for DBM_Filter
+.IP DBM_Filter::int32 12
+.IX Item "DBM_Filter::int32"
+Filter for DBM_Filter
+.IP DBM_Filter::null 12
+.IX Item "DBM_Filter::null"
+Filter for DBM_Filter
+.IP DBM_Filter::utf8 12
+.IX Item "DBM_Filter::utf8"
+Filter for DBM_Filter
+.IP DB_File 12
+.IX Item "DB_File"
+Perl5 access to Berkeley DB version 1.x
+.IP Data::Dumper 12
+.IX Item "Data::Dumper"
+Stringified perl data structures, suitable for both printing and \f(CW\*(C`eval\*(C'\fR
+.IP Devel::PPPort 12
+.IX Item "Devel::PPPort"
+Perl/Pollution/Portability
+.IP Devel::Peek 12
+.IX Item "Devel::Peek"
+A data debugging tool for the XS programmer
+.IP Devel::SelfStubber 12
+.IX Item "Devel::SelfStubber"
+Generate stubs for a SelfLoading module
+.IP Digest 12
+.IX Item "Digest"
+Modules that calculate message digests
+.IP Digest::MD5 12
+.IX Item "Digest::MD5"
+Perl interface to the MD5 Algorithm
+.IP Digest::SHA 12
+.IX Item "Digest::SHA"
+Perl extension for SHA\-1/224/256/384/512
+.IP Digest::base 12
+.IX Item "Digest::base"
+Digest base class
+.IP Digest::file 12
+.IX Item "Digest::file"
+Calculate digests of files
+.IP DirHandle 12
+.IX Item "DirHandle"
+(obsolete) supply object methods for directory handles
+.IP Dumpvalue 12
+.IX Item "Dumpvalue"
+Provides screen dump of Perl data.
+.IP DynaLoader 12
+.IX Item "DynaLoader"
+Dynamically load C libraries into Perl code
+.IP Encode 12
+.IX Item "Encode"
+Character encodings in Perl
+.IP Encode::Alias 12
+.IX Item "Encode::Alias"
+Alias definitions to encodings
+.IP Encode::Byte 12
+.IX Item "Encode::Byte"
+Single Byte Encodings
+.IP Encode::CJKConstants 12
+.IX Item "Encode::CJKConstants"
+Internally used by Encode::??::ISO_2022_*
+.IP Encode::CN 12
+.IX Item "Encode::CN"
+China-based Chinese Encodings
+.IP Encode::CN::HZ 12
+.IX Item "Encode::CN::HZ"
+Internally used by Encode::CN
+.IP Encode::Config 12
+.IX Item "Encode::Config"
+Internally used by Encode
+.IP Encode::EBCDIC 12
+.IX Item "Encode::EBCDIC"
+EBCDIC Encodings
+.IP Encode::Encoder 12
+.IX Item "Encode::Encoder"
+Object Oriented Encoder
+.IP Encode::Encoding 12
+.IX Item "Encode::Encoding"
+Encode Implementation Base Class
+.IP Encode::GSM0338 12
+.IX Item "Encode::GSM0338"
+ETSI GSM 03.38 Encoding
+.IP Encode::Guess 12
+.IX Item "Encode::Guess"
+Guesses encoding from data
+.IP Encode::JP 12
+.IX Item "Encode::JP"
+Japanese Encodings
+.IP Encode::JP::H2Z 12
+.IX Item "Encode::JP::H2Z"
+Internally used by Encode::JP::2022_JP*
+.IP Encode::JP::JIS7 12
+.IX Item "Encode::JP::JIS7"
+Internally used by Encode::JP
+.IP Encode::KR 12
+.IX Item "Encode::KR"
+Korean Encodings
+.IP Encode::KR::2022_KR 12
+.IX Item "Encode::KR::2022_KR"
+Internally used by Encode::KR
+.IP Encode::MIME::Header 12
+.IX Item "Encode::MIME::Header"
+MIME encoding for an unstructured email header
+.IP Encode::MIME::Name 12
+.IX Item "Encode::MIME::Name"
+Internally used by Encode
+.IP Encode::PerlIO 12
+.IX Item "Encode::PerlIO"
+A detailed document on Encode and PerlIO
+.IP Encode::Supported 12
+.IX Item "Encode::Supported"
+Encodings supported by Encode
+.IP Encode::Symbol 12
+.IX Item "Encode::Symbol"
+Symbol Encodings
+.IP Encode::TW 12
+.IX Item "Encode::TW"
+Taiwan-based Chinese Encodings
+.IP Encode::Unicode 12
+.IX Item "Encode::Unicode"
+Various Unicode Transformation Formats
+.IP Encode::Unicode::UTF7 12
+.IX Item "Encode::Unicode::UTF7"
+UTF\-7 encoding
+.IP English 12
+.IX Item "English"
+Use nice English (or awk) names for ugly punctuation variables
+.IP Env 12
+.IX Item "Env"
+Perl module that imports environment variables as scalars or arrays
+.IP Errno 12
+.IX Item "Errno"
+System errno constants
+.IP Exporter 12
+.IX Item "Exporter"
+Implements default import method for modules
+.IP Exporter::Heavy 12
+.IX Item "Exporter::Heavy"
+Exporter guts
+.IP ExtUtils::CBuilder 12
+.IX Item "ExtUtils::CBuilder"
+Compile and link C code for Perl modules
+.IP ExtUtils::CBuilder::Platform::Windows 12
+.IX Item "ExtUtils::CBuilder::Platform::Windows"
+Builder class for Windows platforms
+.IP ExtUtils::Command 12
+.IX Item "ExtUtils::Command"
+Utilities to replace common UNIX commands in Makefiles etc.
+.IP ExtUtils::Command::MM 12
+.IX Item "ExtUtils::Command::MM"
+Commands for the MM's to use in Makefiles
+.IP ExtUtils::Constant 12
+.IX Item "ExtUtils::Constant"
+Generate XS code to import C header constants
+.IP ExtUtils::Constant::Base 12
+.IX Item "ExtUtils::Constant::Base"
+Base class for ExtUtils::Constant objects
+.IP ExtUtils::Constant::Utils 12
+.IX Item "ExtUtils::Constant::Utils"
+Helper functions for ExtUtils::Constant
+.IP ExtUtils::Constant::XS 12
+.IX Item "ExtUtils::Constant::XS"
+Generate C code for XS modules' constants.
+.IP ExtUtils::Embed 12
+.IX Item "ExtUtils::Embed"
+Utilities for embedding Perl in C/C++ applications
+.IP ExtUtils::Install 12
+.IX Item "ExtUtils::Install"
+Install files from here to there
+.IP ExtUtils::Installed 12
+.IX Item "ExtUtils::Installed"
+Inventory management of installed modules
+.IP ExtUtils::Liblist 12
+.IX Item "ExtUtils::Liblist"
+Determine libraries to use and how to use them
+.IP ExtUtils::MM 12
+.IX Item "ExtUtils::MM"
+OS adjusted ExtUtils::MakeMaker subclass
+.IP ExtUtils::MM_AIX 12
+.IX Item "ExtUtils::MM_AIX"
+AIX specific subclass of ExtUtils::MM_Unix
+.IP ExtUtils::MM_Any 12
+.IX Item "ExtUtils::MM_Any"
+Platform-agnostic MM methods
+.IP ExtUtils::MM_BeOS 12
+.IX Item "ExtUtils::MM_BeOS"
+Methods to override UN*X behaviour in ExtUtils::MakeMaker
+.IP ExtUtils::MM_Cygwin 12
+.IX Item "ExtUtils::MM_Cygwin"
+Methods to override UN*X behaviour in ExtUtils::MakeMaker
+.IP ExtUtils::MM_DOS 12
+.IX Item "ExtUtils::MM_DOS"
+DOS specific subclass of ExtUtils::MM_Unix
+.IP ExtUtils::MM_Darwin 12
+.IX Item "ExtUtils::MM_Darwin"
+Special behaviors for OS X
+.IP ExtUtils::MM_MacOS 12
+.IX Item "ExtUtils::MM_MacOS"
+Once produced Makefiles for MacOS Classic
+.IP ExtUtils::MM_NW5 12
+.IX Item "ExtUtils::MM_NW5"
+Methods to override UN*X behaviour in ExtUtils::MakeMaker
+.IP ExtUtils::MM_OS2 12
+.IX Item "ExtUtils::MM_OS2"
+Methods to override UN*X behaviour in ExtUtils::MakeMaker
+.IP ExtUtils::MM_OS390 12
+.IX Item "ExtUtils::MM_OS390"
+OS390 specific subclass of ExtUtils::MM_Unix
+.IP ExtUtils::MM_QNX 12
+.IX Item "ExtUtils::MM_QNX"
+QNX specific subclass of ExtUtils::MM_Unix
+.IP ExtUtils::MM_UWIN 12
+.IX Item "ExtUtils::MM_UWIN"
+U/WIN specific subclass of ExtUtils::MM_Unix
+.IP ExtUtils::MM_Unix 12
+.IX Item "ExtUtils::MM_Unix"
+Methods used by ExtUtils::MakeMaker
+.IP ExtUtils::MM_VMS 12
+.IX Item "ExtUtils::MM_VMS"
+Methods to override UN*X behaviour in ExtUtils::MakeMaker
+.IP ExtUtils::MM_VOS 12
+.IX Item "ExtUtils::MM_VOS"
+VOS specific subclass of ExtUtils::MM_Unix
+.IP ExtUtils::MM_Win32 12
+.IX Item "ExtUtils::MM_Win32"
+Methods to override UN*X behaviour in ExtUtils::MakeMaker
+.IP ExtUtils::MM_Win95 12
+.IX Item "ExtUtils::MM_Win95"
+Method to customize MakeMaker for Win9X
+.IP ExtUtils::MY 12
+.IX Item "ExtUtils::MY"
+ExtUtils::MakeMaker subclass for customization
+.IP ExtUtils::MakeMaker 12
+.IX Item "ExtUtils::MakeMaker"
+Create a module Makefile
+.IP ExtUtils::MakeMaker::Config 12
+.IX Item "ExtUtils::MakeMaker::Config"
+Wrapper around Config.pm
+.IP ExtUtils::MakeMaker::FAQ 12
+.IX Item "ExtUtils::MakeMaker::FAQ"
+Frequently Asked Questions About MakeMaker
+.IP ExtUtils::MakeMaker::Locale 12
+.IX Item "ExtUtils::MakeMaker::Locale"
+Bundled Encode::Locale
+.IP ExtUtils::MakeMaker::Tutorial 12
+.IX Item "ExtUtils::MakeMaker::Tutorial"
+Writing a module with MakeMaker
+.IP ExtUtils::Manifest 12
+.IX Item "ExtUtils::Manifest"
+Utilities to write and check a MANIFEST file
+.IP ExtUtils::Miniperl 12
+.IX Item "ExtUtils::Miniperl"
+Write the C code for miniperlmain.c and perlmain.c
+.IP ExtUtils::Mkbootstrap 12
+.IX Item "ExtUtils::Mkbootstrap"
+Make a bootstrap file for use by DynaLoader
+.IP ExtUtils::Mksymlists 12
+.IX Item "ExtUtils::Mksymlists"
+Write linker options files for dynamic extension
+.IP ExtUtils::PL2Bat 12
+.IX Item "ExtUtils::PL2Bat"
+Batch file creation to run perl scripts on Windows
+.IP ExtUtils::Packlist 12
+.IX Item "ExtUtils::Packlist"
+Manage .packlist files
+.IP ExtUtils::ParseXS 12
+.IX Item "ExtUtils::ParseXS"
+Converts Perl XS code into C code
+.IP ExtUtils::ParseXS::Constants 12
+.IX Item "ExtUtils::ParseXS::Constants"
+Initialization values for some globals
+.IP ExtUtils::ParseXS::Eval 12
+.IX Item "ExtUtils::ParseXS::Eval"
+Clean package to evaluate code in
+.IP ExtUtils::ParseXS::Utilities 12
+.IX Item "ExtUtils::ParseXS::Utilities"
+Subroutines used with ExtUtils::ParseXS
+.IP ExtUtils::Typemaps 12
+.IX Item "ExtUtils::Typemaps"
+Read/Write/Modify Perl/XS typemap files
+.IP ExtUtils::Typemaps::Cmd 12
+.IX Item "ExtUtils::Typemaps::Cmd"
+Quick commands for handling typemaps
+.IP ExtUtils::Typemaps::InputMap 12
+.IX Item "ExtUtils::Typemaps::InputMap"
+Entry in the INPUT section of a typemap
+.IP ExtUtils::Typemaps::OutputMap 12
+.IX Item "ExtUtils::Typemaps::OutputMap"
+Entry in the OUTPUT section of a typemap
+.IP ExtUtils::Typemaps::Type 12
+.IX Item "ExtUtils::Typemaps::Type"
+Entry in the TYPEMAP section of a typemap
+.IP ExtUtils::XSSymSet 12
+.IX Item "ExtUtils::XSSymSet"
+Keep sets of symbol names palatable to the VMS linker
+.IP ExtUtils::testlib 12
+.IX Item "ExtUtils::testlib"
+Add blib/* directories to \f(CW@INC\fR
+.IP Fatal 12
+.IX Item "Fatal"
+Replace functions with equivalents which succeed or die
+.IP Fcntl 12
+.IX Item "Fcntl"
+Load the C Fcntl.h defines
+.IP File::Basename 12
+.IX Item "File::Basename"
+Parse file paths into directory, filename and suffix.
+.IP File::Compare 12
+.IX Item "File::Compare"
+Compare files or filehandles
+.IP File::Copy 12
+.IX Item "File::Copy"
+Copy files or filehandles
+.IP File::DosGlob 12
+.IX Item "File::DosGlob"
+DOS like globbing and then some
+.IP File::Fetch 12
+.IX Item "File::Fetch"
+A generic file fetching mechanism
+.IP File::Find 12
+.IX Item "File::Find"
+Traverse a directory tree.
+.IP File::Glob 12
+.IX Item "File::Glob"
+Perl extension for BSD glob routine
+.IP File::GlobMapper 12
+.IX Item "File::GlobMapper"
+Extend File Glob to Allow Input and Output Files
+.IP File::Path 12
+.IX Item "File::Path"
+Create or remove directory trees
+.IP File::Spec 12
+.IX Item "File::Spec"
+Portably perform operations on file names
+.IP File::Spec::AmigaOS 12
+.IX Item "File::Spec::AmigaOS"
+File::Spec for AmigaOS
+.IP File::Spec::Cygwin 12
+.IX Item "File::Spec::Cygwin"
+Methods for Cygwin file specs
+.IP File::Spec::Epoc 12
+.IX Item "File::Spec::Epoc"
+Methods for Epoc file specs
+.IP File::Spec::Functions 12
+.IX Item "File::Spec::Functions"
+Portably perform operations on file names
+.IP File::Spec::Mac 12
+.IX Item "File::Spec::Mac"
+File::Spec for Mac OS (Classic)
+.IP File::Spec::OS2 12
+.IX Item "File::Spec::OS2"
+Methods for OS/2 file specs
+.IP File::Spec::Unix 12
+.IX Item "File::Spec::Unix"
+File::Spec for Unix, base for other File::Spec modules
+.IP File::Spec::VMS 12
+.IX Item "File::Spec::VMS"
+Methods for VMS file specs
+.IP File::Spec::Win32 12
+.IX Item "File::Spec::Win32"
+Methods for Win32 file specs
+.IP File::Temp 12
+.IX Item "File::Temp"
+Return name and handle of a temporary file safely
+.IP File::stat 12
+.IX Item "File::stat"
+By-name interface to Perl's built-in \fBstat()\fR functions
+.IP FileCache 12
+.IX Item "FileCache"
+Keep more files open than the system permits
+.IP FileHandle 12
+.IX Item "FileHandle"
+Supply object methods for filehandles
+.IP Filter::Simple 12
+.IX Item "Filter::Simple"
+Simplified source filtering
+.IP Filter::Util::Call 12
+.IX Item "Filter::Util::Call"
+Perl Source Filter Utility Module
+.IP FindBin 12
+.IX Item "FindBin"
+Locate directory of original perl script
+.IP GDBM_File 12
+.IX Item "GDBM_File"
+Perl5 access to the gdbm library.
+.IP Getopt::Long 12
+.IX Item "Getopt::Long"
+Extended processing of command line options
+.IP Getopt::Std 12
+.IX Item "Getopt::Std"
+Process single-character switches with switch clustering
+.IP HTTP::Tiny 12
+.IX Item "HTTP::Tiny"
+A small, simple, correct HTTP/1.1 client
+.IP Hash::Util 12
+.IX Item "Hash::Util"
+A selection of general-utility hash subroutines
+.IP Hash::Util::FieldHash 12
+.IX Item "Hash::Util::FieldHash"
+Support for Inside-Out Classes
+.IP I18N::Collate 12
+.IX Item "I18N::Collate"
+Compare 8\-bit scalar data according to the current locale
+.IP I18N::LangTags 12
+.IX Item "I18N::LangTags"
+Functions for dealing with RFC3066\-style language tags
+.IP I18N::LangTags::Detect 12
+.IX Item "I18N::LangTags::Detect"
+Detect the user's language preferences
+.IP I18N::LangTags::List 12
+.IX Item "I18N::LangTags::List"
+Tags and names for human languages
+.IP I18N::Langinfo 12
+.IX Item "I18N::Langinfo"
+Query locale information
+.IP IO 12
+.IX Item "IO"
+Load various IO modules
+.IP IO::Compress::Base 12
+.IX Item "IO::Compress::Base"
+Base Class for IO::Compress modules
+.IP IO::Compress::Bzip2 12
+.IX Item "IO::Compress::Bzip2"
+Write bzip2 files/buffers
+.IP IO::Compress::Deflate 12
+.IX Item "IO::Compress::Deflate"
+Write RFC 1950 files/buffers
+.IP IO::Compress::FAQ 12
+.IX Item "IO::Compress::FAQ"
+Frequently Asked Questions about IO::Compress
+.IP IO::Compress::Gzip 12
+.IX Item "IO::Compress::Gzip"
+Write RFC 1952 files/buffers
+.IP IO::Compress::RawDeflate 12
+.IX Item "IO::Compress::RawDeflate"
+Write RFC 1951 files/buffers
+.IP IO::Compress::Zip 12
+.IX Item "IO::Compress::Zip"
+Write zip files/buffers
+.IP IO::Dir 12
+.IX Item "IO::Dir"
+Supply object methods for directory handles
+.IP IO::File 12
+.IX Item "IO::File"
+Supply object methods for filehandles
+.IP IO::Handle 12
+.IX Item "IO::Handle"
+Supply object methods for I/O handles
+.IP IO::Pipe 12
+.IX Item "IO::Pipe"
+Supply object methods for pipes
+.IP IO::Poll 12
+.IX Item "IO::Poll"
+Object interface to system poll call
+.IP IO::Seekable 12
+.IX Item "IO::Seekable"
+Supply seek based methods for I/O objects
+.IP IO::Select 12
+.IX Item "IO::Select"
+OO interface to the select system call
+.IP IO::Socket 12
+.IX Item "IO::Socket"
+Object interface to socket communications
+.IP IO::Socket::INET 12
+.IX Item "IO::Socket::INET"
+Object interface for AF_INET domain sockets
+.IP IO::Socket::UNIX 12
+.IX Item "IO::Socket::UNIX"
+Object interface for AF_UNIX domain sockets
+.IP IO::Uncompress::AnyInflate 12
+.IX Item "IO::Uncompress::AnyInflate"
+Uncompress zlib-based (zip, gzip) file/buffer
+.IP IO::Uncompress::AnyUncompress 12
+.IX Item "IO::Uncompress::AnyUncompress"
+Uncompress gzip, zip, bzip2, zstd, xz, lzma, lzip, lzf or lzop file/buffer
+.IP IO::Uncompress::Base 12
+.IX Item "IO::Uncompress::Base"
+Base Class for IO::Uncompress modules
+.IP IO::Uncompress::Bunzip2 12
+.IX Item "IO::Uncompress::Bunzip2"
+Read bzip2 files/buffers
+.IP IO::Uncompress::Gunzip 12
+.IX Item "IO::Uncompress::Gunzip"
+Read RFC 1952 files/buffers
+.IP IO::Uncompress::Inflate 12
+.IX Item "IO::Uncompress::Inflate"
+Read RFC 1950 files/buffers
+.IP IO::Uncompress::RawInflate 12
+.IX Item "IO::Uncompress::RawInflate"
+Read RFC 1951 files/buffers
+.IP IO::Uncompress::Unzip 12
+.IX Item "IO::Uncompress::Unzip"
+Read zip files/buffers
+.IP IO::Zlib 12
+.IX Item "IO::Zlib"
+IO:: style interface to Compress::Zlib
+.IP IPC::Cmd 12
+.IX Item "IPC::Cmd"
+Finding and running system commands made easy
+.IP IPC::Msg 12
+.IX Item "IPC::Msg"
+SysV Msg IPC object class
+.IP IPC::Open2 12
+.IX Item "IPC::Open2"
+Open a process for both reading and writing using \fBopen2()\fR
+.IP IPC::Open3 12
+.IX Item "IPC::Open3"
+Open a process for reading, writing, and error handling using \fBopen3()\fR
+.IP IPC::Semaphore 12
+.IX Item "IPC::Semaphore"
+SysV Semaphore IPC object class
+.IP IPC::SharedMem 12
+.IX Item "IPC::SharedMem"
+SysV Shared Memory IPC object class
+.IP IPC::SysV 12
+.IX Item "IPC::SysV"
+System V IPC constants and system calls
+.IP Internals 12
+.IX Item "Internals"
+Reserved special namespace for internals related functions
+.IP JSON::PP 12
+.IX Item "JSON::PP"
+JSON::XS compatible pure-Perl module.
+.IP JSON::PP::Boolean 12
+.IX Item "JSON::PP::Boolean"
+Dummy module providing JSON::PP::Boolean
+.IP List::Util 12
+.IX Item "List::Util"
+A selection of general-utility list subroutines
+.IP List::Util::XS 12
+.IX Item "List::Util::XS"
+Indicate if List::Util was compiled with a C compiler
+.IP Locale::Maketext 12
+.IX Item "Locale::Maketext"
+Framework for localization
+.IP Locale::Maketext::Cookbook 12
+.IX Item "Locale::Maketext::Cookbook"
+Recipes for using Locale::Maketext
+.IP Locale::Maketext::Guts 12
+.IX Item "Locale::Maketext::Guts"
+Deprecated module to load Locale::Maketext utf8 code
+.IP Locale::Maketext::GutsLoader 12
+.IX Item "Locale::Maketext::GutsLoader"
+Deprecated module to load Locale::Maketext utf8 code
+.IP Locale::Maketext::Simple 12
+.IX Item "Locale::Maketext::Simple"
+Simple interface to Locale::Maketext::Lexicon
+.IP Locale::Maketext::TPJ13 12
+.IX Item "Locale::Maketext::TPJ13"
+Article about software localization
+.IP MIME::Base64 12
+.IX Item "MIME::Base64"
+Encoding and decoding of base64 strings
+.IP MIME::QuotedPrint 12
+.IX Item "MIME::QuotedPrint"
+Encoding and decoding of quoted-printable strings
+.IP Math::BigFloat 12
+.IX Item "Math::BigFloat"
+Arbitrary size floating point math package
+.IP Math::BigInt 12
+.IX Item "Math::BigInt"
+Arbitrary size integer math package
+.IP Math::BigInt::Calc 12
+.IX Item "Math::BigInt::Calc"
+Pure Perl module to support Math::BigInt
+.IP Math::BigInt::FastCalc 12
+.IX Item "Math::BigInt::FastCalc"
+Math::BigInt::Calc with some XS for more speed
+.IP Math::BigInt::Lib 12
+.IX Item "Math::BigInt::Lib"
+Virtual parent class for Math::BigInt libraries
+.IP Math::BigRat 12
+.IX Item "Math::BigRat"
+Arbitrary size rational number math package
+.IP Math::Complex 12
+.IX Item "Math::Complex"
+Complex numbers and associated mathematical functions
+.IP Math::Trig 12
+.IX Item "Math::Trig"
+Trigonometric functions
+.IP Memoize 12
+.IX Item "Memoize"
+Make functions faster by trading space for time
+.IP Memoize::AnyDBM_File 12
+.IX Item "Memoize::AnyDBM_File"
+Glue to provide EXISTS for AnyDBM_File for Storable use
+.IP Memoize::Expire 12
+.IX Item "Memoize::Expire"
+Plug-in module for automatic expiration of memoized values
+.IP Memoize::NDBM_File 12
+.IX Item "Memoize::NDBM_File"
+Glue to provide EXISTS for NDBM_File for Storable use
+.IP Memoize::SDBM_File 12
+.IX Item "Memoize::SDBM_File"
+DEPRECATED compability shim
+.IP Memoize::Storable 12
+.IX Item "Memoize::Storable"
+Store Memoized data in Storable database
+.IP Module::CoreList 12
+.IX Item "Module::CoreList"
+What modules shipped with versions of perl
+.IP Module::CoreList::Utils 12
+.IX Item "Module::CoreList::Utils"
+What utilities shipped with versions of perl
+.IP Module::Load 12
+.IX Item "Module::Load"
+Runtime require of both modules and files
+.IP Module::Load::Conditional 12
+.IX Item "Module::Load::Conditional"
+Looking up module information / loading at runtime
+.IP Module::Loaded 12
+.IX Item "Module::Loaded"
+Mark modules as loaded or unloaded
+.IP Module::Metadata 12
+.IX Item "Module::Metadata"
+Gather package and POD information from perl module files
+.IP NDBM_File 12
+.IX Item "NDBM_File"
+Tied access to ndbm files
+.IP NEXT 12
+.IX Item "NEXT"
+Provide a pseudo-class NEXT (et al) that allows method redispatch
+.IP Net::Cmd 12
+.IX Item "Net::Cmd"
+Network Command class (as used by FTP, SMTP etc)
+.IP Net::Config 12
+.IX Item "Net::Config"
+Local configuration data for libnet
+.IP Net::Domain 12
+.IX Item "Net::Domain"
+Attempt to evaluate the current host's internet name and domain
+.IP Net::FTP 12
+.IX Item "Net::FTP"
+FTP Client class
+.IP Net::FTP::dataconn 12
+.IX Item "Net::FTP::dataconn"
+FTP Client data connection class
+.IP Net::NNTP 12
+.IX Item "Net::NNTP"
+NNTP Client class
+.IP Net::Netrc 12
+.IX Item "Net::Netrc"
+OO interface to users netrc file
+.IP Net::POP3 12
+.IX Item "Net::POP3"
+Post Office Protocol 3 Client class (RFC1939)
+.IP Net::Ping 12
+.IX Item "Net::Ping"
+Check a remote host for reachability
+.IP Net::SMTP 12
+.IX Item "Net::SMTP"
+Simple Mail Transfer Protocol Client
+.IP Net::Time 12
+.IX Item "Net::Time"
+Time and daytime network client interface
+.IP Net::hostent 12
+.IX Item "Net::hostent"
+By-name interface to Perl's built-in gethost*() functions
+.IP Net::libnetFAQ 12
+.IX Item "Net::libnetFAQ"
+Libnet Frequently Asked Questions
+.IP Net::netent 12
+.IX Item "Net::netent"
+By-name interface to Perl's built-in getnet*() functions
+.IP Net::protoent 12
+.IX Item "Net::protoent"
+By-name interface to Perl's built-in getproto*() functions
+.IP Net::servent 12
+.IX Item "Net::servent"
+By-name interface to Perl's built-in getserv*() functions
+.IP O 12
+.IX Item "O"
+Generic interface to Perl Compiler backends
+.IP ODBM_File 12
+.IX Item "ODBM_File"
+Tied access to odbm files
+.IP Opcode 12
+.IX Item "Opcode"
+Disable named opcodes when compiling perl code
+.IP POSIX 12
+.IX Item "POSIX"
+Perl interface to IEEE Std 1003.1
+.IP Params::Check 12
+.IX Item "Params::Check"
+A generic input parsing/checking mechanism.
+.IP Parse::CPAN::Meta 12
+.IX Item "Parse::CPAN::Meta"
+Parse META.yml and META.json CPAN metadata files
+.IP Perl::OSType 12
+.IX Item "Perl::OSType"
+Map Perl operating system names to generic types
+.IP PerlIO 12
+.IX Item "PerlIO"
+On demand loader for PerlIO layers and root of PerlIO::* name space
+.IP PerlIO::encoding 12
+.IX Item "PerlIO::encoding"
+Encoding layer
+.IP PerlIO::mmap 12
+.IX Item "PerlIO::mmap"
+Memory mapped IO
+.IP PerlIO::scalar 12
+.IX Item "PerlIO::scalar"
+In-memory IO, scalar IO
+.IP PerlIO::via 12
+.IX Item "PerlIO::via"
+Helper class for PerlIO layers implemented in perl
+.IP PerlIO::via::QuotedPrint 12
+.IX Item "PerlIO::via::QuotedPrint"
+PerlIO layer for quoted-printable strings
+.IP Pod::Checker 12
+.IX Item "Pod::Checker"
+Check pod documents for syntax errors
+.IP Pod::Escapes 12
+.IX Item "Pod::Escapes"
+For resolving Pod E<...> sequences
+.IP Pod::Functions 12
+.IX Item "Pod::Functions"
+Group Perl's functions a la perlfunc.pod
+.IP Pod::Html 12
+.IX Item "Pod::Html"
+Module to convert pod files to HTML
+.IP Pod::Html::Util 12
+.IX Item "Pod::Html::Util"
+Helper functions for Pod-Html
+.IP Pod::Man 12
+.IX Item "Pod::Man"
+Convert POD data to formatted *roff input
+.IP Pod::ParseLink 12
+.IX Item "Pod::ParseLink"
+Parse an L<> formatting code in POD text
+.IP Pod::Perldoc 12
+.IX Item "Pod::Perldoc"
+Look up Perl documentation in Pod format.
+.IP Pod::Perldoc::BaseTo 12
+.IX Item "Pod::Perldoc::BaseTo"
+Base for Pod::Perldoc formatters
+.IP Pod::Perldoc::GetOptsOO 12
+.IX Item "Pod::Perldoc::GetOptsOO"
+Customized option parser for Pod::Perldoc
+.IP Pod::Perldoc::ToANSI 12
+.IX Item "Pod::Perldoc::ToANSI"
+Render Pod with ANSI color escapes
+.IP Pod::Perldoc::ToChecker 12
+.IX Item "Pod::Perldoc::ToChecker"
+Let Perldoc check Pod for errors
+.IP Pod::Perldoc::ToMan 12
+.IX Item "Pod::Perldoc::ToMan"
+Let Perldoc render Pod as man pages
+.IP Pod::Perldoc::ToNroff 12
+.IX Item "Pod::Perldoc::ToNroff"
+Let Perldoc convert Pod to nroff
+.IP Pod::Perldoc::ToPod 12
+.IX Item "Pod::Perldoc::ToPod"
+Let Perldoc render Pod as ... Pod!
+.IP Pod::Perldoc::ToRtf 12
+.IX Item "Pod::Perldoc::ToRtf"
+Let Perldoc render Pod as RTF
+.IP Pod::Perldoc::ToTerm 12
+.IX Item "Pod::Perldoc::ToTerm"
+Render Pod with terminal escapes
+.IP Pod::Perldoc::ToText 12
+.IX Item "Pod::Perldoc::ToText"
+Let Perldoc render Pod as plaintext
+.IP Pod::Perldoc::ToTk 12
+.IX Item "Pod::Perldoc::ToTk"
+Let Perldoc use Tk::Pod to render Pod
+.IP Pod::Perldoc::ToXml 12
+.IX Item "Pod::Perldoc::ToXml"
+Let Perldoc render Pod as XML
+.IP Pod::Simple 12
+.IX Item "Pod::Simple"
+Framework for parsing Pod
+.IP Pod::Simple::Checker 12
+.IX Item "Pod::Simple::Checker"
+Check the Pod syntax of a document
+.IP Pod::Simple::Debug 12
+.IX Item "Pod::Simple::Debug"
+Put Pod::Simple into trace/debug mode
+.IP Pod::Simple::DumpAsText 12
+.IX Item "Pod::Simple::DumpAsText"
+Dump Pod-parsing events as text
+.IP Pod::Simple::DumpAsXML 12
+.IX Item "Pod::Simple::DumpAsXML"
+Turn Pod into XML
+.IP Pod::Simple::HTML 12
+.IX Item "Pod::Simple::HTML"
+Convert Pod to HTML
+.IP Pod::Simple::HTMLBatch 12
+.IX Item "Pod::Simple::HTMLBatch"
+Convert several Pod files to several HTML files
+.IP Pod::Simple::JustPod 12
+.IX Item "Pod::Simple::JustPod"
+Just the Pod, the whole Pod, and nothing but the Pod
+.IP Pod::Simple::LinkSection 12
+.IX Item "Pod::Simple::LinkSection"
+Represent "section" attributes of L codes
+.IP Pod::Simple::Methody 12
+.IX Item "Pod::Simple::Methody"
+Turn Pod::Simple events into method calls
+.IP Pod::Simple::PullParser 12
+.IX Item "Pod::Simple::PullParser"
+A pull-parser interface to parsing Pod
+.IP Pod::Simple::PullParserEndToken 12
+.IX Item "Pod::Simple::PullParserEndToken"
+End-tokens from Pod::Simple::PullParser
+.IP Pod::Simple::PullParserStartToken 12
+.IX Item "Pod::Simple::PullParserStartToken"
+Start-tokens from Pod::Simple::PullParser
+.IP Pod::Simple::PullParserTextToken 12
+.IX Item "Pod::Simple::PullParserTextToken"
+Text-tokens from Pod::Simple::PullParser
+.IP Pod::Simple::PullParserToken 12
+.IX Item "Pod::Simple::PullParserToken"
+Tokens from Pod::Simple::PullParser
+.IP Pod::Simple::RTF 12
+.IX Item "Pod::Simple::RTF"
+Format Pod as RTF
+.IP Pod::Simple::Search 12
+.IX Item "Pod::Simple::Search"
+Find POD documents in directory trees
+.IP Pod::Simple::SimpleTree 12
+.IX Item "Pod::Simple::SimpleTree"
+Parse Pod into a simple parse tree
+.IP Pod::Simple::Subclassing 12
+.IX Item "Pod::Simple::Subclassing"
+Write a formatter as a Pod::Simple subclass
+.IP Pod::Simple::Text 12
+.IX Item "Pod::Simple::Text"
+Format Pod as plaintext
+.IP Pod::Simple::TextContent 12
+.IX Item "Pod::Simple::TextContent"
+Get the text content of Pod
+.IP Pod::Simple::XHTML 12
+.IX Item "Pod::Simple::XHTML"
+Format Pod as validating XHTML
+.IP Pod::Simple::XMLOutStream 12
+.IX Item "Pod::Simple::XMLOutStream"
+Turn Pod into XML
+.IP Pod::Text 12
+.IX Item "Pod::Text"
+Convert POD data to formatted text
+.IP Pod::Text::Color 12
+.IX Item "Pod::Text::Color"
+Convert POD data to formatted color ASCII text
+.IP Pod::Text::Overstrike 12
+.IX Item "Pod::Text::Overstrike"
+Convert POD data to formatted overstrike text
+.IP Pod::Text::Termcap 12
+.IX Item "Pod::Text::Termcap"
+Convert POD data to ASCII text with format escapes
+.IP Pod::Usage 12
+.IX Item "Pod::Usage"
+Extracts POD documentation and shows usage information
+.IP SDBM_File 12
+.IX Item "SDBM_File"
+Tied access to sdbm files
+.IP Safe 12
+.IX Item "Safe"
+Compile and execute code in restricted compartments
+.IP Scalar::Util 12
+.IX Item "Scalar::Util"
+A selection of general-utility scalar subroutines
+.IP Search::Dict 12
+.IX Item "Search::Dict"
+Look \- search for key in dictionary file
+.IP SelectSaver 12
+.IX Item "SelectSaver"
+Save and restore selected file handle
+.IP SelfLoader 12
+.IX Item "SelfLoader"
+Load functions only on demand
+.IP Storable 12
+.IX Item "Storable"
+Persistence for Perl data structures
+.IP Sub::Util 12
+.IX Item "Sub::Util"
+A selection of utility subroutines for subs and CODE references
+.IP Symbol 12
+.IX Item "Symbol"
+Manipulate Perl symbols and their names
+.IP Sys::Hostname 12
+.IX Item "Sys::Hostname"
+Try every conceivable way to get hostname
+.IP Sys::Syslog 12
+.IX Item "Sys::Syslog"
+Perl interface to the UNIX \fBsyslog\fR\|(3) calls
+.IP Sys::Syslog::Win32 12
+.IX Item "Sys::Syslog::Win32"
+Win32 support for Sys::Syslog
+.IP TAP::Base 12
+.IX Item "TAP::Base"
+Base class that provides common functionality to TAP::Parser
+.IP TAP::Formatter::Base 12
+.IX Item "TAP::Formatter::Base"
+Base class for harness output delegates
+.IP TAP::Formatter::Color 12
+.IX Item "TAP::Formatter::Color"
+Run Perl test scripts with color
+.IP TAP::Formatter::Console 12
+.IX Item "TAP::Formatter::Console"
+Harness output delegate for default console output
+.IP TAP::Formatter::Console::ParallelSession 12
+.IX Item "TAP::Formatter::Console::ParallelSession"
+Harness output delegate for parallel console output
+.IP TAP::Formatter::Console::Session 12
+.IX Item "TAP::Formatter::Console::Session"
+Harness output delegate for default console output
+.IP TAP::Formatter::File 12
+.IX Item "TAP::Formatter::File"
+Harness output delegate for file output
+.IP TAP::Formatter::File::Session 12
+.IX Item "TAP::Formatter::File::Session"
+Harness output delegate for file output
+.IP TAP::Formatter::Session 12
+.IX Item "TAP::Formatter::Session"
+Abstract base class for harness output delegate
+.IP TAP::Harness 12
+.IX Item "TAP::Harness"
+Run test scripts with statistics
+.IP TAP::Harness::Env 12
+.IX Item "TAP::Harness::Env"
+Parsing harness related environmental variables where appropriate
+.IP TAP::Object 12
+.IX Item "TAP::Object"
+Base class that provides common functionality to all \f(CW\*(C`TAP::*\*(C'\fR modules
+.IP TAP::Parser 12
+.IX Item "TAP::Parser"
+Parse TAP output
+.IP TAP::Parser::Aggregator 12
+.IX Item "TAP::Parser::Aggregator"
+Aggregate TAP::Parser results
+.IP TAP::Parser::Grammar 12
+.IX Item "TAP::Parser::Grammar"
+A grammar for the Test Anything Protocol.
+.IP TAP::Parser::Iterator 12
+.IX Item "TAP::Parser::Iterator"
+Base class for TAP source iterators
+.IP TAP::Parser::Iterator::Array 12
+.IX Item "TAP::Parser::Iterator::Array"
+Iterator for array-based TAP sources
+.IP TAP::Parser::Iterator::Process 12
+.IX Item "TAP::Parser::Iterator::Process"
+Iterator for process-based TAP sources
+.IP TAP::Parser::Iterator::Stream 12
+.IX Item "TAP::Parser::Iterator::Stream"
+Iterator for filehandle-based TAP sources
+.IP TAP::Parser::IteratorFactory 12
+.IX Item "TAP::Parser::IteratorFactory"
+Figures out which SourceHandler objects to use for a given Source
+.IP TAP::Parser::Multiplexer 12
+.IX Item "TAP::Parser::Multiplexer"
+Multiplex multiple TAP::Parsers
+.IP TAP::Parser::Result 12
+.IX Item "TAP::Parser::Result"
+Base class for TAP::Parser output objects
+.IP TAP::Parser::Result::Bailout 12
+.IX Item "TAP::Parser::Result::Bailout"
+Bailout result token.
+.IP TAP::Parser::Result::Comment 12
+.IX Item "TAP::Parser::Result::Comment"
+Comment result token.
+.IP TAP::Parser::Result::Plan 12
+.IX Item "TAP::Parser::Result::Plan"
+Plan result token.
+.IP TAP::Parser::Result::Pragma 12
+.IX Item "TAP::Parser::Result::Pragma"
+TAP pragma token.
+.IP TAP::Parser::Result::Test 12
+.IX Item "TAP::Parser::Result::Test"
+Test result token.
+.IP TAP::Parser::Result::Unknown 12
+.IX Item "TAP::Parser::Result::Unknown"
+Unknown result token.
+.IP TAP::Parser::Result::Version 12
+.IX Item "TAP::Parser::Result::Version"
+TAP syntax version token.
+.IP TAP::Parser::Result::YAML 12
+.IX Item "TAP::Parser::Result::YAML"
+YAML result token.
+.IP TAP::Parser::ResultFactory 12
+.IX Item "TAP::Parser::ResultFactory"
+Factory for creating TAP::Parser output objects
+.IP TAP::Parser::Scheduler 12
+.IX Item "TAP::Parser::Scheduler"
+Schedule tests during parallel testing
+.IP TAP::Parser::Scheduler::Job 12
+.IX Item "TAP::Parser::Scheduler::Job"
+A single testing job.
+.IP TAP::Parser::Scheduler::Spinner 12
+.IX Item "TAP::Parser::Scheduler::Spinner"
+A no-op job.
+.IP TAP::Parser::Source 12
+.IX Item "TAP::Parser::Source"
+A TAP source & meta data about it
+.IP TAP::Parser::SourceHandler 12
+.IX Item "TAP::Parser::SourceHandler"
+Base class for different TAP source handlers
+.IP TAP::Parser::SourceHandler::Executable 12
+.IX Item "TAP::Parser::SourceHandler::Executable"
+Stream output from an executable TAP source
+.IP TAP::Parser::SourceHandler::File 12
+.IX Item "TAP::Parser::SourceHandler::File"
+Stream TAP from a text file.
+.IP TAP::Parser::SourceHandler::Handle 12
+.IX Item "TAP::Parser::SourceHandler::Handle"
+Stream TAP from an IO::Handle or a GLOB.
+.IP TAP::Parser::SourceHandler::Perl 12
+.IX Item "TAP::Parser::SourceHandler::Perl"
+Stream TAP from a Perl executable
+.IP TAP::Parser::SourceHandler::RawTAP 12
+.IX Item "TAP::Parser::SourceHandler::RawTAP"
+Stream output from raw TAP in a scalar/array ref.
+.IP TAP::Parser::YAMLish::Reader 12
+.IX Item "TAP::Parser::YAMLish::Reader"
+Read YAMLish data from iterator
+.IP TAP::Parser::YAMLish::Writer 12
+.IX Item "TAP::Parser::YAMLish::Writer"
+Write YAMLish data
+.IP Term::ANSIColor 12
+.IX Item "Term::ANSIColor"
+Color screen output using ANSI escape sequences
+.IP Term::Cap 12
+.IX Item "Term::Cap"
+Perl termcap interface
+.IP Term::Complete 12
+.IX Item "Term::Complete"
+Perl word completion module
+.IP Term::ReadLine 12
+.IX Item "Term::ReadLine"
+Perl interface to various \f(CW\*(C`readline\*(C'\fR packages.
+.IP Test 12
+.IX Item "Test"
+Provides a simple framework for writing test scripts
+.IP Test2 12
+.IX Item "Test2"
+Framework for writing test tools that all work together.
+.IP Test2::API 12
+.IX Item "Test2::API"
+Primary interface for writing Test2 based testing tools.
+.IP Test2::API::Breakage 12
+.IX Item "Test2::API::Breakage"
+What breaks at what version
+.IP Test2::API::Context 12
+.IX Item "Test2::API::Context"
+Object to represent a testing context.
+.IP Test2::API::Instance 12
+.IX Item "Test2::API::Instance"
+Object used by Test2::API under the hood
+.IP Test2::API::InterceptResult 12
+.IX Item "Test2::API::InterceptResult"
+Representation of a list of events.
+.IP Test2::API::InterceptResult::Event 12
+.IX Item "Test2::API::InterceptResult::Event"
+Representation of an event for use in
+.IP Test2::API::InterceptResult::Hub 12
+.IX Item "Test2::API::InterceptResult::Hub"
+Hub used by InterceptResult.
+.IP Test2::API::InterceptResult::Squasher 12
+.IX Item "Test2::API::InterceptResult::Squasher"
+Encapsulation of the algorithm that
+.IP Test2::API::Stack 12
+.IX Item "Test2::API::Stack"
+Object to manage a stack of Test2::Hub
+.IP Test2::Event 12
+.IX Item "Test2::Event"
+Base class for events
+.IP Test2::Event::Bail 12
+.IX Item "Test2::Event::Bail"
+Bailout!
+.IP Test2::Event::Diag 12
+.IX Item "Test2::Event::Diag"
+Diag event type
+.IP Test2::Event::Encoding 12
+.IX Item "Test2::Event::Encoding"
+Set the encoding for the output stream
+.IP Test2::Event::Exception 12
+.IX Item "Test2::Event::Exception"
+Exception event
+.IP Test2::Event::Fail 12
+.IX Item "Test2::Event::Fail"
+Event for a simple failed assertion
+.IP Test2::Event::Generic 12
+.IX Item "Test2::Event::Generic"
+Generic event type.
+.IP Test2::Event::Note 12
+.IX Item "Test2::Event::Note"
+Note event type
+.IP Test2::Event::Ok 12
+.IX Item "Test2::Event::Ok"
+Ok event type
+.IP Test2::Event::Pass 12
+.IX Item "Test2::Event::Pass"
+Event for a simple passing assertion
+.IP Test2::Event::Plan 12
+.IX Item "Test2::Event::Plan"
+The event of a plan
+.IP Test2::Event::Skip 12
+.IX Item "Test2::Event::Skip"
+Skip event type
+.IP Test2::Event::Subtest 12
+.IX Item "Test2::Event::Subtest"
+Event for subtest types
+.IP Test2::Event::TAP::Version 12
+.IX Item "Test2::Event::TAP::Version"
+Event for TAP version.
+.IP Test2::Event::V2 12
+.IX Item "Test2::Event::V2"
+Second generation event.
+.IP Test2::Event::Waiting 12
+.IX Item "Test2::Event::Waiting"
+Tell all procs/threads it is time to be done
+.IP Test2::EventFacet 12
+.IX Item "Test2::EventFacet"
+Base class for all event facets.
+.IP Test2::EventFacet::About 12
+.IX Item "Test2::EventFacet::About"
+Facet with event details.
+.IP Test2::EventFacet::Amnesty 12
+.IX Item "Test2::EventFacet::Amnesty"
+Facet for assertion amnesty.
+.IP Test2::EventFacet::Assert 12
+.IX Item "Test2::EventFacet::Assert"
+Facet representing an assertion.
+.IP Test2::EventFacet::Control 12
+.IX Item "Test2::EventFacet::Control"
+Facet for hub actions and behaviors.
+.IP Test2::EventFacet::Error 12
+.IX Item "Test2::EventFacet::Error"
+Facet for errors that need to be shown.
+.IP Test2::EventFacet::Hub 12
+.IX Item "Test2::EventFacet::Hub"
+Facet for the hubs an event passes through.
+.IP Test2::EventFacet::Info 12
+.IX Item "Test2::EventFacet::Info"
+Facet for information a developer might care about.
+.IP Test2::EventFacet::Info::Table 12
+.IX Item "Test2::EventFacet::Info::Table"
+Intermediary representation of a table.
+.IP Test2::EventFacet::Meta 12
+.IX Item "Test2::EventFacet::Meta"
+Facet for meta-data
+.IP Test2::EventFacet::Parent 12
+.IX Item "Test2::EventFacet::Parent"
+Facet for events contains other events
+.IP Test2::EventFacet::Plan 12
+.IX Item "Test2::EventFacet::Plan"
+Facet for setting the plan
+.IP Test2::EventFacet::Render 12
+.IX Item "Test2::EventFacet::Render"
+Facet that dictates how to render an event.
+.IP Test2::EventFacet::Trace 12
+.IX Item "Test2::EventFacet::Trace"
+Debug information for events
+.IP Test2::Formatter 12
+.IX Item "Test2::Formatter"
+Namespace for formatters.
+.IP Test2::Formatter::TAP 12
+.IX Item "Test2::Formatter::TAP"
+Standard TAP formatter
+.IP Test2::Hub 12
+.IX Item "Test2::Hub"
+The conduit through which all events flow.
+.IP Test2::Hub::Interceptor 12
+.IX Item "Test2::Hub::Interceptor"
+Hub used by interceptor to grab results.
+.IP Test2::Hub::Interceptor::Terminator 12
+.IX Item "Test2::Hub::Interceptor::Terminator"
+Exception class used by
+.IP Test2::Hub::Subtest 12
+.IX Item "Test2::Hub::Subtest"
+Hub used by subtests
+.IP Test2::IPC 12
+.IX Item "Test2::IPC"
+Turn on IPC for threading or forking support.
+.IP Test2::IPC::Driver 12
+.IX Item "Test2::IPC::Driver"
+Base class for Test2 IPC drivers.
+.IP Test2::IPC::Driver::Files 12
+.IX Item "Test2::IPC::Driver::Files"
+Temp dir + Files concurrency model.
+.IP Test2::Tools::Tiny 12
+.IX Item "Test2::Tools::Tiny"
+Tiny set of tools for unfortunate souls who cannot use
+.IP Test2::Transition 12
+.IX Item "Test2::Transition"
+Transition notes when upgrading to Test2
+.IP Test2::Util 12
+.IX Item "Test2::Util"
+Tools used by Test2 and friends.
+.IP Test2::Util::ExternalMeta 12
+.IX Item "Test2::Util::ExternalMeta"
+Allow third party tools to safely attach meta-data
+.IP Test2::Util::Facets2Legacy 12
+.IX Item "Test2::Util::Facets2Legacy"
+Convert facet data to the legacy event API.
+.IP Test2::Util::HashBase 12
+.IX Item "Test2::Util::HashBase"
+Build hash based classes.
+.IP Test2::Util::Trace 12
+.IX Item "Test2::Util::Trace"
+Legacy wrapper fro Test2::EventFacet::Trace.
+.IP Test::Builder 12
+.IX Item "Test::Builder"
+Backend for building test libraries
+.IP Test::Builder::Formatter 12
+.IX Item "Test::Builder::Formatter"
+Test::Builder subclass of Test2::Formatter::TAP
+.IP Test::Builder::IO::Scalar 12
+.IX Item "Test::Builder::IO::Scalar"
+A copy of IO::Scalar for Test::Builder
+.IP Test::Builder::Module 12
+.IX Item "Test::Builder::Module"
+Base class for test modules
+.IP Test::Builder::Tester 12
+.IX Item "Test::Builder::Tester"
+Test testsuites that have been built with
+.IP Test::Builder::Tester::Color 12
+.IX Item "Test::Builder::Tester::Color"
+Turn on colour in Test::Builder::Tester
+.IP Test::Builder::TodoDiag 12
+.IX Item "Test::Builder::TodoDiag"
+Test::Builder subclass of Test2::Event::Diag
+.IP Test::Harness 12
+.IX Item "Test::Harness"
+Run Perl standard test scripts with statistics
+.IP Test::Harness::Beyond 12
+.IX Item "Test::Harness::Beyond"
+Beyond make test
+.IP Test::More 12
+.IX Item "Test::More"
+Yet another framework for writing test scripts
+.IP Test::Simple 12
+.IX Item "Test::Simple"
+Basic utilities for writing tests.
+.IP Test::Tester 12
+.IX Item "Test::Tester"
+Ease testing test modules built with Test::Builder
+.IP Test::Tester::Capture 12
+.IX Item "Test::Tester::Capture"
+Help testing test modules built with Test::Builder
+.IP Test::Tester::CaptureRunner 12
+.IX Item "Test::Tester::CaptureRunner"
+Help testing test modules built with Test::Builder
+.IP Test::Tutorial 12
+.IX Item "Test::Tutorial"
+A tutorial about writing really basic tests
+.IP Test::use::ok 12
+.IX Item "Test::use::ok"
+Alternative to Test::More::use_ok
+.IP Text::Abbrev 12
+.IX Item "Text::Abbrev"
+Abbrev \- create an abbreviation table from a list
+.IP Text::Balanced 12
+.IX Item "Text::Balanced"
+Extract delimited text sequences from strings.
+.IP Text::ParseWords 12
+.IX Item "Text::ParseWords"
+Parse text into an array of tokens or array of arrays
+.IP Text::Tabs 12
+.IX Item "Text::Tabs"
+Expand and unexpand tabs like unix \fBexpand\fR\|(1) and \fBunexpand\fR\|(1)
+.IP Text::Wrap 12
+.IX Item "Text::Wrap"
+Line wrapping to form simple paragraphs
+.IP Thread 12
+.IX Item "Thread"
+Manipulate threads in Perl (for old code only)
+.IP Thread::Queue 12
+.IX Item "Thread::Queue"
+Thread-safe queues
+.IP Thread::Semaphore 12
+.IX Item "Thread::Semaphore"
+Thread-safe semaphores
+.IP Tie::Array 12
+.IX Item "Tie::Array"
+Base class for tied arrays
+.IP Tie::File 12
+.IX Item "Tie::File"
+Access the lines of a disk file via a Perl array
+.IP Tie::Handle 12
+.IX Item "Tie::Handle"
+Base class definitions for tied handles
+.IP Tie::Hash 12
+.IX Item "Tie::Hash"
+Base class definitions for tied hashes
+.IP Tie::Hash::NamedCapture 12
+.IX Item "Tie::Hash::NamedCapture"
+Named regexp capture buffers
+.IP Tie::Memoize 12
+.IX Item "Tie::Memoize"
+Add data to hash when needed
+.IP Tie::RefHash 12
+.IX Item "Tie::RefHash"
+Use references as hash keys
+.IP Tie::Scalar 12
+.IX Item "Tie::Scalar"
+Base class definitions for tied scalars
+.IP Tie::StdHandle 12
+.IX Item "Tie::StdHandle"
+Base class definitions for tied handles
+.IP Tie::SubstrHash 12
+.IX Item "Tie::SubstrHash"
+Fixed-table-size, fixed-key-length hashing
+.IP Time::HiRes 12
+.IX Item "Time::HiRes"
+High resolution alarm, sleep, gettimeofday, interval timers
+.IP Time::Local 12
+.IX Item "Time::Local"
+Efficiently compute time from local and GMT time
+.IP Time::Piece 12
+.IX Item "Time::Piece"
+Object Oriented time objects
+.IP Time::Seconds 12
+.IX Item "Time::Seconds"
+A simple API to convert seconds to other date values
+.IP Time::gmtime 12
+.IX Item "Time::gmtime"
+By-name interface to Perl's built-in \fBgmtime()\fR function
+.IP Time::localtime 12
+.IX Item "Time::localtime"
+By-name interface to Perl's built-in \fBlocaltime()\fR function
+.IP Time::tm 12
+.IX Item "Time::tm"
+Internal object used by Time::gmtime and Time::localtime
+.IP UNIVERSAL 12
+.IX Item "UNIVERSAL"
+Base class for ALL classes (blessed references)
+.IP Unicode::Collate 12
+.IX Item "Unicode::Collate"
+Unicode Collation Algorithm
+.IP Unicode::Collate::CJK::Big5 12
+.IX Item "Unicode::Collate::CJK::Big5"
+Weighting CJK Unified Ideographs
+.IP Unicode::Collate::CJK::GB2312 12
+.IX Item "Unicode::Collate::CJK::GB2312"
+Weighting CJK Unified Ideographs
+.IP Unicode::Collate::CJK::JISX0208 12
+.IX Item "Unicode::Collate::CJK::JISX0208"
+Weighting JIS KANJI for Unicode::Collate
+.IP Unicode::Collate::CJK::Korean 12
+.IX Item "Unicode::Collate::CJK::Korean"
+Weighting CJK Unified Ideographs
+.IP Unicode::Collate::CJK::Pinyin 12
+.IX Item "Unicode::Collate::CJK::Pinyin"
+Weighting CJK Unified Ideographs
+.IP Unicode::Collate::CJK::Stroke 12
+.IX Item "Unicode::Collate::CJK::Stroke"
+Weighting CJK Unified Ideographs
+.IP Unicode::Collate::CJK::Zhuyin 12
+.IX Item "Unicode::Collate::CJK::Zhuyin"
+Weighting CJK Unified Ideographs
+.IP Unicode::Collate::Locale 12
+.IX Item "Unicode::Collate::Locale"
+Linguistic tailoring for DUCET via Unicode::Collate
+.IP Unicode::Normalize 12
+.IX Item "Unicode::Normalize"
+Unicode Normalization Forms
+.IP Unicode::UCD 12
+.IX Item "Unicode::UCD"
+Unicode character database
+.IP User::grent 12
+.IX Item "User::grent"
+By-name interface to Perl's built-in getgr*() functions
+.IP User::pwent 12
+.IX Item "User::pwent"
+By-name interface to Perl's built-in getpw*() functions
+.IP VMS::DCLsym 12
+.IX Item "VMS::DCLsym"
+Perl extension to manipulate DCL symbols
+.IP VMS::Filespec 12
+.IX Item "VMS::Filespec"
+Convert between VMS and Unix file specification syntax
+.IP VMS::Stdio 12
+.IX Item "VMS::Stdio"
+Standard I/O functions via VMS extensions
+.IP Win32 12
+.IX Item "Win32"
+Interfaces to some Win32 API Functions
+.IP Win32API::File 12
+.IX Item "Win32API::File"
+Low-level access to Win32 system API calls for files/dirs.
+.IP Win32CORE 12
+.IX Item "Win32CORE"
+Win32 CORE function stubs
+.IP XS::APItest 12
+.IX Item "XS::APItest"
+Test the perl C API
+.IP XS::Typemap 12
+.IX Item "XS::Typemap"
+Module to test the XS typemaps distributed with perl
+.IP XSLoader 12
+.IX Item "XSLoader"
+Dynamically load C libraries into Perl code
+.IP autodie::Scope::Guard 12
+.IX Item "autodie::Scope::Guard"
+Wrapper class for calling subs at end of scope
+.IP autodie::Scope::GuardStack 12
+.IX Item "autodie::Scope::GuardStack"
+Hook stack for managing scopes via %^H
+.IP autodie::Util 12
+.IX Item "autodie::Util"
+Internal Utility subroutines for autodie and Fatal
+.IP version::Internals 12
+.IX Item "version::Internals"
+Perl extension for Version Objects
+.PP
+To find out \fIall\fR modules installed on your system, including
+those without documentation or outside the standard release,
+just use the following command (under the default win32 shell,
+double quotes should be used instead of single quotes).
+.PP
+.Vb 3
+\& % perl \-MFile::Find=find \-MFile::Spec::Functions \-Tlwe \e
+\& \*(Aqfind { wanted => sub { print canonpath $_ if /\e.pm\ez/ },
+\& no_chdir => 1 }, @INC\*(Aq
+.Ve
+.PP
+(The \-T is here to prevent \f(CW@INC\fR from being populated by \f(CW\*(C`PERL5LIB\*(C'\fR,
+\&\f(CW\*(C`PERLLIB\*(C'\fR, and \f(CW\*(C`PERL_USE_UNSAFE_INC\*(C'\fR.)
+They should all have their own documentation installed and accessible
+via your system \fBman\fR\|(1) command. If you do not have a \fBfind\fR
+program, you can use the Perl \fBfind2perl\fR program instead, which
+generates Perl code as output you can run through perl. If you
+have a \fBman\fR program but it doesn't find your modules, you'll have
+to fix your manpath. See perl for details. If you have no
+system \fBman\fR command, you might try the \fBperldoc\fR program.
+.PP
+Note also that the command \f(CW\*(C`perldoc perllocal\*(C'\fR gives you a (possibly
+incomplete) list of the modules that have been further installed on
+your system. (The perllocal.pod file is updated by the standard MakeMaker
+install process.)
+.SS "Extension Modules"
+.IX Subsection "Extension Modules"
+Extension modules are written in C (or a mix of Perl and C). They
+are usually dynamically loaded into Perl if and when you need them,
+but may also be linked in statically. Supported extension modules
+include Socket, Fcntl, and POSIX.
+.PP
+Many popular C extension modules do not come bundled (at least, not
+completely) due to their sizes, volatility, or simply lack of time
+for adequate testing and configuration across the multitude of
+platforms on which Perl was beta-tested. You are encouraged to
+look for them on CPAN (described below), or using web search engines
+like Google or DuckDuckGo.
+.SH CPAN
+.IX Header "CPAN"
+CPAN stands for Comprehensive Perl Archive Network; it's a globally
+replicated trove of Perl materials, including documentation, style
+guides, tricks and traps, alternate ports to non-Unix systems and
+occasional binary distributions for these. Search engines for
+CPAN can be found at https://www.cpan.org/
+.PP
+Most importantly, CPAN includes around a thousand unbundled modules,
+some of which require a C compiler to build. Major categories of
+modules are:
+.IP \(bu 4
+Language Extensions and Documentation Tools
+.IP \(bu 4
+Development Support
+.IP \(bu 4
+Operating System Interfaces
+.IP \(bu 4
+Networking, Device Control (modems) and InterProcess Communication
+.IP \(bu 4
+Data Types and Data Type Utilities
+.IP \(bu 4
+Database Interfaces
+.IP \(bu 4
+User Interfaces
+.IP \(bu 4
+Interfaces to / Emulations of Other Programming Languages
+.IP \(bu 4
+File Names, File Systems and File Locking (see also File Handles)
+.IP \(bu 4
+String Processing, Language Text Processing, Parsing, and Searching
+.IP \(bu 4
+Option, Argument, Parameter, and Configuration File Processing
+.IP \(bu 4
+Internationalization and Locale
+.IP \(bu 4
+Authentication, Security, and Encryption
+.IP \(bu 4
+World Wide Web, HTML, HTTP, CGI, MIME
+.IP \(bu 4
+Server and Daemon Utilities
+.IP \(bu 4
+Archiving and Compression
+.IP \(bu 4
+Images, Pixmap and Bitmap Manipulation, Drawing, and Graphing
+.IP \(bu 4
+Mail and Usenet News
+.IP \(bu 4
+Control Flow Utilities (callbacks and exceptions etc)
+.IP \(bu 4
+File Handle and Input/Output Stream Utilities
+.IP \(bu 4
+Miscellaneous Modules
+.PP
+You can find the CPAN online at <https://www.cpan.org/>
+.SH "Modules: Creation, Use, and Abuse"
+.IX Header "Modules: Creation, Use, and Abuse"
+(The following section is borrowed directly from Tim Bunce's modules
+file, available at your nearest CPAN site.)
+.PP
+Perl implements a class using a package, but the presence of a
+package doesn't imply the presence of a class. A package is just a
+namespace. A class is a package that provides subroutines that can be
+used as methods. A method is just a subroutine that expects, as its
+first argument, either the name of a package (for "static" methods),
+or a reference to something (for "virtual" methods).
+.PP
+A module is a file that (by convention) provides a class of the same
+name (sans the .pm), plus an import method in that class that can be
+called to fetch exported symbols. This module may implement some of
+its methods by loading dynamic C or C++ objects, but that should be
+totally transparent to the user of the module. Likewise, the module
+might set up an AUTOLOAD function to slurp in subroutine definitions on
+demand, but this is also transparent. Only the \fI.pm\fR file is required to
+exist. See perlsub, perlobj, and AutoLoader for details about
+the AUTOLOAD mechanism.
+.SS "Guidelines for Module Creation"
+.IX Subsection "Guidelines for Module Creation"
+.IP \(bu 4
+Do similar modules already exist in some form?
+.Sp
+If so, please try to reuse the existing modules either in whole or
+by inheriting useful features into a new class. If this is not
+practical try to get together with the module authors to work on
+extending or enhancing the functionality of the existing modules.
+A perfect example is the plethora of packages in perl4 for dealing
+with command line options.
+.Sp
+If you are writing a module to expand an already existing set of
+modules, please coordinate with the author of the package. It
+helps if you follow the same naming scheme and module interaction
+scheme as the original author.
+.IP \(bu 4
+Try to design the new module to be easy to extend and reuse.
+.Sp
+Try to \f(CW\*(C`use warnings;\*(C'\fR (or \f(CW\*(C`use warnings qw(...);\*(C'\fR).
+Remember that you can add \f(CW\*(C`no warnings qw(...);\*(C'\fR to individual blocks
+of code that need less warnings.
+.Sp
+Use blessed references. Use the two argument form of bless to bless
+into the class name given as the first parameter of the constructor,
+e.g.,:
+.Sp
+.Vb 4
+\& sub new {
+\& my $class = shift;
+\& return bless {}, $class;
+\& }
+.Ve
+.Sp
+or even this if you'd like it to be used as either a static
+or a virtual method.
+.Sp
+.Vb 5
+\& sub new {
+\& my $self = shift;
+\& my $class = ref($self) || $self;
+\& return bless {}, $class;
+\& }
+.Ve
+.Sp
+Pass arrays as references so more parameters can be added later
+(it's also faster). Convert functions into methods where
+appropriate. Split large methods into smaller more flexible ones.
+Inherit methods from other modules if appropriate.
+.Sp
+Avoid class name tests like: \f(CW\*(C`die "Invalid" unless ref $ref eq \*(AqFOO\*(Aq\*(C'\fR.
+Generally you can delete the \f(CW\*(C`eq \*(AqFOO\*(Aq\*(C'\fR part with no harm at all.
+Let the objects look after themselves! Generally, avoid hard-wired
+class names as far as possible.
+.Sp
+Avoid \f(CW\*(C`$r\->Class::func()\*(C'\fR where using \f(CW\*(C`@ISA=qw(... Class ...)\*(C'\fR and
+\&\f(CW\*(C`$r\->func()\*(C'\fR would work.
+.Sp
+Use autosplit so little used or newly added functions won't be a
+burden to programs that don't use them. Add test functions to
+the module after _\|_END_\|_ either using AutoSplit or by saying:
+.Sp
+.Vb 1
+\& eval join(\*(Aq\*(Aq,<main::DATA>) || die $@ unless caller();
+.Ve
+.Sp
+Does your module pass the 'empty subclass' test? If you say
+\&\f(CW\*(C`@SUBCLASS::ISA = qw(YOURCLASS);\*(C'\fR your applications should be able
+to use SUBCLASS in exactly the same way as YOURCLASS. For example,
+does your application still work if you change: \f(CW\*(C`$obj = YOURCLASS\->new();\*(C'\fR
+into: \f(CW\*(C`$obj = SUBCLASS\->new();\*(C'\fR ?
+.Sp
+Avoid keeping any state information in your packages. It makes it
+difficult for multiple other packages to use yours. Keep state
+information in objects.
+.Sp
+Always use \fB\-w\fR.
+.Sp
+Try to \f(CW\*(C`use strict;\*(C'\fR (or \f(CW\*(C`use strict qw(...);\*(C'\fR).
+Remember that you can add \f(CW\*(C`no strict qw(...);\*(C'\fR to individual blocks
+of code that need less strictness.
+.Sp
+Always use \fB\-w\fR.
+.Sp
+Follow the guidelines in perlstyle.
+.Sp
+Always use \fB\-w\fR.
+.IP \(bu 4
+Some simple style guidelines
+.Sp
+The perlstyle manual supplied with Perl has many helpful points.
+.Sp
+Coding style is a matter of personal taste. Many people evolve their
+style over several years as they learn what helps them write and
+maintain good code. Here's one set of assorted suggestions that
+seem to be widely used by experienced developers:
+.Sp
+Use underscores to separate words. It is generally easier to read
+\&\f(CW$var_names_like_this\fR than \f(CW$VarNamesLikeThis\fR, especially for
+non-native speakers of English. It's also a simple rule that works
+consistently with VAR_NAMES_LIKE_THIS.
+.Sp
+Package/Module names are an exception to this rule. Perl informally
+reserves lowercase module names for 'pragma' modules like integer
+and strict. Other modules normally begin with a capital letter and
+use mixed case with no underscores (need to be short and portable).
+.Sp
+You may find it helpful to use letter case to indicate the scope
+or nature of a variable. For example:
+.Sp
+.Vb 3
+\& $ALL_CAPS_HERE constants only (beware clashes with Perl vars)
+\& $Some_Caps_Here package\-wide global/static
+\& $no_caps_here function scope my() or local() variables
+.Ve
+.Sp
+Function and method names seem to work best as all lowercase.
+e.g., \f(CW\*(C`$obj\->as_string()\*(C'\fR.
+.Sp
+You can use a leading underscore to indicate that a variable or
+function should not be used outside the package that defined it.
+.IP \(bu 4
+Select what to export.
+.Sp
+Do NOT export method names!
+.Sp
+Do NOT export anything else by default without a good reason!
+.Sp
+Exports pollute the namespace of the module user. If you must
+export try to use \f(CW@EXPORT_OK\fR in preference to \f(CW@EXPORT\fR and avoid
+short or common names to reduce the risk of name clashes.
+.Sp
+Generally anything not exported is still accessible from outside the
+module using the ModuleName::item_name (or \f(CW\*(C`$blessed_ref\->method\*(C'\fR)
+syntax. By convention you can use a leading underscore on names to
+indicate informally that they are 'internal' and not for public use.
+.Sp
+(It is actually possible to get private functions by saying:
+\&\f(CW\*(C`my $subref = sub { ... }; &$subref;\*(C'\fR. But there's no way to call that
+directly as a method, because a method must have a name in the symbol
+table.)
+.Sp
+As a general rule, if the module is trying to be object oriented
+then export nothing. If it's just a collection of functions then
+\&\f(CW@EXPORT_OK\fR anything but use \f(CW@EXPORT\fR with caution.
+.IP \(bu 4
+Select a name for the module.
+.Sp
+This name should be as descriptive, accurate, and complete as
+possible. Avoid any risk of ambiguity. Always try to use two or
+more whole words. Generally the name should reflect what is special
+about what the module does rather than how it does it. Please use
+nested module names to group informally or categorize a module.
+There should be a very good reason for a module not to have a nested name.
+Module names should begin with a capital letter.
+.Sp
+Having 57 modules all called Sort will not make life easy for anyone
+(though having 23 called Sort::Quick is only marginally better :\-).
+Imagine someone trying to install your module alongside many others.
+.Sp
+If you are developing a suite of related modules/classes it's good
+practice to use nested classes with a common prefix as this will
+avoid namespace clashes. For example: Xyz::Control, Xyz::View,
+Xyz::Model etc. Use the modules in this list as a naming guide.
+.Sp
+If adding a new module to a set, follow the original author's
+standards for naming modules and the interface to methods in
+those modules.
+.Sp
+If developing modules for private internal or project specific use,
+that will never be released to the public, then you should ensure
+that their names will not clash with any future public module. You
+can do this either by using the reserved Local::* category or by
+using a category name that includes an underscore like Foo_Corp::*.
+.Sp
+To be portable each component of a module name should be limited to
+11 characters. If it might be used on MS-DOS then try to ensure each is
+unique in the first 8 characters. Nested modules make this easier.
+.Sp
+For additional guidance on the naming of modules, please consult:
+.Sp
+.Vb 1
+\& https://pause.perl.org/pause/query?ACTION=pause_namingmodules
+.Ve
+.Sp
+or send mail to the <module\-authors@perl.org> mailing list.
+.IP \(bu 4
+Have you got it right?
+.Sp
+How do you know that you've made the right decisions? Have you
+picked an interface design that will cause problems later? Have
+you picked the most appropriate name? Do you have any questions?
+.Sp
+The best way to know for sure, and pick up many helpful suggestions,
+is to ask someone who knows. The <module\-authors@perl.org> mailing list
+is useful for this purpose; it's also accessible via news interface as
+perl.module\-authors at nntp.perl.org.
+.Sp
+All you need to do is post a short summary of the module, its
+purpose and interfaces. A few lines on each of the main methods is
+probably enough. (If you post the whole module it might be ignored
+by busy people \- generally the very people you want to read it!)
+.Sp
+Don't worry about posting if you can't say when the module will be
+ready \- just say so in the message. It might be worth inviting
+others to help you, they may be able to complete it for you!
+.IP \(bu 4
+README and other Additional Files.
+.Sp
+It's well known that software developers usually fully document the
+software they write. If, however, the world is in urgent need of
+your software and there is not enough time to write the full
+documentation please at least provide a README file containing:
+.RS 4
+.IP \(bu 10
+A description of the module/package/extension etc.
+.IP \(bu 10
+A copyright notice \- see below.
+.IP \(bu 10
+Prerequisites \- what else you may need to have.
+.IP \(bu 10
+How to build it \- possible changes to Makefile.PL etc.
+.IP \(bu 10
+How to install it.
+.IP \(bu 10
+Recent changes in this release, especially incompatibilities
+.IP \(bu 10
+Changes / enhancements you plan to make in the future.
+.RE
+.RS 4
+.Sp
+If the README file seems to be getting too large you may wish to
+split out some of the sections into separate files: INSTALL,
+Copying, ToDo etc.
+.IP \(bu 4
+Adding a Copyright Notice.
+.Sp
+How you choose to license your work is a personal decision.
+The general mechanism is to assert your Copyright and then make
+a declaration of how others may copy/use/modify your work.
+.Sp
+Perl, for example, is supplied with two types of licence: The GNU GPL
+and The Artistic Licence (see the files README, Copying, and Artistic,
+or perlgpl and perlartistic). Larry has good reasons for NOT
+just using the GNU GPL.
+.Sp
+My personal recommendation, out of respect for Larry, Perl, and the
+Perl community at large is to state something simply like:
+.Sp
+.Vb 3
+\& Copyright (c) 1995 Your Name. All rights reserved.
+\& This program is free software; you can redistribute it and/or
+\& modify it under the same terms as Perl itself.
+.Ve
+.Sp
+This statement should at least appear in the README file. You may
+also wish to include it in a Copying file and your source files.
+Remember to include the other words in addition to the Copyright.
+.IP \(bu 4
+Give the module a version/issue/release number.
+.Sp
+To be fully compatible with the Exporter and MakeMaker modules you
+should store your module's version number in a non-my package
+variable called \f(CW$VERSION\fR. This should be a positive floating point
+number with at least two digits after the decimal (i.e., hundredths,
+e.g, \f(CW\*(C`$VERSION = "0.01"\*(C'\fR). Don't use a "1.3.2" style version.
+See Exporter for details.
+.Sp
+It may be handy to add a function or method to retrieve the number.
+Use the number in announcements and archive file names when
+releasing the module (ModuleName\-1.02.tar.Z).
+See perldoc ExtUtils::MakeMaker.pm for details.
+.IP \(bu 4
+How to release and distribute a module.
+.Sp
+If possible, register the module with CPAN. Follow the instructions
+and links on:
+.Sp
+.Vb 1
+\& https://www.cpan.org/modules/04pause.html
+.Ve
+.Sp
+and upload to:
+.Sp
+.Vb 1
+\& https://pause.perl.org/
+.Ve
+.Sp
+and notify <modules@perl.org>. This will allow anyone to install
+your module using the \f(CW\*(C`cpan\*(C'\fR tool distributed with Perl.
+.Sp
+By using the WWW interface you can ask the Upload Server to mirror
+your modules from your ftp or WWW site into your own directory on
+CPAN!
+.IP \(bu 4
+Take care when changing a released module.
+.Sp
+Always strive to remain compatible with previous released versions.
+Otherwise try to add a mechanism to revert to the
+old behavior if people rely on it. Document incompatible changes.
+.RE
+.RS 4
+.RE
+.SS "Guidelines for Converting Perl 4 Library Scripts into Modules"
+.IX Subsection "Guidelines for Converting Perl 4 Library Scripts into Modules"
+.IP \(bu 4
+There is no requirement to convert anything.
+.Sp
+If it ain't broke, don't fix it! Perl 4 library scripts should
+continue to work with no problems. You may need to make some minor
+changes (like escaping non-array @'s in double quoted strings) but
+there is no need to convert a .pl file into a Module for just that.
+.IP \(bu 4
+Consider the implications.
+.Sp
+All Perl applications that make use of the script will need to
+be changed (slightly) if the script is converted into a module. Is
+it worth it unless you plan to make other changes at the same time?
+.IP \(bu 4
+Make the most of the opportunity.
+.Sp
+If you are going to convert the script to a module you can use the
+opportunity to redesign the interface. The guidelines for module
+creation above include many of the issues you should consider.
+.IP \(bu 4
+The pl2pm utility will get you started.
+.Sp
+This utility will read *.pl files (given as parameters) and write
+corresponding *.pm files. The pl2pm utilities does the following:
+.RS 4
+.IP \(bu 10
+Adds the standard Module prologue lines
+.IP \(bu 10
+Converts package specifiers from ' to ::
+.IP \(bu 10
+Converts die(...) to croak(...)
+.IP \(bu 10
+Several other minor changes
+.RE
+.RS 4
+.Sp
+Being a mechanical process pl2pm is not bullet proof. The converted
+code will need careful checking, especially any package statements.
+Don't delete the original .pl file till the new .pm one works!
+.RE
+.SS "Guidelines for Reusing Application Code"
+.IX Subsection "Guidelines for Reusing Application Code"
+.IP \(bu 4
+Complete applications rarely belong in the Perl Module Library.
+.IP \(bu 4
+Many applications contain some Perl code that could be reused.
+.Sp
+Help save the world! Share your code in a form that makes it easy
+to reuse.
+.IP \(bu 4
+Break-out the reusable code into one or more separate module files.
+.IP \(bu 4
+Take the opportunity to reconsider and redesign the interfaces.
+.IP \(bu 4
+In some cases the 'application' can then be reduced to a small
+.Sp
+fragment of code built on top of the reusable modules. In these cases
+the application could invoked as:
+.Sp
+.Vb 3
+\& % perl \-e \*(Aquse Module::Name; method(@ARGV)\*(Aq ...
+\&or
+\& % perl \-mModule::Name ... (in perl5.002 or higher)
+.Ve
+.SH NOTE
+.IX Header "NOTE"
+Perl does not enforce private and public parts of its modules as you may
+have been used to in other languages like C++, Ada, or Modula\-17. Perl
+doesn't have an infatuation with enforced privacy. It would prefer
+that you stayed out of its living room because you weren't invited, not
+because it has a shotgun.
+.PP
+The module and its user have a contract, part of which is common law,
+and part of which is "written". Part of the common law contract is
+that a module doesn't pollute any namespace it wasn't asked to. The
+written contract for the module (A.K.A. documentation) may make other
+provisions. But then you know when you \f(CW\*(C`use RedefineTheWorld\*(C'\fR that
+you're redefining the world and willing to take the consequences.