This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perlopentut
[perl5.git] / pod / perlmodlib.pod
index 1fe814f..ab47e21 100644 (file)
@@ -47,14 +47,6 @@ The following pragmas are defined (and have their own documentation).
 
 =over 12
 
-=item assertions
-
-Select assertions in blocks of code
-
-=item assertions::activate
-
-Activate assertions
-
 =item attributes
 
 Get/set subroutine or variable attributes
@@ -69,7 +61,7 @@ Postpone load of modules until a function is used
 
 =item base
 
-Establish IS-A relationship with base class at compile time
+Establish IS-A relationship with base classes at compile time
 
 =item bigint
 
@@ -81,7 +73,7 @@ Transparent BigNumber support for Perl
 
 =item bigrat
 
-Transparent BigNumber/BigRationale support for Perl
+Transparent BigNumber/BigRational support for Perl
 
 =item blib
 
@@ -101,12 +93,20 @@ Declare constants
 
 =item diagnostics
 
-Perl compiler pragma to force verbose warning diagnostics
+Produce verbose warning diagnostics
 
 =item encoding
 
 Allows you to write your script in non-ascii or non-utf8
 
+=item encoding::warnings
+
+Warn on implicit encoding conversions
+
+=item feature
+
+Enable new syntactic features
+
 =item fields
 
 Compile-time class fields
@@ -125,7 +125,7 @@ Use integer arithmetic instead of floating point
 
 =item less
 
-Request less of something from the compiler
+Request less of something
 
 =item lib
 
@@ -135,6 +135,10 @@ Manipulate @INC at compile time
 
 Use and avoid POSIX locales for built-in operations
 
+=item mro
+
+Method Resolution Order
+
 =item open
 
 Set default PerlIO layers for input and output
@@ -145,7 +149,7 @@ Restrict unsafe operations when compiling
 
 =item overload
 
-Package for overloading perl operations
+Package for overloading Perl operations
 
 =item re
 
@@ -169,7 +173,7 @@ Predeclare sub names
 
 =item threads
 
-Perl extension allowing use of interpreter based threads from perl
+Perl interpreter-based threads
 
 =item threads::shared
 
@@ -217,6 +221,18 @@ don't have the gdbm library.
 
 Provide framework for multiple DBMs
 
+=item Archive::Extract
+
+A generic archive extracting mechanism
+
+=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
@@ -233,30 +249,6 @@ Split a package for autoloading
 
 The Perl Compiler
 
-=item B::Asmdata
-
-Autogenerated data about Perl ops, used to generate bytecode
-
-=item B::Assembler
-
-Assemble Perl bytecode
-
-=item B::Bblock
-
-Walk basic blocks
-
-=item B::Bytecode
-
-Perl compiler's bytecode backend
-
-=item B::C
-
-Perl compiler's C backend
-
-=item B::CC
-
-Perl compiler's optimized C translation backend
-
 =item B::Concise
 
 Walk Perl syntax tree, printing concise info about ops
@@ -269,10 +261,6 @@ Walk Perl syntax tree, printing debug info about ops
 
 Perl compiler backend to produce perl code
 
-=item B::Disassembler
-
-Disassemble Perl bytecode
-
 =item B::Lint
 
 Perl lint
@@ -281,14 +269,6 @@ Perl lint
 
 Show lexical variables used in functions or files
 
-=item B::Stackobj
-
-Helper module for CC backend
-
-=item B::Stash
-
-Show what stashes are loaded
-
 =item B::Terse
 
 Walk Perl syntax tree, printing terse info about ops
@@ -301,10 +281,6 @@ Generates cross reference reports for Perl programs
 
 Benchmark running times of Perl code
 
-=item ByteLoader
-
-Load byte compiled perl code
-
 =item CGI
 
 Simple Common Gateway Interface Class
@@ -349,17 +325,45 @@ Query, download and build perl modules from CPAN sites
 
 Utility for CPAN::Config file Initialization
 
+=item CPAN::Kwalify
+
+Interface between CPAN.pm and Kwalify.pm
+
 =item CPAN::Nox
 
 Wrapper around CPAN.pm without using any XS module
 
+=item CPAN::Version
+
+Utility functions to compare CPAN versions
+
+=item CPANPLUS
+
+API & CLI access to the CPAN mirrors
+
+=item CPANPLUS::Dist::Base
+
+Base class for custom distribution classes
+
+=item CPANPLUS::Dist::Sample
+
+Sample code to create your own Dist::* plugin
+
+=item CPANPLUS::Shell::Classic
+
+CPAN.pm emulation for CPANPLUS
+
+=item CPANPLUS::Shell::Default::Plugins::HOWTO
+
+Documentation on how to write your own plugins
+
 =item Carp
 
 Warn of errors (from perspective of caller)
 
 =item Carp::Heavy
 
-No user serviceable parts inside
+Heavy machinery, no user serviceable parts inside
 
 =item Class::ISA
 
@@ -369,6 +373,14 @@ Report the search path for a class's ISA tree
 
 Declare struct-like datatypes as Perl classes
 
+=item Compress::Raw::Zlib
+
+Low-Level Interface to zlib compression library
+
+=item Compress::Zlib
+
+Interface to zlib compression library
+
 =item Config
 
 Access Perl configuration information
@@ -381,6 +393,30 @@ Get pathname of current working directory
 
 Programmatic interface to the Perl debugging API (draft, subject to
 
+=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
@@ -393,9 +429,9 @@ Stringified perl data structures, suitable for both printing and C<eval>
 
 A Perl code profiler
 
-=item Devel::PPPort
+=item Devel::InnerPackage
 
-Perl/Pollution/Portability
+Find all the inner packages of a package
 
 =item Devel::Peek
 
@@ -413,6 +449,18 @@ Modules that calculate message digests
 
 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
 
 Supply object methods for directory handles
@@ -465,6 +513,10 @@ Object Oriented Encoder
 
 Encode Implementation Base Class
 
+=item Encode::GSM0338
+
+ESTI GSM 03.38 Encoding
+
 =item Encode::Guess
 
 Guesses encoding from data
@@ -493,6 +545,10 @@ Internally used by Encode::KR
 
 MIME 'B' and 'Q' header encoding
 
+=item Encode::MIME::Name
+
+Internally used by Encode
+
 =item Encode::PerlIO
 
 A detailed document on Encode and PerlIO
@@ -537,6 +593,14 @@ Implements default import method for modules
 
 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.
@@ -549,6 +613,18 @@ Commands for the MM's to use in Makefiles
 
 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
+
+Base class for ExtUtils::Constant objects
+
 =item ExtUtils::Embed
 
 Utilities for embedding Perl in C/C++ applications
@@ -569,9 +645,13 @@ Determine libraries to use and how to use them
 
 OS adjusted ExtUtils::MakeMaker subclass
 
+=item ExtUtils::MM_AIX
+
+AIX specific subclass of ExtUtils::MM_Unix
+
 =item ExtUtils::MM_Any
 
-Platform agnostic MM methods
+Platform-agnostic MM methods
 
 =item ExtUtils::MM_BeOS
 
@@ -587,7 +667,7 @@ DOS specific subclass of ExtUtils::MM_Unix
 
 =item ExtUtils::MM_MacOS
 
-Methods to override UN*X behaviour in ExtUtils::MakeMaker
+Once produced Makefiles for MacOS Classic
 
 =item ExtUtils::MM_NW5
 
@@ -597,6 +677,10 @@ Methods to override UN*X behaviour in ExtUtils::MakeMaker
 
 Methods to override UN*X behaviour in ExtUtils::MakeMaker
 
+=item ExtUtils::MM_QNX
+
+QNX specific subclass of ExtUtils::MM_Unix
+
 =item ExtUtils::MM_UWIN
 
 U/WIN specific subclass of ExtUtils::MM_Unix
@@ -609,6 +693,10 @@ Methods used by ExtUtils::MakeMaker
 
 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
@@ -625,6 +713,10 @@ ExtUtils::MakeMaker subclass for customization
 
 Create a module Makefile
 
+=item ExtUtils::MakeMaker::Config
+
+Wrapper around Config.pm
+
 =item ExtUtils::MakeMaker::FAQ
 
 Frequently Asked Questions About MakeMaker
@@ -635,11 +727,11 @@ Writing a module with MakeMaker
 
 =item ExtUtils::MakeMaker::bytes
 
-Version agnostic bytes.pm
+Version-agnostic bytes.pm
 
 =item ExtUtils::MakeMaker::vmsish
 
-Platform agnostic vmsish.pm
+Platform-agnostic vmsish.pm
 
 =item ExtUtils::Manifest
 
@@ -657,6 +749,10 @@ Write linker options files for dynamic extension
 
 Manage .packlist files
 
+=item ExtUtils::ParseXS
+
+Converts Perl XS code into C code
+
 =item ExtUtils::testlib
 
 Add blib/* directories to @INC
@@ -671,7 +767,7 @@ Load the C Fcntl.h defines
 
 =item File::Basename
 
-Split a pathname into pieces
+Parse file paths into directory, filename and suffix.
 
 =item File::CheckTree
 
@@ -689,6 +785,10 @@ Copy files or filehandles
 
 DOS like globbing and then some
 
+=item File::Fetch
+
+A generic file fetching mechanism
+
 =item File::Find
 
 Traverse a directory tree.
@@ -697,6 +797,10 @@ Traverse a directory tree.
 
 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
@@ -781,6 +885,10 @@ Process single-character switches with switch clustering
 
 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
@@ -789,6 +897,10 @@ Compare 8-bit scalar data according to the current locale
 
 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
@@ -801,6 +913,26 @@ Query locale information
 
 Load various IO modules
 
+=item IO::Compress::Base
+
+Base Class for IO::Compress modules 
+
+=item IO::Compress::Deflate
+
+Write RFC 1950 files/buffers
+
+=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
@@ -841,6 +973,42 @@ Object interface for AF_INET domain sockets
 
 Object interface for AF_UNIX domain sockets
 
+=item IO::Uncompress::AnyInflate
+
+Uncompress zlib-based (zip, gzip) file/buffer
+
+=item IO::Uncompress::AnyUncompress
+
+Uncompress gzip, zip, bzip2 or lzop file/buffer
+
+=item IO::Uncompress::Base
+
+Base Class for IO::Uncompress modules 
+
+=item IO::Uncompress::Gunzip
+
+Read RFC 1952 files/buffers
+
+=item IO::Uncompress::Inflate
+
+Read RFC 1950 files/buffers
+
+=item IO::Uncompress::RawInflate
+
+Read RFC 1951 files/buffers
+
+=item IO::Uncompress::Unzip
+
+Read zip files/buffers
+
+=item IO::Zlib
+
+IO:: style interface to L<Compress::Zlib>
+
+=item IPC::Cmd
+
+Finding and running system commands made easy
+
 =item IPC::Open2
 
 Open a process for both reading and writing
@@ -885,6 +1053,10 @@ ISO two letter codes for language identification (ISO 639)
 
 Framework for localization
 
+=item Locale::Maketext::Simple
+
+Simple interface to Locale::Maketext::Lexicon
+
 =item Locale::Maketext::TPJ13
 
 Article about software localization
@@ -893,6 +1065,22 @@ Article about software localization
 
 ISO codes for script identification (ISO 15924)
 
+=item Log::Message
+
+A generic message storing mechanism;
+
+=item Log::Message::Config
+
+Configuration options for Log::Message
+
+=item Log::Message::Handlers
+
+Message handlers for Log::Message
+
+=item Log::Message::Item
+
+Message objects for Log::Message
+
 =item MIME::Base64
 
 Encoding and decoding of base64 strings
@@ -907,19 +1095,23 @@ Arbitrary size floating point math package
 
 =item Math::BigInt
 
-Arbitrary size integer math package
+Arbitrary size integer/float math package
 
 =item Math::BigInt::Calc
 
 Pure Perl module to support Math::BigInt
 
-=item Math::BigInt::Scalar
+=item Math::BigInt::CalcEmu
 
-Pure Perl module to test Math::BigInt with scalars
+Emulate low-level math with BigInt code
+
+=item Math::BigInt::FastCalc
+
+Math::BigInt::Calc with some XS for more speed
 
 =item Math::BigRat
 
-Arbitrarily big rationales
+Arbitrary big rational numbers
 
 =item Math::Complex
 
@@ -961,13 +1153,137 @@ Glue to provide EXISTS for SDBM_File for Storable use
 
 Store Memoized data in Storable database
 
+=item Module::Build
+
+Build and install Perl modules
+
+=item Module::Build::API
+
+API Reference for Module Authors
+
+=item Module::Build::Authoring
+
+Authoring Module::Build modules
+
+=item Module::Build::Base
+
+Default methods for Module::Build
+
+=item Module::Build::Compat
+
+Compatibility with ExtUtils::MakeMaker
+
+=item Module::Build::ConfigData
+
+Configuration for Module::Build
+
+=item Module::Build::Cookbook
+
+Examples of Module::Build Usage
+
+=item Module::Build::ModuleInfo
+
+Gather package and POD information from a perl module files
+
+=item Module::Build::Notes
+
+Configuration for $module_name
+
+=item Module::Build::PPMMaker
+
+Perl Package Manager file creation
+
+=item Module::Build::Platform::Amiga
+
+Builder class for Amiga platforms
+
+=item Module::Build::Platform::Default
+
+Stub class for unknown platforms
+
+=item Module::Build::Platform::EBCDIC
+
+Builder class for EBCDIC platforms
+
+=item Module::Build::Platform::MPEiX
+
+Builder class for MPEiX platforms
+
+=item Module::Build::Platform::MacOS
+
+Builder class for MacOS platforms
+
+=item Module::Build::Platform::RiscOS
+
+Builder class for RiscOS platforms
+
+=item Module::Build::Platform::Unix
+
+Builder class for Unix platforms
+
+=item Module::Build::Platform::VMS
+
+Builder class for VMS platforms
+
+=item Module::Build::Platform::VOS
+
+Builder class for VOS platforms
+
+=item Module::Build::Platform::Windows
+
+Builder class for Windows platforms
+
+=item Module::Build::Platform::aix
+
+Builder class for AIX platform
+
+=item Module::Build::Platform::cygwin
+
+Builder class for Cygwin platform
+
+=item Module::Build::Platform::darwin
+
+Builder class for Mac OS X platform
+
+=item Module::Build::Platform::os2
+
+Builder class for OS/2 platform
+
+=item Module::Build::YAML
+
+Provides just enough YAML support so that Module::Build works even if YAML.pm is not installed
+
+=item Module::CoreList
+
+What modules shipped with versions of perl
+
+=item Module::Load
+
+Runtime require of both modules and files
+
+=item Module::Load::Conditional
+
+Looking up module information / loading at runtime
+
+=item Module::Loaded
+
+Mark modules as loaded or unloaded
+
+=item Module::Pluggable
+
+Automatically give your module the ability to have plugins
+
+=item Module::Pluggable::Object
+
+Automatically give your module the ability to have plugins
+
 =item NDBM_File
 
 Tied access to ndbm files
 
 =item NEXT
 
-Provide a pseudo-class NEXT that allows method redispatch
+Provide a pseudo-class NEXT (et al) that allows method redispatch
 
 =item Net::Cmd
 
@@ -1045,6 +1361,14 @@ Disable named opcodes when compiling perl code
 
 Perl interface to IEEE Std 1003.1
 
+=item Package::Constants
+
+List all constants declared in a package
+
+=item Params::Check
+
+A generic input parsing/checking mechanism.
+
 =item PerlIO
 
 On demand loader for PerlIO layers and root of PerlIO::* name space
@@ -1055,7 +1379,7 @@ Encoding layer
 
 =item PerlIO::scalar
 
-Support module for in-memory IO.
+In-memory IO, scalar IO
 
 =item PerlIO::via
 
@@ -1069,6 +1393,10 @@ PerlIO layer for quoted-printable strings
 
 Check pod documents for syntax errors
 
+=item Pod::Escapes
+
+For resolving Pod EE<lt>...E<gt> sequences
+
 =item Pod::Find
 
 Find POD documents in directory trees
@@ -1149,6 +1477,90 @@ Perl extension for converting Pod to old style Pod.
 
 Extract selected sections of POD from input
 
+=item Pod::Simple
+
+Framework for parsing Pod
+
+=item Pod::Simple::Checker
+
+Check the Pod syntax of a document
+
+=item Pod::Simple::Debug
+
+Put Pod::Simple into trace/debug mode
+
+=item Pod::Simple::DumpAsText
+
+Dump Pod-parsing events as text
+
+=item Pod::Simple::DumpAsXML
+
+Turn Pod into XML
+
+=item Pod::Simple::HTML
+
+Convert Pod to HTML
+
+=item Pod::Simple::HTMLBatch
+
+Convert several Pod files to several HTML files
+
+=item Pod::Simple::LinkSection
+
+Represent "section" attributes of L codes
+
+=item Pod::Simple::Methody
+
+Turn Pod::Simple events into method calls
+
+=item Pod::Simple::PullParser
+
+A pull-parser interface to parsing Pod
+
+=item Pod::Simple::PullParserEndToken
+
+End-tokens from Pod::Simple::PullParser
+
+=item Pod::Simple::PullParserStartToken
+
+Start-tokens from Pod::Simple::PullParser
+
+=item Pod::Simple::PullParserTextToken
+
+Text-tokens from Pod::Simple::PullParser
+
+=item Pod::Simple::PullParserToken
+
+Tokens from Pod::Simple::PullParser
+
+=item Pod::Simple::RTF
+
+Format Pod as RTF
+
+=item Pod::Simple::Search
+
+Find POD documents in directory trees
+
+=item Pod::Simple::SimpleTree
+
+Parse Pod into a simple parse tree 
+
+=item Pod::Simple::Subclassing
+
+Write a formatter as a Pod::Simple subclass
+
+=item Pod::Simple::Text
+
+Format Pod as plaintext
+
+=item Pod::Simple::TextContent
+
+Get the text content of Pod
+
+=item Pod::Simple::XMLOutStream
+
+Turn Pod into XML
+
 =item Pod::Text
 
 Convert POD data to formatted ASCII text
@@ -1237,6 +1649,10 @@ Perl word completion module
 
 Perl interface to various C<readline> packages.
 
+=item Term::UI
+
+Term::ReadLine UI made easy
+
 =item Test
 
 Provides a simple framework for writing test scripts
@@ -1245,9 +1661,21 @@ Provides a simple framework for writing test scripts
 
 Backend for building test libraries
 
+=item Test::Builder::Module
+
+Base class for test modules
+
+=item Test::Builder::Tester
+
+Test testsuites that have been built with
+
+=item Test::Builder::Tester::Color
+
+Turn on colour in Test::Builder::Tester
+
 =item Test::Harness
 
-Run perl standard test scripts with statistics
+Run Perl standard test scripts with statistics
 
 =item Test::Harness::Assert
 
@@ -1257,10 +1685,26 @@ Simple assert
 
 Internal Test::Harness Iterator
 
+=item Test::Harness::Point
+
+Object for tracking a single test point
+
+=item Test::Harness::Results
+
+Object for tracking results from a single test file
+
 =item Test::Harness::Straps
 
 Detailed analysis of test results
 
+=item Test::Harness::TAP
+
+Documentation for the TAP format
+
+=item Test::Harness::Util
+
+Utility functions for Test::Harness::*
+
 =item Test::More
 
 Yet another framework for writing test scripts
@@ -1309,14 +1753,6 @@ Thread-safe queues
 
 Thread-safe semaphores
 
-=item Thread::Signal
-
-Start a thread which runs signal handlers reliably (for old code)
-
-=item Thread::Specific
-
-Thread-specific keys
-
 =item Tie::Array
 
 Base class for tied arrays
@@ -1333,6 +1769,10 @@ Base class definitions for tied handles
 
 Base class definitions for tied hashes
 
+=item Tie::Hash::NamedCapture
+
+Named regexp capture buffers
+
 =item Tie::Memoize
 
 Add data to hash when needed
@@ -1357,6 +1797,14 @@ High resolution alarm, sleep, gettimeofday, interval timers
 
 Efficiently compute time from local and GMT time
 
+=item Time::Piece
+
+Object Oriented time objects
+
+=item Time::Piece::Seconds
+
+A simple API to convert seconds to other date values
+
 =item Time::gmtime
 
 By-name interface to Perl's built-in gmtime() function
@@ -1397,6 +1845,10 @@ By-name interface to Perl's built-in getpw*() functions
 
 Interfaces to some Win32 API Functions
 
+=item Win32API::File
+
+Low-level access to Win32 system API calls for files/dirs.
+
 =item XS::APItest
 
 Test the perl C API
@@ -1608,10 +2060,10 @@ You should try to choose one close to you.
 
                       ftp://ftp.u-aizu.ac.jp/pub/CPAN
                       ftp://ftp.kddlabs.co.jp/CPAN/
-                      http://mirror.nucba.ac.jp/mirror/Perl/
-                      ftp://mirror.nucba.ac.jp/mirror/Perl/
                       ftp://ftp.ayamura.org/pub/CPAN/
                       ftp://ftp.jaist.ac.jp/pub/lang/perl/CPAN/
+                      http://ftp.cpan.jp/
+                      ftp://ftp.cpan.jp/CPAN/
                       ftp://ftp.dti.ad.jp/pub/lang/CPAN/
                       ftp://ftp.ring.gr.jp/pub/lang/perl/CPAN/
 
@@ -1624,7 +2076,7 @@ You should try to choose one close to you.
 =item Russian Federation
 
                       http://cpan.tomsk.ru
-                      ftp://cpan.tomsk.ru/pub/CPAN
+                      ftp://cpan.tomsk.ru/
 
 =item Saudi Arabia
 
@@ -1656,6 +2108,7 @@ You should try to choose one close to you.
                       ftp://ftp1.sinica.edu.tw/pub1/perl/CPAN/
                       http://ftp.tku.edu.tw/pub/CPAN/
                       ftp://ftp.tku.edu.tw/pub/CPAN/
+
 =item Thailand
 
                       ftp://ftp.loxinfo.co.th/pub/cpan/
@@ -1680,6 +2133,8 @@ You should try to choose one close to you.
 
 =item Austria
 
+                      http://cpan.inode.at/
+                      ftp://cpan.inode.at
                       ftp://ftp.tuwien.ac.at/pub/CPAN/
 
 =item Belgium
@@ -1690,6 +2145,10 @@ You should try to choose one close to you.
                       ftp://ftp.cpan.skynet.be/pub/CPAN
                       ftp://ftp.kulnet.kuleuven.ac.be/pub/mirror/CPAN/
 
+=item Bosnia and Herzegovina
+
+                      http://cpan.blic.net/
+
 =item Bulgaria
 
                       http://cpan.online.bg
@@ -1706,7 +2165,6 @@ You should try to choose one close to you.
 
 =item Czech Republic
 
-                      http://ftp.fi.muni.cz/pub/CPAN/
                       ftp://ftp.fi.muni.cz/pub/CPAN/
                       ftp://sunsite.mff.cuni.cz/MIRRORS/ftp.funet.fi/pub/languages/perl/CPAN/
 
@@ -1745,7 +2203,6 @@ You should try to choose one close to you.
                       ftp://ftp.crihan.fr/mirrors/ftp.cpan.org/
                       http://ftp.u-strasbg.fr/CPAN
                       ftp://ftp.u-strasbg.fr/CPAN
-                      http://cpan.cict.fr/
                       ftp://cpan.cict.fr/pub/CPAN/
                       ftp://ftp.uvsq.fr/pub/perl/CPAN/
 
@@ -1834,6 +2291,7 @@ You should try to choose one close to you.
 
 =item Poland
 
+                      ftp://ftp.mega.net.pl/CPAN
                       ftp://ftp.man.torun.pl/pub/doc/CPAN/
                       ftp://sunsite.icm.edu.pl/pub/CPAN/
 
@@ -1855,6 +2313,7 @@ You should try to choose one close to you.
 
                       ftp://ftp.bio-net.ro/pub/CPAN
                       ftp://ftp.kappa.ro/pub/mirrors/ftp.perl.org/pub/CPAN/
+                      ftp://ftp.lug.ro/CPAN
                       ftp://ftp.roedu.net/pub/CPAN/
                       ftp://ftp.dntis.ro/pub/cpan/
                       ftp://ftp.iasi.roedu.net/pub/mirrors/ftp.cpan.org/
@@ -1870,6 +2329,7 @@ You should try to choose one close to you.
                       http://cpan.rinet.ru/
                       ftp://cpan.rinet.ru/pub/mirror/CPAN/
                       ftp://ftp.aha.ru/pub/CPAN/
+                      ftp://ftp.corbina.ru/pub/CPAN/
                       http://cpan.sai.msu.ru/
                       ftp://ftp.sai.msu.su/pub/lang/perl/CPAN/
 
@@ -1885,7 +2345,7 @@ You should try to choose one close to you.
 
                       http://cpan.imasd.elmundo.es/
                       ftp://ftp.rediris.es/mirror/CPAN/
-                      ftp.ri.telefonica-data.net
+                      ftp://ftp.ri.telefonica-data.net/CPAN
                       ftp://ftp.etse.urv.es/pub/perl/
 
 =item Sweden
@@ -1898,6 +2358,8 @@ You should try to choose one close to you.
 
 =item Switzerland
 
+                      http://cpan.mirror.solnet.ch/
+                      ftp://ftp.solnet.ch/mirror/CPAN/
                       ftp://ftp.danyk.ch/CPAN/
                       ftp://sunsite.cnlab-switch.ch/mirror/CPAN/
 
@@ -1923,6 +2385,8 @@ You should try to choose one close to you.
                       ftp://cpan.teleglobe.net/pub/CPAN
                       http://cpan.mirror.anlx.net/
                       ftp://ftp.mirror.anlx.net/CPAN/
+                      http://cpan.etla.org/
+                      ftp://cpan.etla.org/pub/CPAN
                       ftp://ftp.demon.co.uk/pub/CPAN/
                       http://cpan.m.flirble.org/
                       ftp://ftp.flirble.org/pub/languages/perl/CPAN/
@@ -1940,7 +2404,7 @@ You should try to choose one close to you.
 
 =item Canada
 
-=over 4
+=over 8
 
 =item Alberta
 
@@ -1960,20 +2424,20 @@ You should try to choose one close to you.
 
                       ftp://ftp.nrc.ca/pub/CPAN/
 
+=back
+
 =item Mexico
 
                       http://cpan.azc.uam.mx
                       ftp://cpan.azc.uam.mx/mirrors/CPAN
-                      http://cpan.unam.mx/
-                      ftp://cpan.unam.mx/pub/CPAN
+                      http://www.cpan.unam.mx/
+                      ftp://ftp.unam.mx/pub/CPAN
                       http://www.msg.com.mx/CPAN/
                       ftp://ftp.msg.com.mx/pub/CPAN/
 
-=back
-
 =item United States
 
-=over 4
+=over 8
 
 =item Alabama
 
@@ -1985,17 +2449,23 @@ You should try to choose one close to you.
                       http://cpan.develooper.com/
                       http://www.cpan.org/
                       ftp://cpan.valueclick.com/pub/CPAN/
+                      http://www.mednor.net/ftp/pub/mirrors/CPAN/
+                      ftp://ftp.mednor.net/pub/mirrors/CPAN/
                       http://mirrors.gossamer-threads.com/CPAN
                       ftp://cpan.nas.nasa.gov/pub/perl/CPAN/
                       http://mirrors.kernel.org/cpan/
                       ftp://mirrors.kernel.org/pub/CPAN
+                      http://cpan-sj.viaverio.com/
+                      ftp://cpan-sj.viaverio.com/pub/CPAN/
                       http://cpan.digisle.net/
                       ftp://cpan.digisle.net/pub/CPAN
                       http://www.perl.com/CPAN/
+                      http://www.uberlan.net/CPAN
 
 =item Colorado
 
                       ftp://ftp.cs.colorado.edu/pub/perl/CPAN/
+                      http://cpan.four10.com
 
 =item Delaware
 
@@ -2013,11 +2483,6 @@ You should try to choose one close to you.
                       ftp://mirror.csit.fsu.edu/pub/CPAN/
                       http://cpan.mirrors.nks.net/
 
-=item Illinois
-
-                      http://uiarchive.uiuc.edu/mirrors/ftp/cpan.cse.msu.edu/
-                      ftp://uiarchive.uiuc.edu/mirrors/ftp/cpan.cse.msu.edu/
-
 =item Indiana
 
                       ftp://ftp.uwsg.iu.edu/pub/perl/CPAN/
@@ -2046,6 +2511,8 @@ You should try to choose one close to you.
 =item Michigan
 
                       ftp://cpan.cse.msu.edu/
+                      http://cpan.calvin.edu/pub/CPAN
+                      ftp://cpan.calvin.edu/pub/CPAN
 
 =item Nevada
 
@@ -2072,6 +2539,8 @@ You should try to choose one close to you.
 
 =item North Carolina
 
+                      http://www.ibiblio.org/pub/languages/perl/CPAN
+                      ftp://ftp.ibiblio.org/pub/languages/perl/CPAN
                       ftp://ftp.duke.edu/pub/perl/
                       ftp://ftp.ncsu.edu/pub/mirror/CPAN/
 
@@ -2110,6 +2579,8 @@ You should try to choose one close to you.
 
 =item Virginia
 
+                      http://cpan-du.viaverio.com/
+                      ftp://cpan-du.viaverio.com/pub/CPAN/
                       http://mirrors.rcn.net/pub/lang/CPAN/
                       ftp://mirrors.rcn.net/pub/lang/CPAN/
                       http://perl.secsup.org/
@@ -2128,6 +2599,8 @@ You should try to choose one close to you.
 
                       http://mirror.sit.wisc.edu/pub/CPAN/
                       ftp://mirror.sit.wisc.edu/pub/CPAN/
+                      http://mirror.aphix.com/CPAN
+                      ftp://mirror.aphix.com/pub/CPAN
 
 =back
 
@@ -2143,6 +2616,7 @@ You should try to choose one close to you.
                       ftp://ftp.planetmirror.com/pub/CPAN/
                       ftp://mirror.aarnet.edu.au/pub/perl/CPAN/
                       ftp://cpan.topend.com.au/pub/CPAN/
+                      http://cpan.mirrors.ilisys.com.au
 
 =item New Zealand
 
@@ -2181,39 +2655,45 @@ You should try to choose one close to you.
 
 =head2 RSYNC Mirrors
 
-                     ftp.shellhung.org::CPAN
-                     ftp.cbn.net.id::CPAN
-                     ftp.iglu.org.il::CPAN
-                     ftp.kddlabs.co.jp::cpan
-                     ftp.ayamura.org::pub/CPAN/
-                     mirror.leafbug.org::CPAN
-                     rsync.en.com.sg::CPAN
-                     mirror.averse.net::cpan
-                     rsync.oss.eznetsols.org
-                     ftp.kr.FreeBSD.org::CPAN
-                     cpan.cdpa.nsysu.edu.tw::CPAN
-                     rsync.nic.funet.fi::CPAN
-                     ftp.u-paris10.fr::CPAN
-                     mir1.ovh.net::CPAN
-                     ftp.crihan.fr::CPAN
-                     ftp.gwdg.de::FTP/languages/perl/CPAN/
-                     ftp.leo.org::CPAN
-                     ftp.heanet.ie/mirrors/ftp.perl.org/pub/CPAN
-                     gusp.dyndns.org::cpan
-                     cpan.teleglobe.net::CPAN
-                     rsync://rsync.mirror.anlx.net::CPAN
-                     theoryx5.uwinnipeg.ca::CPAN
-                     ftp.sedl.org::cpan
-                     archive.progeny.com::CPAN
-                     slugsite.louisville.edu::CPAN
-                     cpan.teleglobe.net::CPAN
-                     ftp.lug.udel.edu::cpan
-                     mirrors.kernel.org::mirrors/CPAN
-                     mirrors.phenominet.com::CPAN
-                     mirror.csit.fsu.edu::CPAN
-                     csociety-ftp.ecn.purdue.edu::CPAN
-                     aniani.ifa.hawaii.edu::CPAN
-                     www.linux.org.ar::cpan
+                      www.linux.org.ar::cpan
+                      theoryx5.uwinnipeg.ca::CPAN
+                      ftp.shellhung.org::CPAN
+                      rsync.nic.funet.fi::CPAN
+                      ftp.u-paris10.fr::CPAN
+                      mir1.ovh.net::CPAN
+                      rsync://ftp.crihan.fr::CPAN
+                      ftp.gwdg.de::FTP/languages/perl/CPAN/
+                      ftp.leo.org::CPAN
+                      ftp.cbn.net.id::CPAN
+                      rsync://ftp.heanet.ie/mirrors/ftp.perl.org/pub/CPAN
+                      ftp.iglu.org.il::CPAN
+                      gusp.dyndns.org::cpan
+                      ftp.kddlabs.co.jp::cpan
+                      ftp.ayamura.org::pub/CPAN/
+                      mirror.leafbug.org::CPAN
+                      rsync.en.com.sg::CPAN
+                      mirror.averse.net::cpan
+                      rsync.oss.eznetsols.org
+                      ftp.kr.FreeBSD.org::CPAN
+                      ftp.solnet.ch::CPAN
+                      cpan.cdpa.nsysu.edu.tw::CPAN
+                      cpan.teleglobe.net::CPAN
+                      rsync://rsync.mirror.anlx.net::CPAN
+                      ftp.sedl.org::cpan
+                      ibiblio.org::CPAN
+                      cpan-du.viaverio.com::CPAN
+                      aniani.ifa.hawaii.edu::CPAN
+                      archive.progeny.com::CPAN
+                      rsync://slugsite.louisville.edu::CPAN
+                      mirror.aphix.com::CPAN
+                      cpan.teleglobe.net::CPAN
+                      ftp.lug.udel.edu::cpan
+                      mirrors.kernel.org::mirrors/CPAN
+                      mirrors.phenominet.com::CPAN
+                      cpan.pair.com::CPAN
+                      cpan-sj.viaverio.com::CPAN
+                      mirror.csit.fsu.edu::CPAN
+                      csociety-ftp.ecn.purdue.edu::CPAN
 
 For an up-to-date listing of CPAN sites,
 see http://www.cpan.org/SITES or ftp://www.cpan.org/SITES .
@@ -2308,8 +2788,8 @@ the module after __END__ either using AutoSplit or by saying:
 Does your module pass the 'empty subclass' test? If you say
 C<@SUBCLASS::ISA = qw(YOURCLASS);> 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:  C<$obj = new YOURCLASS;>
-into: C<$obj = new SUBCLASS;> ?
+does your application still work if you change:  C<< $obj = YOURCLASS->new(); >>
+into: C<< $obj = SUBCLASS->new(); >> ?
 
 Avoid keeping any state information in your packages. It makes it
 difficult for multiple other packages to use yours. Keep state