1PERLMODLIB(1)          Perl Programmers Reference Guide          PERLMODLIB(1)
2
3
4

NAME

6       perlmodlib - constructing new Perl modules and finding existing ones
7

THE PERL MODULE LIBRARY

9       Many modules are included in the Perl distribution.  These are
10       described below, and all end in .pm.  You may discover compiled library
11       files (usually ending in .so) or small pieces of modules to be
12       autoloaded (ending in .al); these were automatically generated by the
13       installation process.  You may also discover files in the library
14       directory that end in either .pl or .ph.  These are old libraries
15       supplied so that old programs that use them still run.  The .pl files
16       will all eventually be converted into standard modules, and the .ph
17       files made by h2ph will probably end up as extension modules made by
18       h2xs.  (Some .ph values may already be available through the POSIX,
19       Errno, or Fcntl modules.)  The pl2pm file in the distribution may help
20       in your conversion, but it's just a mechanical process and therefore
21       far from bulletproof.
22
23   Pragmatic Modules
24       They work somewhat like compiler directives (pragmata) in that they
25       tend to affect the compilation of your program, and thus will usually
26       work well only when used within a "use", or "no".  Most of these are
27       lexically scoped, so an inner BLOCK may countermand them by saying:
28
29           no integer;
30           no strict 'refs';
31           no warnings;
32
33       which lasts until the end of that BLOCK.
34
35       Some pragmas are lexically scoped--typically those that affect the $^H
36       hints variable.  Others affect the current package instead, like "use
37       vars" and "use subs", which allow you to predeclare a variables or
38       subroutines within a particular file rather than just a block.  Such
39       declarations are effective for the entire file for which they were
40       declared.  You cannot rescind them with "no vars" or "no subs".
41
42       The following pragmas are defined (and have their own documentation).
43
44       attributes  Get/set subroutine or variable attributes
45
46       autodie     Replace functions with ones that succeed or die with
47                   lexical scope
48
49       autodie::exception
50                   Exceptions from autodying functions.
51
52       autodie::exception::system
53                   Exceptions from autodying system().
54
55       autodie::hints
56                   Provide hints about user subroutines to autodie
57
58       autouse     Postpone load of modules until a function is used
59
60       base        Establish an ISA relationship with base classes at compile
61                   time
62
63       bigint      Transparent BigInteger support for Perl
64
65       bignum      Transparent BigNumber support for Perl
66
67       bigrat      Transparent BigNumber/BigRational support for Perl
68
69       blib        Use MakeMaker's uninstalled version of a package
70
71       bytes       Force byte semantics rather than character semantics
72
73       charnames   Define character names for "\N{named}" string literal
74                   escapes
75
76       constant    Declare constants
77
78       deprecate   Perl pragma for deprecating the core version of a module
79
80       diagnostics Produce verbose warning diagnostics
81
82       encoding    Allows you to write your script in non-ascii or non-utf8
83
84       encoding::warnings
85                   Warn on implicit encoding conversions
86
87       feature     Enable new features
88
89       fields      Compile-time class fields
90
91       filetest    Control the filetest permission operators
92
93       if          "use" a Perl module if a condition holds
94
95       inc::latest Use modules bundled in inc/ if they are newer than
96                   installed ones
97
98       integer     Use integer arithmetic instead of floating point
99
100       less        Request less of something
101
102       lib         Manipulate @INC at compile time
103
104       locale      Use and avoid POSIX locales for built-in operations
105
106       mro         Method Resolution Order
107
108       open        Set default PerlIO layers for input and output
109
110       ops         Restrict unsafe operations when compiling
111
112       overload    Package for overloading Perl operations
113
114       overloading Lexically control overloading
115
116       parent      Establish an ISA relationship with base classes at compile
117                   time
118
119       re          Alter regular expression behaviour
120
121       sigtrap     Enable simple signal handling
122
123       sort        Control sort() behaviour
124
125       strict      Restrict unsafe constructs
126
127       subs        Predeclare sub names
128
129       threads     Perl interpreter-based threads
130
131       threads::shared
132                   Perl extension for sharing data structures between threads
133
134       utf8        Enable/disable UTF-8 (or UTF-EBCDIC) in source code
135
136       vars        Predeclare global variable names (obsolete)
137
138       version     Perl extension for Version Objects
139
140       vmsish      Control VMS-specific language features
141
142       warnings    Control optional warnings
143
144       warnings::register
145                   Warnings import function
146
147   Standard Modules
148       Standard, bundled modules are all expected to behave in a well-defined
149       manner with respect to namespace pollution because they use the
150       Exporter module.  See their own documentation for details.
151
152       It's possible that not all modules listed below are installed on your
153       system. For example, the GDBM_File module will not be installed if you
154       don't have the gdbm library.
155
156       AnyDBM_File Provide framework for multiple DBMs
157
158       App::Cpan   Easily interact with CPAN from the command line
159
160       App::Prove  Implements the "prove" command.
161
162       App::Prove::State
163                   State storage for the "prove" command.
164
165       App::Prove::State::Result
166                   Individual test suite results.
167
168       App::Prove::State::Result::Test
169                   Individual test results.
170
171       Archive::Extract
172                   A generic archive extracting mechanism
173
174       Archive::Tar
175                   Module for manipulations of tar archives
176
177       Archive::Tar::File
178                   A subclass for in-memory extracted file from Archive::Tar
179
180       Attribute::Handlers
181                   Simpler definition of attribute handlers
182
183       AutoLoader  Load subroutines only on demand
184
185       AutoSplit   Split a package for autoloading
186
187       B           The Perl Compiler Backend
188
189       B::Concise  Walk Perl syntax tree, printing concise info about ops
190
191       B::Debug    Walk Perl syntax tree, printing debug info about ops
192
193       B::Deparse  Perl compiler backend to produce perl code
194
195       B::Lint     Perl lint
196
197       B::Lint::Debug
198                   Adds debugging stringification to B::
199
200       B::Showlex  Show lexical variables used in functions or files
201
202       B::Terse    Walk Perl syntax tree, printing terse info about ops
203
204       B::Xref     Generates cross reference reports for Perl programs
205
206       Benchmark   Benchmark running times of Perl code
207
208       CGI         Handle Common Gateway Interface requests and responses
209
210       CGI::Apache Backward compatibility module for CGI.pm
211
212       CGI::Carp   CGI routines for writing to the HTTPD (or other) error log
213
214       CGI::Cookie Interface to Netscape Cookies
215
216       CGI::Fast   CGI Interface for Fast CGI
217
218       CGI::Pretty Module to produce nicely formatted HTML code
219
220       CGI::Push   Simple Interface to Server Push
221
222       CGI::Switch Backward compatibility module for defunct CGI::Switch
223
224       CGI::Util   Internal utilities used by CGI module
225
226       CORE        Pseudo-namespace for Perl's core routines
227
228       CPAN        Query, download and build perl modules from CPAN sites
229
230       CPAN::API::HOWTO
231                   A recipe book for programming with CPAN.pm
232
233       CPAN::Distroprefs
234                   Read and match distroprefs
235
236       CPAN::FirstTime
237                   Utility for CPAN::Config file Initialization
238
239       CPAN::Kwalify
240                   Interface between CPAN.pm and Kwalify.pm
241
242       CPAN::Nox   Wrapper around CPAN.pm without using any XS module
243
244       CPAN::Version
245                   Utility functions to compare CPAN versions
246
247       CPANPLUS    API & CLI access to the CPAN mirrors
248
249       CPANPLUS::Dist::Base
250                   Base class for custom distribution classes
251
252       CPANPLUS::Dist::Build
253                   CPANPLUS plugin to install packages that use Build.PL
254
255       CPANPLUS::Dist::Build::Constants
256                   Constants for CPANPLUS::Dist::Build
257
258       CPANPLUS::Dist::Sample
259                   Sample code to create your own Dist::* plugin
260
261       CPANPLUS::Internals::Source::Memory
262                   In memory implementation
263
264       CPANPLUS::Internals::Source::SQLite
265                   SQLite implementation
266
267       CPANPLUS::Shell::Classic
268                   CPAN.pm emulation for CPANPLUS
269
270       CPANPLUS::Shell::Default::Plugins::HOWTO
271                   Documentation on how to write your own plugins
272
273       Carp        Warn of errors (from perspective of caller)
274
275       Class::ISA  Report the search path for a class's ISA tree
276
277       Class::Struct
278                   Declare struct-like datatypes as Perl classes
279
280       Compress::Raw::Bzip2
281                   Low-Level Interface to bzip2 compression library
282
283       Compress::Raw::Bzip2::FAQ
284                   Frequently Asked Questions about Compress::Raw::Bzip2
285
286       Compress::Raw::Zlib
287                   Low-Level Interface to zlib compression library
288
289       Compress::Raw::Zlib::FAQ
290                   Frequently Asked Questions about Compress::Raw::Zlib
291
292       Compress::Zlib
293                   Interface to zlib compression library
294
295       Config      Access Perl configuration information
296
297       Cwd         Get pathname of current working directory
298
299       DB          Programmatic interface to the Perl debugging API
300
301       DBM_Filter  Filter DBM keys/values
302
303       DBM_Filter::compress
304                   Filter for DBM_Filter
305
306       DBM_Filter::encode
307                   Filter for DBM_Filter
308
309       DBM_Filter::int32
310                   Filter for DBM_Filter
311
312       DBM_Filter::null
313                   Filter for DBM_Filter
314
315       DBM_Filter::utf8
316                   Filter for DBM_Filter
317
318       DB_File     Perl5 access to Berkeley DB version 1.x
319
320       Data::Dumper
321                   Stringified perl data structures, suitable for both
322                   printing and "eval"
323
324       Devel::DProf
325                   A Perl code profiler
326
327       Devel::InnerPackage
328                   Find all the inner packages of a package
329
330       Devel::PPPort
331                   Perl/Pollution/Portability
332
333       Devel::Peek A data debugging tool for the XS programmer
334
335       Devel::SelfStubber
336                   Generate stubs for a SelfLoading module
337
338       Digest      Modules that calculate message digests
339
340       Digest::MD5 Perl interface to the MD5 Algorithm
341
342       Digest::SHA Perl extension for SHA-1/224/256/384/512
343
344       Digest::base
345                   Digest base class
346
347       Digest::file
348                   Calculate digests of files
349
350       DirHandle   Supply object methods for directory handles
351
352       Dumpvalue   Provides screen dump of Perl data.
353
354       DynaLoader  Dynamically load C libraries into Perl code
355
356       Encode      Character encodings
357
358       Encode::Alias
359                   Alias definitions to encodings
360
361       Encode::Byte
362                   Single Byte Encodings
363
364       Encode::CJKConstants
365                   Internally used by Encode::??::ISO_2022_*
366
367       Encode::CN  China-based Chinese Encodings
368
369       Encode::CN::HZ
370                   Internally used by Encode::CN
371
372       Encode::Config
373                   Internally used by Encode
374
375       Encode::EBCDIC
376                   EBCDIC Encodings
377
378       Encode::Encoder
379                   Object Oriented Encoder
380
381       Encode::Encoding
382                   Encode Implementation Base Class
383
384       Encode::GSM0338
385                   ESTI GSM 03.38 Encoding
386
387       Encode::Guess
388                   Guesses encoding from data
389
390       Encode::JP  Japanese Encodings
391
392       Encode::JP::H2Z
393                   Internally used by Encode::JP::2022_JP*
394
395       Encode::JP::JIS7
396                   Internally used by Encode::JP
397
398       Encode::KR  Korean Encodings
399
400       Encode::KR::2022_KR
401                   Internally used by Encode::KR
402
403       Encode::MIME::Header
404                   MIME 'B' and 'Q' header encoding
405
406       Encode::MIME::Name
407                   Internally used by Encode
408
409       Encode::PerlIO
410                   A detailed document on Encode and PerlIO
411
412       Encode::Supported
413                   Encodings supported by Encode
414
415       Encode::Symbol
416                   Symbol Encodings
417
418       Encode::TW  Taiwan-based Chinese Encodings
419
420       Encode::Unicode
421                   Various Unicode Transformation Formats
422
423       Encode::Unicode::UTF7
424                   UTF-7 encoding
425
426       English     Use nice English (or awk) names for ugly punctuation
427                   variables
428
429       Env         Perl module that imports environment variables as scalars
430                   or arrays
431
432       Errno       System errno constants
433
434       Exporter    Implements default import method for modules
435
436       Exporter::Heavy
437                   Exporter guts
438
439       ExtUtils::CBuilder
440                   Compile and link C code for Perl modules
441
442       ExtUtils::CBuilder::Platform::Windows
443                   Builder class for Windows platforms
444
445       ExtUtils::Command
446                   Utilities to replace common UNIX commands in Makefiles etc.
447
448       ExtUtils::Command::MM
449                   Commands for the MM's to use in Makefiles
450
451       ExtUtils::Constant
452                   Generate XS code to import C header constants
453
454       ExtUtils::Constant::Base
455                   Base class for ExtUtils::Constant objects
456
457       ExtUtils::Constant::Utils
458                   Helper functions for ExtUtils::Constant
459
460       ExtUtils::Constant::XS
461                   Generate C code for XS modules' constants.
462
463       ExtUtils::Embed
464                   Utilities for embedding Perl in C/C++ applications
465
466       ExtUtils::Install
467                   Install files from here to there
468
469       ExtUtils::Installed
470                   Inventory management of installed modules
471
472       ExtUtils::Liblist
473                   Determine libraries to use and how to use them
474
475       ExtUtils::MM
476                   OS adjusted ExtUtils::MakeMaker subclass
477
478       ExtUtils::MM_AIX
479                   AIX specific subclass of ExtUtils::MM_Unix
480
481       ExtUtils::MM_Any
482                   Platform-agnostic MM methods
483
484       ExtUtils::MM_BeOS
485                   Methods to override UN*X behaviour in ExtUtils::MakeMaker
486
487       ExtUtils::MM_Cygwin
488                   Methods to override UN*X behaviour in ExtUtils::MakeMaker
489
490       ExtUtils::MM_DOS
491                   DOS specific subclass of ExtUtils::MM_Unix
492
493       ExtUtils::MM_Darwin
494                   Special behaviors for OS X
495
496       ExtUtils::MM_MacOS
497                   Once produced Makefiles for MacOS Classic
498
499       ExtUtils::MM_NW5
500                   Methods to override UN*X behaviour in ExtUtils::MakeMaker
501
502       ExtUtils::MM_OS2
503                   Methods to override UN*X behaviour in ExtUtils::MakeMaker
504
505       ExtUtils::MM_QNX
506                   QNX specific subclass of ExtUtils::MM_Unix
507
508       ExtUtils::MM_UWIN
509                   U/WIN specific subclass of ExtUtils::MM_Unix
510
511       ExtUtils::MM_Unix
512                   Methods used by ExtUtils::MakeMaker
513
514       ExtUtils::MM_VMS
515                   Methods to override UN*X behaviour in ExtUtils::MakeMaker
516
517       ExtUtils::MM_VOS
518                   VOS specific subclass of ExtUtils::MM_Unix
519
520       ExtUtils::MM_Win32
521                   Methods to override UN*X behaviour in ExtUtils::MakeMaker
522
523       ExtUtils::MM_Win95
524                   Method to customize MakeMaker for Win9X
525
526       ExtUtils::MY
527                   ExtUtils::MakeMaker subclass for customization
528
529       ExtUtils::MakeMaker
530                   Create a module Makefile
531
532       ExtUtils::MakeMaker::Config
533                   Wrapper around Config.pm
534
535       ExtUtils::MakeMaker::FAQ
536                   Frequently Asked Questions About MakeMaker
537
538       ExtUtils::MakeMaker::Tutorial
539                   Writing a module with MakeMaker
540
541       ExtUtils::Manifest
542                   Utilities to write and check a MANIFEST file
543
544       ExtUtils::Mkbootstrap
545                   Make a bootstrap file for use by DynaLoader
546
547       ExtUtils::Mksymlists
548                   Write linker options files for dynamic extension
549
550       ExtUtils::Packlist
551                   Manage .packlist files
552
553       ExtUtils::ParseXS
554                   Converts Perl XS code into C code
555
556       ExtUtils::XSSymSet
557                   Keep sets of symbol names palatable to the VMS linker
558
559       ExtUtils::testlib
560                   Add blib/* directories to @INC
561
562       Fatal       Replace functions with equivalents which succeed or die
563
564       Fcntl       Load the C Fcntl.h defines
565
566       File::Basename
567                   Parse file paths into directory, filename and suffix.
568
569       File::CheckTree
570                   Run many filetest checks on a tree
571
572       File::Compare
573                   Compare files or filehandles
574
575       File::Copy  Copy files or filehandles
576
577       File::DosGlob
578                   DOS like globbing and then some
579
580       File::Fetch A generic file fetching mechanism
581
582       File::Find  Traverse a directory tree.
583
584       File::Glob  Perl extension for BSD glob routine
585
586       File::GlobMapper
587                   Extend File Glob to Allow Input and Output Files
588
589       File::Path  Create or remove directory trees
590
591       File::Spec  Portably perform operations on file names
592
593       File::Spec::Cygwin
594                   Methods for Cygwin file specs
595
596       File::Spec::Epoc
597                   Methods for Epoc file specs
598
599       File::Spec::Functions
600                   Portably perform operations on file names
601
602       File::Spec::Mac
603                   File::Spec for Mac OS (Classic)
604
605       File::Spec::OS2
606                   Methods for OS/2 file specs
607
608       File::Spec::Unix
609                   File::Spec for Unix, base for other File::Spec modules
610
611       File::Spec::VMS
612                   Methods for VMS file specs
613
614       File::Spec::Win32
615                   Methods for Win32 file specs
616
617       File::Temp  Return name and handle of a temporary file safely
618
619       File::stat  By-name interface to Perl's built-in stat() functions
620
621       FileCache   Keep more files open than the system permits
622
623       FileHandle  Supply object methods for filehandles
624
625       Filter::Simple
626                   Simplified source filtering
627
628       Filter::Util::Call
629                   Perl Source Filter Utility Module
630
631       FindBin     Locate directory of original perl script
632
633       GDBM_File   Perl5 access to the gdbm library.
634
635       Getopt::Long
636                   Extended processing of command line options
637
638       Getopt::Std Process single-character switches with switch clustering
639
640       Hash::Util  A selection of general-utility hash subroutines
641
642       Hash::Util::FieldHash
643                   Support for Inside-Out Classes
644
645       I18N::Collate
646                   Compare 8-bit scalar data according to the current locale
647
648       I18N::LangTags
649                   Functions for dealing with RFC3066-style language tags
650
651       I18N::LangTags::Detect
652                   Detect the user's language preferences
653
654       I18N::LangTags::List
655                   Tags and names for human languages
656
657       I18N::Langinfo
658                   Query locale information
659
660       IO          Load various IO modules
661
662       IO::Compress::Base
663                   Base Class for IO::Compress modules
664
665       IO::Compress::Bzip2
666                   Write bzip2 files/buffers
667
668       IO::Compress::Deflate
669                   Write RFC 1950 files/buffers
670
671       IO::Compress::FAQ
672                   Frequently Asked Questions about IO::Compress
673
674       IO::Compress::Gzip
675                   Write RFC 1952 files/buffers
676
677       IO::Compress::RawDeflate
678                   Write RFC 1951 files/buffers
679
680       IO::Compress::Zip
681                   Write zip files/buffers
682
683       IO::Dir     Supply object methods for directory handles
684
685       IO::File    Supply object methods for filehandles
686
687       IO::Handle  Supply object methods for I/O handles
688
689       IO::Pipe    Supply object methods for pipes
690
691       IO::Poll    Object interface to system poll call
692
693       IO::Seekable
694                   Supply seek based methods for I/O objects
695
696       IO::Select  OO interface to the select system call
697
698       IO::Socket  Object interface to socket communications
699
700       IO::Socket::INET
701                   Object interface for AF_INET domain sockets
702
703       IO::Socket::UNIX
704                   Object interface for AF_UNIX domain sockets
705
706       IO::Uncompress::AnyInflate
707                   Uncompress zlib-based (zip, gzip) file/buffer
708
709       IO::Uncompress::AnyUncompress
710                   Uncompress gzip, zip, bzip2 or lzop file/buffer
711
712       IO::Uncompress::Base
713                   Base Class for IO::Uncompress modules
714
715       IO::Uncompress::Bunzip2
716                   Read bzip2 files/buffers
717
718       IO::Uncompress::Gunzip
719                   Read RFC 1952 files/buffers
720
721       IO::Uncompress::Inflate
722                   Read RFC 1950 files/buffers
723
724       IO::Uncompress::RawInflate
725                   Read RFC 1951 files/buffers
726
727       IO::Uncompress::Unzip
728                   Read zip files/buffers
729
730       IO::Zlib    IO:: style interface to Compress::Zlib
731
732       IPC::Cmd    Finding and running system commands made easy
733
734       IPC::Msg    SysV Msg IPC object class
735
736       IPC::Open2  Open a process for both reading and writing using open2()
737
738       IPC::Open3  Open a process for reading, writing, and error handling
739                   using open3()
740
741       IPC::Semaphore
742                   SysV Semaphore IPC object class
743
744       IPC::SharedMem
745                   SysV Shared Memory IPC object class
746
747       IPC::SysV   System V IPC constants and system calls
748
749       List::Util  A selection of general-utility list subroutines
750
751       List::Util::XS
752                   Indicate if List::Util was compiled with a C compiler
753
754       Locale::Constants
755                   Constants for Locale codes
756
757       Locale::Country
758                   ISO codes for country identification (ISO 3166)
759
760       Locale::Currency
761                   ISO three letter codes for currency identification (ISO
762                   4217)
763
764       Locale::Language
765                   ISO two letter codes for language identification (ISO 639)
766
767       Locale::Maketext
768                   Framework for localization
769
770       Locale::Maketext::Simple
771                   Simple interface to Locale::Maketext::Lexicon
772
773       Locale::Maketext::TPJ13
774                   Article about software localization
775
776       Locale::Script
777                   ISO codes for script identification (ISO 15924)
778
779       Log::Message
780                   A generic message storing mechanism;
781
782       Log::Message::Config
783                   Configuration options for Log::Message
784
785       Log::Message::Handlers
786                   Message handlers for Log::Message
787
788       Log::Message::Item
789                   Message objects for Log::Message
790
791       Log::Message::Simple
792                   Simplified interface to Log::Message
793
794       MIME::Base64
795                   Encoding and decoding of base64 strings
796
797       MIME::QuotedPrint
798                   Encoding and decoding of quoted-printable strings
799
800       Math::BigFloat
801                   Arbitrary size floating point math package
802
803       Math::BigInt
804                   Arbitrary size integer/float math package
805
806       Math::BigInt::Calc
807                   Pure Perl module to support Math::BigInt
808
809       Math::BigInt::CalcEmu
810                   Emulate low-level math with BigInt code
811
812       Math::BigInt::FastCalc
813                   Math::BigInt::Calc with some XS for more speed
814
815       Math::BigRat
816                   Arbitrary big rational numbers
817
818       Math::Complex
819                   Complex numbers and associated mathematical functions
820
821       Math::Trig  Trigonometric functions
822
823       Memoize     Make functions faster by trading space for time
824
825       Memoize::AnyDBM_File
826                   Glue to provide EXISTS for AnyDBM_File for Storable use
827
828       Memoize::Expire
829                   Plug-in module for automatic expiration of memoized values
830
831       Memoize::ExpireFile
832                   Test for Memoize expiration semantics
833
834       Memoize::ExpireTest
835                   Test for Memoize expiration semantics
836
837       Memoize::NDBM_File
838                   Glue to provide EXISTS for NDBM_File for Storable use
839
840       Memoize::SDBM_File
841                   Glue to provide EXISTS for SDBM_File for Storable use
842
843       Memoize::Storable
844                   Store Memoized data in Storable database
845
846       Module::Build
847                   Build and install Perl modules
848
849       Module::Build::API
850                   API Reference for Module Authors
851
852       Module::Build::Authoring
853                   Authoring Module::Build modules
854
855       Module::Build::Base
856                   Default methods for Module::Build
857
858       Module::Build::Bundling
859                   How to bundle Module::Build with a distribution
860
861       Module::Build::Compat
862                   Compatibility with ExtUtils::MakeMaker
863
864       Module::Build::ConfigData
865                   Configuration for Module::Build
866
867       Module::Build::Cookbook
868                   Examples of Module::Build Usage
869
870       Module::Build::ModuleInfo
871                   Gather package and POD information from a perl module file
872
873       Module::Build::Notes
874                   Create persistent distribution configuration modules
875
876       Module::Build::PPMMaker
877                   Perl Package Manager file creation
878
879       Module::Build::Platform::Amiga
880                   Builder class for Amiga platforms
881
882       Module::Build::Platform::Default
883                   Stub class for unknown platforms
884
885       Module::Build::Platform::EBCDIC
886                   Builder class for EBCDIC platforms
887
888       Module::Build::Platform::MPEiX
889                   Builder class for MPEiX platforms
890
891       Module::Build::Platform::MacOS
892                   Builder class for MacOS platforms
893
894       Module::Build::Platform::RiscOS
895                   Builder class for RiscOS platforms
896
897       Module::Build::Platform::Unix
898                   Builder class for Unix platforms
899
900       Module::Build::Platform::VMS
901                   Builder class for VMS platforms
902
903       Module::Build::Platform::VOS
904                   Builder class for VOS platforms
905
906       Module::Build::Platform::Windows
907                   Builder class for Windows platforms
908
909       Module::Build::Platform::aix
910                   Builder class for AIX platform
911
912       Module::Build::Platform::cygwin
913                   Builder class for Cygwin platform
914
915       Module::Build::Platform::darwin
916                   Builder class for Mac OS X platform
917
918       Module::Build::Platform::os2
919                   Builder class for OS/2 platform
920
921       Module::CoreList
922                   What modules shipped with versions of perl
923
924       Module::Load
925                   Runtime require of both modules and files
926
927       Module::Load::Conditional
928                   Looking up module information / loading at runtime
929
930       Module::Loaded
931                   Mark modules as loaded or unloaded
932
933       Module::Pluggable
934                   Automatically give your module the ability to have plugins
935
936       Module::Pluggable::Object
937                   Automatically give your module the ability to have plugins
938
939       NDBM_File   Tied access to ndbm files
940
941       NEXT        Provide a pseudo-class NEXT (et al) that allows method
942                   redispatch
943
944       Net::Cmd    Network Command class (as used by FTP, SMTP etc)
945
946       Net::Config Local configuration data for libnet
947
948       Net::Domain Attempt to evaluate the current host's internet name and
949                   domain
950
951       Net::FTP    FTP Client class
952
953       Net::NNTP   NNTP Client class
954
955       Net::Netrc  OO interface to users netrc file
956
957       Net::POP3   Post Office Protocol 3 Client class (RFC1939)
958
959       Net::Ping   Check a remote host for reachability
960
961       Net::SMTP   Simple Mail Transfer Protocol Client
962
963       Net::Time   Time and daytime network client interface
964
965       Net::hostent
966                   By-name interface to Perl's built-in gethost*() functions
967
968       Net::libnetFAQ
969                   Libnet Frequently Asked Questions
970
971       Net::netent By-name interface to Perl's built-in getnet*() functions
972
973       Net::protoent
974                   By-name interface to Perl's built-in getproto*() functions
975
976       Net::servent
977                   By-name interface to Perl's built-in getserv*() functions
978
979       O           Generic interface to Perl Compiler backends
980
981       ODBM_File   Tied access to odbm files
982
983       Object::Accessor
984                   Interface to create per object accessors
985
986       Opcode      Disable named opcodes when compiling perl code
987
988       POSIX       Perl interface to IEEE Std 1003.1
989
990       Package::Constants
991                   List all constants declared in a package
992
993       Params::Check
994                   A generic input parsing/checking mechanism.
995
996       Parse::CPAN::Meta
997                   Parse META.yml and other similar CPAN metadata files
998
999       PerlIO      On demand loader for PerlIO layers and root of PerlIO::*
1000                   name space
1001
1002       PerlIO::encoding
1003                   Encoding layer
1004
1005       PerlIO::scalar
1006                   In-memory IO, scalar IO
1007
1008       PerlIO::via Helper class for PerlIO layers implemented in perl
1009
1010       PerlIO::via::QuotedPrint
1011                   PerlIO layer for quoted-printable strings
1012
1013       Pod::Checker
1014                   Check pod documents for syntax errors
1015
1016       Pod::Escapes
1017                   For resolving Pod E<...> sequences
1018
1019       Pod::Find   Find POD documents in directory trees
1020
1021       Pod::Functions
1022                   Group Perl's functions a la perlfunc.pod
1023
1024       Pod::Html   Module to convert pod files to HTML
1025
1026       Pod::InputObjects
1027                   Objects representing POD input paragraphs, commands, etc.
1028
1029       Pod::LaTeX  Convert Pod data to formatted Latex
1030
1031       Pod::Man    Convert POD data to formatted *roff input
1032
1033       Pod::ParseLink
1034                   Parse an L<> formatting code in POD text
1035
1036       Pod::ParseUtils
1037                   Helpers for POD parsing and conversion
1038
1039       Pod::Parser Base class for creating POD filters and translators
1040
1041       Pod::Perldoc
1042                   Look up Perl documentation in Pod format.
1043
1044       Pod::Perldoc::BaseTo
1045                   Base for Pod::Perldoc formatters
1046
1047       Pod::Perldoc::GetOptsOO
1048                   Customized option parser for Pod::Perldoc
1049
1050       Pod::Perldoc::ToChecker
1051                   Let Perldoc check Pod for errors
1052
1053       Pod::Perldoc::ToMan
1054                   Let Perldoc render Pod as man pages
1055
1056       Pod::Perldoc::ToNroff
1057                   Let Perldoc convert Pod to nroff
1058
1059       Pod::Perldoc::ToPod
1060                   Let Perldoc render Pod as ... Pod!
1061
1062       Pod::Perldoc::ToRtf
1063                   Let Perldoc render Pod as RTF
1064
1065       Pod::Perldoc::ToText
1066                   Let Perldoc render Pod as plaintext
1067
1068       Pod::Perldoc::ToTk
1069                   Let Perldoc use Tk::Pod to render Pod
1070
1071       Pod::Perldoc::ToXml
1072                   Let Perldoc render Pod as XML
1073
1074       Pod::PlainText
1075                   Convert POD data to formatted ASCII text
1076
1077       Pod::Plainer
1078                   Perl extension for converting Pod to old-style Pod.
1079
1080       Pod::Select Extract selected sections of POD from input
1081
1082       Pod::Simple Framework for parsing Pod
1083
1084       Pod::Simple::Checker
1085                   Check the Pod syntax of a document
1086
1087       Pod::Simple::Debug
1088                   Put Pod::Simple into trace/debug mode
1089
1090       Pod::Simple::DumpAsText
1091                   Dump Pod-parsing events as text
1092
1093       Pod::Simple::DumpAsXML
1094                   Turn Pod into XML
1095
1096       Pod::Simple::HTML
1097                   Convert Pod to HTML
1098
1099       Pod::Simple::HTMLBatch
1100                   Convert several Pod files to several HTML files
1101
1102       Pod::Simple::LinkSection
1103                   Represent "section" attributes of L codes
1104
1105       Pod::Simple::Methody
1106                   Turn Pod::Simple events into method calls
1107
1108       Pod::Simple::PullParser
1109                   A pull-parser interface to parsing Pod
1110
1111       Pod::Simple::PullParserEndToken
1112                   End-tokens from Pod::Simple::PullParser
1113
1114       Pod::Simple::PullParserStartToken
1115                   Start-tokens from Pod::Simple::PullParser
1116
1117       Pod::Simple::PullParserTextToken
1118                   Text-tokens from Pod::Simple::PullParser
1119
1120       Pod::Simple::PullParserToken
1121                   Tokens from Pod::Simple::PullParser
1122
1123       Pod::Simple::RTF
1124                   Format Pod as RTF
1125
1126       Pod::Simple::Search
1127                   Find POD documents in directory trees
1128
1129       Pod::Simple::SimpleTree
1130                   Parse Pod into a simple parse tree
1131
1132       Pod::Simple::Subclassing
1133                   Write a formatter as a Pod::Simple subclass
1134
1135       Pod::Simple::Text
1136                   Format Pod as plaintext
1137
1138       Pod::Simple::TextContent
1139                   Get the text content of Pod
1140
1141       Pod::Simple::XHTML
1142                   Format Pod as validating XHTML
1143
1144       Pod::Simple::XMLOutStream
1145                   Turn Pod into XML
1146
1147       Pod::Text   Convert POD data to formatted ASCII text
1148
1149       Pod::Text::Color
1150                   Convert POD data to formatted color ASCII text
1151
1152       Pod::Text::Termcap
1153                   Convert POD data to ASCII text with format escapes
1154
1155       Pod::Usage  Print a usage message from embedded pod documentation
1156
1157       SDBM_File   Tied access to sdbm files
1158
1159       Safe        Compile and execute code in restricted compartments
1160
1161       Scalar::Util
1162                   A selection of general-utility scalar subroutines
1163
1164       Search::Dict
1165                   Search for key in dictionary file
1166
1167       SelectSaver Save and restore selected file handle
1168
1169       SelfLoader  Load functions only on demand
1170
1171       Shell       Run shell commands transparently within perl
1172
1173       Socket      Load the C socket.h defines and structure manipulators
1174
1175       Storable    Persistence for Perl data structures
1176
1177       Switch      A switch statement for Perl
1178
1179       Symbol      Manipulate Perl symbols and their names
1180
1181       Sys::Hostname
1182                   Try every conceivable way to get hostname
1183
1184       Sys::Syslog Perl interface to the UNIX syslog(3) calls
1185
1186       Sys::Syslog::Win32
1187                   Win32 support for Sys::Syslog
1188
1189       TAP::Base   Base class that provides common functionality to
1190                   TAP::Parser
1191
1192       TAP::Formatter::Color
1193                   Run Perl test scripts with color
1194
1195       TAP::Formatter::Console
1196                   Harness output delegate for default console output
1197
1198       TAP::Formatter::Console
1199                   Harness output delegate for default console output
1200
1201       TAP::Formatter::Console::ParallelSession
1202                   Harness output delegate for parallel console output
1203
1204       TAP::Formatter::Console::Session
1205                   Harness output delegate for default console output
1206
1207       TAP::Formatter::File
1208                   Harness output delegate for file output
1209
1210       TAP::Formatter::File::Session
1211                   Harness output delegate for file output
1212
1213       TAP::Formatter::Session
1214                   Abstract base class for harness output delegate
1215
1216       TAP::Harness
1217                   Run test scripts with statistics
1218
1219       TAP::Object Base class that provides common functionality to all
1220                   "TAP::*" modules
1221
1222       TAP::Parser Parse TAP output
1223
1224       TAP::Parser::Aggregator
1225                   Aggregate TAP::Parser results
1226
1227       TAP::Parser::Grammar
1228                   A grammar for the Test Anything Protocol.
1229
1230       TAP::Parser::Iterator
1231                   Internal base class for TAP::Parser Iterators
1232
1233       TAP::Parser::Iterator::Array
1234                   Internal TAP::Parser array Iterator
1235
1236       TAP::Parser::Iterator::Process
1237                   Internal TAP::Parser Iterator
1238
1239       TAP::Parser::Iterator::Stream
1240                   Internal TAP::Parser Iterator
1241
1242       TAP::Parser::IteratorFactory
1243                   Internal TAP::Parser Iterator
1244
1245       TAP::Parser::Multiplexer
1246                   Multiplex multiple TAP::Parsers
1247
1248       TAP::Parser::Result
1249                   Base class for TAP::Parser output objects
1250
1251       TAP::Parser::Result::Bailout
1252                   Bailout result token.
1253
1254       TAP::Parser::Result::Comment
1255                   Comment result token.
1256
1257       TAP::Parser::Result::Plan
1258                   Plan result token.
1259
1260       TAP::Parser::Result::Pragma
1261                   TAP pragma token.
1262
1263       TAP::Parser::Result::Test
1264                   Test result token.
1265
1266       TAP::Parser::Result::Unknown
1267                   Unknown result token.
1268
1269       TAP::Parser::Result::Version
1270                   TAP syntax version token.
1271
1272       TAP::Parser::Result::YAML
1273                   YAML result token.
1274
1275       TAP::Parser::ResultFactory
1276                   Factory for creating TAP::Parser output objects
1277
1278       TAP::Parser::Scheduler
1279                   Schedule tests during parallel testing
1280
1281       TAP::Parser::Scheduler::Job
1282                   A single testing job.
1283
1284       TAP::Parser::Scheduler::Spinner
1285                   A no-op job.
1286
1287       TAP::Parser::Source
1288                   Stream output from some source
1289
1290       TAP::Parser::Source::Perl
1291                   Stream Perl output
1292
1293       TAP::Parser::Utils
1294                   Internal TAP::Parser utilities
1295
1296       TAP::Parser::YAMLish::Reader
1297                   Read YAMLish data from iterator
1298
1299       TAP::Parser::YAMLish::Writer
1300                   Write YAMLish data
1301
1302       Term::ANSIColor
1303                   Color screen output using ANSI escape sequences
1304
1305       Term::Cap   Perl termcap interface
1306
1307       Term::Complete
1308                   Perl word completion module
1309
1310       Term::ReadLine
1311                   Perl interface to various "readline" packages.
1312
1313       Term::UI    Term::ReadLine UI made easy
1314
1315       Test        Provides a simple framework for writing test scripts
1316
1317       Test::Builder
1318                   Backend for building test libraries
1319
1320       Test::Builder::Module
1321                   Base class for test modules
1322
1323       Test::Builder::Tester
1324                   Test testsuites that have been built with
1325
1326       Test::Builder::Tester::Color
1327                   Turn on colour in Test::Builder::Tester
1328
1329       Test::Harness
1330                   Run Perl standard test scripts with statistics
1331
1332       Test::More  Yet another framework for writing test scripts
1333
1334       Test::Simple
1335                   Basic utilities for writing tests.
1336
1337       Test::Tutorial
1338                   A tutorial about writing really basic tests
1339
1340       Text::Abbrev
1341                   Create an abbreviation table from a list
1342
1343       Text::Balanced
1344                   Extract delimited text sequences from strings.
1345
1346       Text::ParseWords
1347                   Parse text into an array of tokens or array of arrays
1348
1349       Text::Soundex
1350                   Implementation of the soundex algorithm.
1351
1352       Text::Tabs  Expand and unexpand tabs per the unix expand(1) and
1353                   unexpand(1)
1354
1355       Text::Wrap  Line wrapping to form simple paragraphs
1356
1357       Thread      Manipulate threads in Perl (for old code only)
1358
1359       Thread::Queue
1360                   Thread-safe queues
1361
1362       Thread::Semaphore
1363                   Thread-safe semaphores
1364
1365       Tie::Array  Base class for tied arrays
1366
1367       Tie::File   Access the lines of a disk file via a Perl array
1368
1369       Tie::Handle Base class definitions for tied handles
1370
1371       Tie::Hash   Base class definitions for tied hashes
1372
1373       Tie::Hash::NamedCapture
1374                   Named regexp capture buffers
1375
1376       Tie::Memoize
1377                   Add data to hash when needed
1378
1379       Tie::RefHash
1380                   Use references as hash keys
1381
1382       Tie::Scalar Base class definitions for tied scalars
1383
1384       Tie::StdHandle
1385                   Base class definitions for tied handles
1386
1387       Tie::SubstrHash
1388                   Fixed-table-size, fixed-key-length hashing
1389
1390       Time::HiRes High resolution alarm, sleep, gettimeofday, interval timers
1391
1392       Time::Local Efficiently compute time from local and GMT time
1393
1394       Time::Piece Object Oriented time objects
1395
1396       Time::Seconds
1397                   A simple API to convert seconds to other date values
1398
1399       Time::gmtime
1400                   By-name interface to Perl's built-in gmtime() function
1401
1402       Time::localtime
1403                   By-name interface to Perl's built-in localtime() function
1404
1405       Time::tm    Internal object used by Time::gmtime and Time::localtime
1406
1407       UNIVERSAL   Base class for ALL classes (blessed references)
1408
1409       Unicode::Collate
1410                   Unicode Collation Algorithm
1411
1412       Unicode::Normalize
1413                   Unicode Normalization Forms
1414
1415       Unicode::UCD
1416                   Unicode character database
1417
1418       User::grent By-name interface to Perl's built-in getgr*() functions
1419
1420       User::pwent By-name interface to Perl's built-in getpw*() functions
1421
1422       VMS::DCLsym Perl extension to manipulate DCL symbols
1423
1424       VMS::Stdio  Standard I/O functions via VMS extensions
1425
1426       Win32API::File
1427                   Low-level access to Win32 system API calls for files/dirs.
1428
1429       Win32CORE   Win32 CORE function stubs
1430
1431       XS::APItest Test the perl C API
1432
1433       XS::APItest::KeywordRPN
1434                   Write arithmetic expressions in RPN
1435
1436       XS::Typemap Module to test the XS typemaps distributed with perl
1437
1438       XSLoader    Dynamically load C libraries into Perl code
1439
1440       version::Internals
1441                   Perl extension for Version Objects
1442
1443       To find out all modules installed on your system, including those
1444       without documentation or outside the standard release, just use the
1445       following command (under the default win32 shell, double quotes should
1446       be used instead of single quotes).
1447
1448           % perl -MFile::Find=find -MFile::Spec::Functions -Tlwe \
1449             'find { wanted => sub { print canonpath $_ if /\.pm\z/ },
1450             no_chdir => 1 }, @INC'
1451
1452       (The -T is here to prevent '.' from being listed in @INC.)  They should
1453       all have their own documentation installed and accessible via your
1454       system man(1) command.  If you do not have a find program, you can use
1455       the Perl find2perl program instead, which generates Perl code as output
1456       you can run through perl.  If you have a man program but it doesn't
1457       find your modules, you'll have to fix your manpath.  See perl for
1458       details.  If you have no system man command, you might try the perldoc
1459       program.
1460
1461       Note also that the command "perldoc perllocal" gives you a (possibly
1462       incomplete) list of the modules that have been further installed on
1463       your system. (The perllocal.pod file is updated by the standard
1464       MakeMaker install process.)
1465
1466   Extension Modules
1467       Extension modules are written in C (or a mix of Perl and C).  They are
1468       usually dynamically loaded into Perl if and when you need them, but may
1469       also be linked in statically.  Supported extension modules include
1470       Socket, Fcntl, and POSIX.
1471
1472       Many popular C extension modules do not come bundled (at least, not
1473       completely) due to their sizes, volatility, or simply lack of time for
1474       adequate testing and configuration across the multitude of platforms on
1475       which Perl was beta-tested.  You are encouraged to look for them on
1476       CPAN (described below), or using web search engines like Alta Vista or
1477       Google.
1478

CPAN

1480       CPAN stands for Comprehensive Perl Archive Network; it's a globally
1481       replicated trove of Perl materials, including documentation, style
1482       guides, tricks and traps, alternate ports to non-Unix systems and
1483       occasional binary distributions for these.   Search engines for CPAN
1484       can be found at http://www.cpan.org/
1485
1486       Most importantly, CPAN includes around a thousand unbundled modules,
1487       some of which require a C compiler to build.  Major categories of
1488       modules are:
1489
1490       ·   Language Extensions and Documentation Tools
1491
1492       ·   Development Support
1493
1494       ·   Operating System Interfaces
1495
1496       ·   Networking, Device Control (modems) and InterProcess Communication
1497
1498       ·   Data Types and Data Type Utilities
1499
1500       ·   Database Interfaces
1501
1502       ·   User Interfaces
1503
1504       ·   Interfaces to / Emulations of Other Programming Languages
1505
1506       ·   File Names, File Systems and File Locking (see also File Handles)
1507
1508       ·   String Processing, Language Text Processing, Parsing, and Searching
1509
1510       ·   Option, Argument, Parameter, and Configuration File Processing
1511
1512       ·   Internationalization and Locale
1513
1514       ·   Authentication, Security, and Encryption
1515
1516       ·   World Wide Web, HTML, HTTP, CGI, MIME
1517
1518       ·   Server and Daemon Utilities
1519
1520       ·   Archiving and Compression
1521
1522       ·   Images, Pixmap and Bitmap Manipulation, Drawing, and Graphing
1523
1524       ·   Mail and Usenet News
1525
1526       ·   Control Flow Utilities (callbacks and exceptions etc)
1527
1528       ·   File Handle and Input/Output Stream Utilities
1529
1530       ·   Miscellaneous Modules
1531
1532       The list of the registered CPAN sites follows.  Please note that the
1533       sorting order is alphabetical on fields:
1534
1535       Continent
1536          |
1537          |-->Country
1538                |
1539                |-->[state/province]
1540                          |
1541                          |-->ftp
1542                          |
1543                          |-->[http]
1544
1545       and thus the North American servers happen to be listed between the
1546       European and the South American sites.
1547
1548       Registered CPAN sites
1549
1550   Africa
1551       South Africa
1552                                 http://cpan.mirror.ac.za/
1553                                 ftp://cpan.mirror.ac.za/
1554                                 http://mirror.is.co.za/pub/cpan/
1555                                 ftp://ftp.is.co.za/pub/cpan/
1556                                 ftp://ftp.saix.net/pub/CPAN/
1557
1558   Asia
1559       Hong Kong
1560                                 http://ftp.cuhk.edu.hk/pub/packages/perl/CPAN/
1561                                 ftp://ftp.cuhk.edu.hk/pub/packages/perl/CPAN/
1562                                 http://mirrors.geoexpat.com/cpan/
1563
1564       India
1565                                 http://perlmirror.indialinks.com/
1566
1567       Indonesia
1568                                 http://cpan.biz.net.id/
1569                                 http://komo.vlsm.org/CPAN/
1570                                 ftp://komo.vlsm.org/CPAN/
1571                                 http://cpan.pesat.net.id/
1572                                 http://mirror.unej.ac.id/cpan/
1573                                 ftp://mirror.unej.ac.id/cpan/
1574
1575       Japan
1576                                 ftp://ftp.u-aizu.ac.jp/pub/CPAN
1577                                 ftp://ftp.kddilabs.jp/CPAN/
1578                                 http://ftp.nara.wide.ad.jp/pub/CPAN/
1579                                 ftp://ftp.nara.wide.ad.jp/pub/CPAN/
1580                                 http://ftp.jaist.ac.jp/pub/CPAN/
1581                                 ftp://ftp.jaist.ac.jp/pub/CPAN/
1582                                 ftp://ftp.dti.ad.jp/pub/lang/CPAN/
1583                                 ftp://ftp.ring.gr.jp/pub/lang/perl/CPAN/
1584                                 http://ftp.riken.jp/lang/CPAN/
1585                                 ftp://ftp.riken.jp/lang/CPAN/
1586                                 http://ftp.yz.yamagata-u.ac.jp/pub/lang/cpan/
1587                                 ftp://ftp.yz.yamagata-u.ac.jp/pub/lang/cpan/
1588
1589       Kazakhstan
1590                                 http://mirror.linuxiso.kz/CPAN/
1591
1592       Republic of Korea
1593                                 http://ftp.kaist.ac.kr/pub/CPAN
1594                                 ftp://ftp.kaist.ac.kr/pub/CPAN
1595                                 http://cpan.mirror.cdnetworks.com/
1596                                 ftp://cpan.mirror.cdnetworks.com/CPAN/
1597                                 http://cpan.sarang.net/
1598                                 ftp://cpan.sarang.net/CPAN/
1599
1600       Russia
1601                                 http://cpan.tomsk.ru/
1602                                 ftp://cpan.tomsk.ru/
1603
1604       Singapore
1605                                 http://mirror.averse.net/pub/CPAN
1606                                 ftp://mirror.averse.net/pub/CPAN
1607                                 http://cpan.mirror.choon.net/
1608                                 http://cpan.oss.eznetsols.org
1609                                 ftp://ftp.oss.eznetsols.org/cpan
1610
1611       Taiwan
1612                                 http://ftp.cse.yzu.edu.tw/pub/CPAN/
1613                                 ftp://ftp.cse.yzu.edu.tw/pub/CPAN/
1614                                 http://cpan.nctu.edu.tw/
1615                                 ftp://cpan.nctu.edu.tw/
1616                                 ftp://ftp.ncu.edu.tw/CPAN/
1617                                 http://cpan.cdpa.nsysu.edu.tw/
1618                                 ftp://cpan.cdpa.nsysu.edu.tw/Unix/Lang/CPAN/
1619                                 http://cpan.stu.edu.tw
1620                                 ftp://ftp.stu.edu.tw/CPAN
1621                                 http://ftp.stu.edu.tw/CPAN
1622                                 ftp://ftp.stu.edu.tw/pub/CPAN
1623                                 http://cpan.cs.pu.edu.tw/
1624                                 ftp://cpan.cs.pu.edu.tw/pub/CPAN
1625
1626       Thailand
1627                                 http://mirrors.issp.co.th/cpan/
1628                                 ftp://mirrors.issp.co.th/cpan/
1629
1630       Turkey
1631                                 http://cpan.gazi.edu.tr/
1632                                 http://cpan.ulak.net.tr
1633                                 ftp://ftp.ulak.net.tr/pub/CPAN
1634
1635       Viet Nam
1636                                 http://mirror-fpt-telecom.fpt.net/cpan/
1637                                 ftp://mirror-fpt-telecom.fpt.net/cpan/
1638
1639   Central America
1640       Costa Rica
1641                                 http://mirrors.ucr.ac.cr/CPAN/
1642                                 ftp://mirrors.ucr.ac.cr/CPAN/
1643
1644   Europe
1645       Austria
1646                                 http://cpan.inode.at/
1647                                 ftp://cpan.inode.at
1648                                 http://gd.tuwien.ac.at/languages/perl/CPAN/
1649                                 ftp://gd.tuwien.ac.at/pub/CPAN/
1650
1651       Belgium
1652                                 http://ftp.belnet.be/mirror/ftp.cpan.org/
1653                                 ftp://ftp.belnet.be/mirror/ftp.cpan.org/
1654                                 http://ftp.easynet.be/pub/CPAN/
1655                                 http://cpan.weepee.org/
1656                                 http://cpan.fluoline.net/
1657
1658       Bosnia and Herzegovina
1659                                 http://cpan.blic.net/
1660
1661       Bulgaria
1662                                 http://cpan.cbox.biz/
1663                                 ftp://cpan.cbox.biz/cpan/
1664                                 http://cpan.digsys.bg/
1665                                 ftp://ftp.digsys.bg/pub/CPAN
1666
1667       Croatia
1668                                 http://ftp.carnet.hr/pub/CPAN/
1669                                 ftp://ftp.carnet.hr/pub/CPAN/
1670
1671       Czech Republic
1672                                 ftp://ftp.fi.muni.cz/pub/CPAN/
1673                                 http://archive.cpan.cz/
1674
1675       Denmark
1676                                 http://mirrors.dotsrc.org/cpan
1677                                 ftp://mirrors.dotsrc.org/cpan/
1678                                 http://www.cpan.dk/
1679                                 http://mirror.uni-c.dk/pub/CPAN/
1680
1681       Finland
1682                                 ftp://ftp.funet.fi/pub/languages/perl/CPAN/
1683                                 http://mirror.eunet.fi/CPAN
1684
1685       France
1686                                 http://cpan.enstimac.fr/
1687                                 ftp://ftp.inria.fr/pub/CPAN/
1688                                 http://distrib-coffee.ipsl.jussieu.fr/pub/mirrors/cpan/
1689                                 ftp://distrib-coffee.ipsl.jussieu.fr/pub/mirrors/cpan/
1690                                 ftp://ftp.lip6.fr/pub/perl/CPAN/
1691                                 http://mir2.ovh.net/ftp.cpan.org
1692                                 ftp://mir1.ovh.net/ftp.cpan.org
1693                                 http://cpan.miroir-francais.fr/
1694                                 ftp://miroir-francais.fr/pub/cpan/
1695                                 ftp://ftp.oleane.net/pub/CPAN/
1696                                 http://ftp.crihan.fr/mirrors/ftp.cpan.org/
1697                                 ftp://ftp.crihan.fr/mirrors/ftp.cpan.org/
1698                                 http://ftp.u-strasbg.fr/CPAN
1699                                 ftp://ftp.u-strasbg.fr/CPAN
1700                                 http://cpan.cict.fr/
1701                                 ftp://cpan.cict.fr/pub/CPAN/
1702
1703       Germany
1704                                 ftp://ftp.fu-berlin.de/unix/languages/perl/
1705                                 http://mirrors.softliste.de/cpan/
1706                                 ftp://ftp.rub.de/pub/CPAN/
1707                                 http://www.planet-elektronik.de/CPAN/
1708                                 http://ftp.hosteurope.de/pub/CPAN/
1709                                 ftp://ftp.hosteurope.de/pub/CPAN/
1710                                 http://www.mirrorspace.org/cpan/
1711                                 http://mirror.netcologne.de/cpan/
1712                                 ftp://mirror.netcologne.de/cpan/
1713                                 ftp://ftp.freenet.de/pub/ftp.cpan.org/pub/CPAN/
1714                                 http://ftp-stud.hs-esslingen.de/pub/Mirrors/CPAN/
1715                                 ftp://ftp-stud.hs-esslingen.de/pub/Mirrors/CPAN/
1716                                 http://mirrors.zerg.biz/cpan/
1717                                 http://ftp.gwdg.de/pub/languages/perl/CPAN/
1718                                 ftp://ftp.gwdg.de/pub/languages/perl/CPAN/
1719                                 http://dl.ambiweb.de/mirrors/ftp.cpan.org/
1720                                 http://cpan.mirror.clusters.kg/
1721                                 http://cpan.mirror.iphh.net/
1722                                 ftp://cpan.mirror.iphh.net/pub/CPAN/
1723                                 http://cpan.mirroring.de/
1724                                 http://mirror.informatik.uni-mannheim.de/pub/mirrors/CPAN/
1725                                 ftp://mirror.informatik.uni-mannheim.de/pub/mirrors/CPAN/
1726                                 http://ftp.cw.net/pub/CPAN/
1727                                 ftp://ftp.cw.net/pub/CPAN/
1728                                 http://cpan.cpantesters.org/
1729                                 ftp://cpan.cpantesters.org/CPAN/
1730                                 http://cpan.mirrored.de/
1731                                 ftp://mirror.petamem.com/CPAN/
1732                                 http://cpan.noris.de/
1733                                 ftp://cpan.noris.de/pub/CPAN/
1734                                 ftp://ftp.mpi-sb.mpg.de/pub/perl/CPAN/
1735                                 ftp://ftp.gmd.de/mirrors/CPAN/
1736
1737       Greece
1738                                 ftp://ftp.forthnet.gr/pub/languages/perl/CPAN
1739                                 ftp://ftp.ntua.gr/pub/lang/perl/
1740                                 http://cpan.cc.uoc.gr/
1741                                 ftp://ftp.cc.uoc.gr/mirrors/CPAN/
1742
1743       Hungary
1744                                 http://cpan.mirrors.enexis.hu/
1745                                 ftp://cpan.mirrors.enexis.hu/mirrors/cpan/
1746                                 http://cpan.hu/
1747
1748       Iceland
1749                                 http://ftp.rhnet.is/pub/CPAN/
1750                                 ftp://ftp.rhnet.is/pub/CPAN/
1751
1752       Ireland
1753                                 http://ftp.esat.net/pub/languages/perl/CPAN/
1754                                 ftp://ftp.esat.net/pub/languages/perl/CPAN/
1755                                 http://ftp.heanet.ie/mirrors/ftp.perl.org/pub/CPAN
1756                                 ftp://ftp.heanet.ie/mirrors/ftp.perl.org/pub/CPAN
1757
1758       Italy
1759                                 http://bo.mirror.garr.it/mirrors/CPAN/
1760                                 http://cpan.panu.it/
1761                                 ftp://ftp.panu.it/pub/mirrors/perl/CPAN/
1762                                 http://cpan.fastbull.org/
1763
1764       Latvia
1765                                 http://kvin.lv/pub/CPAN/
1766
1767       Lithuania
1768                                 http://ftp.litnet.lt/pub/CPAN/
1769                                 ftp://ftp.litnet.lt/pub/CPAN/
1770
1771       Malta
1772                                 http://cpan.waldonet.net.mt/
1773
1774       Netherlands
1775                                 ftp://ftp.quicknet.nl/pub/CPAN/
1776                                 http://mirror.hostfuss.com/CPAN/
1777                                 ftp://mirror.hostfuss.com/CPAN/
1778                                 http://mirrors3.kernel.org/cpan/
1779                                 ftp://mirrors3.kernel.org/pub/CPAN/
1780                                 http://cpan.osmirror.nl/
1781                                 ftp://ftp.osmirror.nl/pub/cpan/
1782                                 http://cpan.mirror.versatel.nl/
1783                                 ftp://ftp.mirror.versatel.nl/cpan/
1784                                 ftp://download.xs4all.nl/pub/mirror/CPAN/
1785                                 http://mirror.leaseweb.com/CPAN/
1786                                 ftp://mirror.leaseweb.com/CPAN/
1787                                 ftp://ftp.cpan.nl/pub/CPAN/
1788                                 http://archive.cs.uu.nl/mirror/CPAN/
1789                                 ftp://ftp.cs.uu.nl/mirror/CPAN/
1790                                 http://https://luxitude.net/cpan/
1791
1792       Norway
1793                                 ftp://ftp.uninett.no/pub/languages/perl/CPAN
1794                                 ftp://ftp.uit.no/pub/languages/perl/cpan/
1795
1796       Poland
1797                                 http://mirror.icis.pcz.pl/CPAN/
1798                                 ftp://mirror.icis.pcz.pl/CPAN/
1799                                 http://piotrkosoft.net/pub/mirrors/CPAN/
1800                                 ftp://ftp.piotrkosoft.net/pub/mirrors/CPAN/
1801                                 http://ftp.man.poznan.pl/pub/CPAN
1802                                 ftp://ftp.man.poznan.pl/pub/CPAN
1803                                 ftp://sunsite.icm.edu.pl/pub/CPAN/
1804                                 ftp://ftp.tpnet.pl/d4/CPAN/
1805
1806       Portugal
1807                                 http://cpan.dei.uc.pt/
1808                                 ftp://ftp.dei.uc.pt/pub/CPAN
1809                                 ftp://ftp.ist.utl.pt/pub/CPAN/
1810                                 http://cpan.perl.pt/
1811                                 http://cpan.ip.pt/
1812                                 ftp://cpan.ip.pt/pub/cpan/
1813                                 http://mirrors.nfsi.pt/CPAN/
1814                                 ftp://mirrors.nfsi.pt/pub/CPAN/
1815                                 http://cpan.dcc.fc.up.pt/
1816
1817       Romania
1818                                 http://ftp.astral.ro/pub/CPAN/
1819                                 ftp://ftp.astral.ro/pub/CPAN/
1820                                 ftp://ftp.lug.ro/CPAN
1821                                 http://mirrors.xservers.ro/CPAN/
1822                                 http://mirrors.hostingromania.ro/ftp.cpan.org/
1823                                 ftp://ftp.hostingromania.ro/mirrors/ftp.cpan.org/
1824                                 ftp://ftp.iasi.roedu.net/pub/mirrors/ftp.cpan.org/
1825                                 ftp://ftp.ambra.ro/pub/CPAN
1826
1827       Russia
1828                                 ftp://ftp.aha.ru/CPAN/
1829                                 http://cpan.rinet.ru/
1830                                 ftp://cpan.rinet.ru/pub/mirror/CPAN/
1831                                 ftp://ftp.SpringDaemons.com/pub/CPAN/
1832                                 http://cpan.nx1.ru/
1833                                 ftp://cpan.nx1.ru/
1834                                 http://mirror.rol.ru/CPAN/
1835                                 http://ftp.silvernet.ru/CPAN/
1836                                 http://ftp.spbu.ru/CPAN/
1837                                 ftp://ftp.spbu.ru/CPAN/
1838
1839       Slovakia
1840                                 http://cpan.fyxm.net/
1841
1842       Slovenia
1843                                 http://www.klevze.si/cpan
1844
1845       Spain
1846                                 http://osl.ugr.es/CPAN/
1847                                 ftp://ftp.rediris.es/mirror/CPAN/
1848                                 http://ftp.gui.uva.es/sites/cpan.org/
1849                                 ftp://ftp.gui.uva.es/sites/cpan.org/
1850
1851       Sweden
1852                                 http://mirrors4.kernel.org/cpan/
1853                                 ftp://mirrors4.kernel.org/pub/CPAN/
1854
1855       Switzerland
1856                                 http://cpan.mirror.solnet.ch/
1857                                 ftp://ftp.solnet.ch/mirror/CPAN/
1858                                 http://mirror.switch.ch/ftp/mirror/CPAN/
1859                                 ftp://mirror.switch.ch/mirror/CPAN/
1860
1861       Ukraine
1862                                 http://cpan.makeperl.org/
1863                                 ftp://cpan.makeperl.org/pub/CPAN
1864                                 http://cpan.org.ua/
1865                                 http://no-more.kiev.ua/CPAN/
1866                                 ftp://no-more.kiev.ua/pub/CPAN/
1867                                 http://cpan.gafol.net/
1868                                 ftp://ftp.gafol.net/pub/cpan/
1869
1870       United Kingdom
1871                                 http://www.mirrorservice.org/sites/ftp.funet.fi/pub/languages/perl/CPAN/
1872                                 ftp://ftp.mirrorservice.org/sites/ftp.funet.fi/pub/languages/perl/CPAN/
1873                                 http://mirror.tje.me.uk/pub/mirrors/ftp.cpan.org/
1874                                 ftp://mirror.tje.me.uk/pub/mirrors/ftp.cpan.org/
1875                                 http://www.mirror.8086.net/sites/CPAN/
1876                                 ftp://ftp.mirror.8086.net/sites/CPAN/
1877                                 http://cpan.mirror.anlx.net/
1878                                 ftp://ftp.mirror.anlx.net/CPAN/
1879                                 http://mirror.bytemark.co.uk/CPAN/
1880                                 ftp://mirror.bytemark.co.uk/CPAN/
1881                                 http://cpan.etla.org/
1882                                 ftp://cpan.etla.org/pub/CPAN
1883                                 ftp://ftp.demon.co.uk/pub/CPAN/
1884                                 http://mirror.sov.uk.goscomb.net/CPAN/
1885                                 ftp://mirror.sov.uk.goscomb.net/pub/CPAN/
1886                                 http://ftp.plig.net/pub/CPAN/
1887                                 ftp://ftp.plig.net/pub/CPAN/
1888                                 http://ftp.ticklers.org/pub/CPAN/
1889                                 ftp://ftp.ticklers.org/pub/CPAN/
1890                                 http://cpan.mirrors.uk2.net/
1891                                 ftp://mirrors.uk2.net/pub/CPAN/
1892                                 http://mirror.ox.ac.uk/sites/www.cpan.org/
1893                                 ftp://mirror.ox.ac.uk/sites/www.cpan.org/
1894
1895   North America
1896       Bahamas
1897                                 http://www.securehost.com/mirror/CPAN/
1898
1899       Canada
1900                                 http://cpan.justanotherperlhacker.com/pub/CPAN/
1901                                 ftp://cpan.justanotherperlhacker.com/pub/CPAN/
1902                                 http://cpan.arcticnetwork.ca
1903                                 ftp://mirror.arcticnetwork.ca/pub/CPAN
1904                                 http://cpan.sunsite.ualberta.ca/
1905                                 ftp://cpan.sunsite.ualberta.ca/pub/CPAN/
1906                                 http://theoryx5.uwinnipeg.ca/pub/CPAN/
1907                                 ftp://theoryx5.uwinnipeg.ca/pub/CPAN/
1908                                 http://arwen.cs.dal.ca/mirror/CPAN/
1909                                 ftp://arwen.cs.dal.ca/pub/mirror/CPAN/
1910                                 http://CPAN.mirror.rafal.ca/
1911                                 ftp://CPAN.mirror.rafal.ca/pub/CPAN/
1912                                 ftp://ftp.nrc.ca/pub/CPAN/
1913                                 http://mirror.csclub.uwaterloo.ca/pub/CPAN/
1914                                 ftp://mirror.csclub.uwaterloo.ca/pub/CPAN/
1915
1916       Mexico
1917                                 http://www.msg.com.mx/CPAN/
1918                                 ftp://ftp.msg.com.mx/pub/CPAN/
1919
1920       United States
1921           Alabama
1922                                         http://mirror.hiwaay.net/CPAN/
1923                                         ftp://mirror.hiwaay.net/CPAN/
1924
1925           California
1926                                         http://cpan.knowledgematters.net/
1927                                         http://cpan.binkerton.com/
1928                                         http://cpan.develooper.com/
1929                                         http://mirrors.gossamer-threads.com/CPAN
1930                                         http://cpan.schatt.com/
1931                                         http://mirrors.kernel.org/cpan/
1932                                         ftp://mirrors.kernel.org/pub/CPAN
1933                                         http://mirrors2.kernel.org/cpan/
1934                                         ftp://mirrors2.kernel.org/pub/CPAN/
1935                                         http://cpan.mirrors.redwire.net/
1936                                         http://cpan.mirror.facebook.net/
1937                                         http://mirrors1.kernel.org/cpan/
1938                                         ftp://mirrors1.kernel.org/pub/CPAN/
1939                                         http://cpan-sj.viaverio.com/
1940                                         ftp://cpan-sj.viaverio.com/pub/CPAN/
1941                                         http://www.perl.com/CPAN/
1942                                         http://cpan.yahoo.com/
1943
1944           Florida
1945                                         ftp://ftp.cise.ufl.edu/pub/mirrors/CPAN/
1946                                         http://mirror.atlantic.net/pub/CPAN/
1947                                         ftp://mirror.atlantic.net/pub/CPAN/
1948                                         http://mirror.candidhosting.com/pub/CPAN
1949                                         ftp://mirror.candidhosting.com/pub/CPAN
1950
1951           Idaho
1952                                         http://mirror.its.uidaho.edu/pub/cpan/
1953                                         ftp://mirror.its.uidaho.edu/cpan/
1954
1955           Illinois
1956                                         http://cpan.mirrors.hoobly.com/
1957                                         http://cpan.uchicago.edu/pub/CPAN/
1958                                         ftp://cpan.uchicago.edu/pub/CPAN/
1959                                         http://mirrors.servercentral.net/CPAN/
1960                                         http://www.stathy.com/CPAN/
1961                                         ftp://www.stathy.com/CPAN/
1962
1963           Indiana
1964                                         ftp://ftp.uwsg.iu.edu/pub/perl/CPAN/
1965                                         http://cpan.netnitco.net/
1966                                         ftp://cpan.netnitco.net/pub/mirrors/CPAN/
1967                                         http://ftp.ndlug.nd.edu/pub/perl/
1968                                         ftp://ftp.ndlug.nd.edu/pub/perl/
1969                                         http://fx.saintjoe.edu/pub/CPAN
1970
1971           Massachusetts
1972                                         ftp://ftp.ccs.neu.edu/net/mirrors/ftp.funet.fi/pub/languages/perl/CPAN/
1973
1974           Michigan
1975                                         http://ftp.wayne.edu/cpan/
1976                                         ftp://ftp.wayne.edu/cpan/
1977
1978           Minnesota
1979                                         http://cpan.msi.umn.edu/
1980
1981           New Jersey
1982                                         http://mirror.datapipe.net/CPAN/
1983                                         ftp://mirror.datapipe.net/pub/CPAN/
1984
1985           New York
1986                                         http://mirrors.24-7-solutions.net/pub/CPAN/
1987                                         ftp://mirrors.24-7-solutions.net/pub/CPAN/
1988                                         http://mirror.cc.columbia.edu/pub/software/cpan/
1989                                         ftp://mirror.cc.columbia.edu/pub/software/cpan/
1990                                         http://cpan.belfry.net/
1991                                         http://cpan.erlbaum.net/
1992                                         ftp://cpan.erlbaum.net/CPAN/
1993                                         http://cpan.hexten.net/
1994                                         ftp://cpan.hexten.net/
1995                                         http://ftp.fxcorporate.com/CPAN/
1996                                         ftp://ftp.fxcorporate.com/pub/CPAN/
1997                                         ftp://mirror.nyi.net/CPAN/
1998                                         http://mirror.rit.edu/CPAN/
1999                                         ftp://mirror.rit.edu/CPAN/
2000
2001           North Carolina
2002                                         http://www.ibiblio.org/pub/mirrors/CPAN
2003                                         ftp://ftp.ncsu.edu/pub/mirror/CPAN/
2004
2005           Oregon
2006                                         http://ftp.osuosl.org/pub/CPAN/
2007                                         ftp://ftp.osuosl.org/pub/CPAN/
2008
2009           Pennsylvania
2010                                         http://ftp.epix.net/CPAN/
2011                                         ftp://ftp.epix.net/pub/languages/perl/
2012                                         http://cpan.pair.com/
2013                                         ftp://cpan.pair.com/pub/CPAN/
2014
2015           South Carolina
2016                                         http://cpan.mirror.clemson.edu/
2017
2018           Tennessee
2019                                         http://mira.sunsite.utk.edu/CPAN/
2020
2021           Texas
2022                                         http://mirror.uta.edu/CPAN
2023
2024           Utah
2025                                         http://cpan.cs.utah.edu
2026                                         ftp://cpan.cs.utah.edu/pub/CPAN/
2027                                         ftp://mirror.xmission.com/CPAN/
2028
2029           Virginia
2030                                         http://cpan-du.viaverio.com/
2031                                         ftp://cpan-du.viaverio.com/pub/CPAN/
2032                                         http://perl.secsup.org/
2033                                         ftp://perl.secsup.org/pub/perl/
2034                                         ftp://mirror.cogentco.com/pub/CPAN/
2035
2036           Washington
2037                                         http://cpan.llarian.net/
2038                                         ftp://cpan.llarian.net/pub/CPAN/
2039                                         ftp://ftp-mirror.internap.com/pub/CPAN/
2040
2041           Wisconsin
2042                                         http://cpan.mirrors.tds.net
2043                                         ftp://cpan.mirrors.tds.net/pub/CPAN
2044                                         http://mirror.sit.wisc.edu/pub/CPAN/
2045                                         ftp://mirror.sit.wisc.edu/pub/CPAN/
2046
2047   Oceania
2048       Australia
2049                                 http://mirror.internode.on.net/pub/cpan/
2050                                 ftp://mirror.internode.on.net/pub/cpan/
2051                                 http://cpan.mirror.aussiehq.net.au/
2052                                 http://mirror.as24220.net/cpan/
2053                                 ftp://mirror.as24220.net/cpan/
2054
2055       New Zealand
2056                                 ftp://ftp.auckland.ac.nz/pub/perl/CPAN/
2057                                 http://cpan.inspire.net.nz
2058                                 ftp://cpan.inspire.net.nz/cpan
2059                                 http://cpan.catalyst.net.nz/CPAN/
2060                                 ftp://cpan.catalyst.net.nz/pub/CPAN/
2061
2062   South America
2063       Argentina
2064                                 http://cpan.patan.com.ar/
2065                                 http://cpan.localhost.net.ar
2066                                 ftp://mirrors.localhost.net.ar/pub/mirrors/CPAN
2067
2068       Brazil
2069                                 ftp://cpan.pop-mg.com.br/pub/CPAN/
2070                                 http://ftp.pucpr.br/CPAN
2071                                 ftp://ftp.pucpr.br/CPAN
2072                                 http://cpan.kinghost.net/
2073                                 ftp://ftp.linorg.usp.br/CPAN
2074
2075       Chile
2076                                 http://cpan.dcc.uchile.cl/
2077                                 ftp://cpan.dcc.uchile.cl/pub/lang/cpan/
2078
2079       Colombia
2080                                 http://www.laqee.unal.edu.co/CPAN/
2081
2082   RSYNC Mirrors
2083                             mirror.as24220.net::cpan
2084                             cpan.inode.at::CPAN
2085                             gd.tuwien.ac.at::CPAN
2086                             ftp.belnet.be::packages/cpan
2087                             rsync.linorg.usp.br::CPAN
2088                             rsync.arcticnetwork.ca::CPAN
2089                             CPAN.mirror.rafal.ca::CPAN
2090                             mirror.csclub.uwaterloo.ca::CPAN
2091                             theoryx5.uwinnipeg.ca::CPAN
2092                             www.laqee.unal.edu.co::CPAN
2093                             mirror.uni-c.dk::CPAN
2094                             rsync.nic.funet.fi::CPAN
2095                             rsync://distrib-coffee.ipsl.jussieu.fr/pub/mirrors/cpan/
2096                             mir1.ovh.net::CPAN
2097                             miroir-francais.fr::cpan
2098                             ftp.crihan.fr::CPAN
2099                             rsync://mirror.cict.fr/cpan/
2100                             rsync://mirror.netcologne.de/cpan/
2101                             ftp-stud.hs-esslingen.de::CPAN/
2102                             ftp.gwdg.de::FTP/languages/perl/CPAN/
2103                             cpan.mirror.iphh.net::CPAN
2104                             cpan.cpantesters.org::cpan
2105                             cpan.hu::CPAN
2106                             komo.vlsm.org::CPAN
2107                             mirror.unej.ac.id::cpan
2108                             ftp.esat.net::/pub/languages/perl/CPAN
2109                             ftp.heanet.ie::mirrors/ftp.perl.org/pub/CPAN
2110                             rsync.panu.it::CPAN
2111                             cpan.fastbull.org::CPAN
2112                             ftp.kddilabs.jp::cpan
2113                             ftp.nara.wide.ad.jp::cpan/
2114                             rsync://ftp.jaist.ac.jp/pub/CPAN/
2115                             rsync://ftp.riken.jp/cpan/
2116                             mirror.linuxiso.kz::CPAN
2117                             rsync://mirrors3.kernel.org/mirrors/CPAN/
2118                             rsync://rsync.osmirror.nl/cpan/
2119                             mirror.leaseweb.com::CPAN
2120                             cpan.nautile.nc::CPAN
2121                             mirror.icis.pcz.pl::CPAN
2122                             piotrkosoft.net::mirrors/CPAN
2123                             rsync://cpan.perl.pt/
2124                             ftp.kaist.ac.kr::cpan
2125                             cpan.sarang.net::CPAN
2126                             mirror.averse.net::cpan
2127                             rsync.oss.eznetsols.org
2128                             mirror.ac.za::cpan
2129                             ftp.is.co.za::IS-Mirror/ftp.cpan.org/
2130                             rsync://ftp.gui.uva.es/cpan/
2131                             rsync://mirrors4.kernel.org/mirrors/CPAN/
2132                             ftp.solnet.ch::CPAN
2133                             ftp.ulak.net.tr::CPAN
2134                             gafol.net::cpan
2135                             rsync.mirrorservice.org::ftp.funet.fi/pub/
2136                             rsync://rsync.mirror.8086.net/CPAN/
2137                             rsync.mirror.anlx.net::CPAN
2138                             mirror.bytemark.co.uk::CPAN
2139                             ftp.plig.net::CPAN
2140                             rsync://ftp.ticklers.org:CPAN/
2141                             mirrors.ibiblio.org::CPAN
2142                             cpan-du.viaverio.com::CPAN
2143                             mirror.hiwaay.net::CPAN
2144                             rsync://mira.sunsite.utk.edu/CPAN/
2145                             cpan.mirrors.tds.net::CPAN
2146                             mirror.its.uidaho.edu::cpan
2147                             rsync://mirror.cc.columbia.edu::cpan/
2148                             ftp.fxcorporate.com::CPAN
2149                             rsync.atlantic.net::CPAN
2150                             mirrors.kernel.org::mirrors/CPAN
2151                             rsync://mirrors2.kernel.org/mirrors/CPAN/
2152                             cpan.pair.com::CPAN
2153                             rsync://mirror.rit.edu/CPAN/
2154                             rsync://mirror.facebook.net/cpan/
2155                             rsync://mirrors1.kernel.org/mirrors/CPAN/
2156                             cpan-sj.viaverio.com::CPAN
2157
2158       For an up-to-date listing of CPAN sites, see http://www.cpan.org/SITES
2159       or ftp://www.cpan.org/SITES .
2160

Modules: Creation, Use, and Abuse

2162       (The following section is borrowed directly from Tim Bunce's modules
2163       file, available at your nearest CPAN site.)
2164
2165       Perl implements a class using a package, but the presence of a package
2166       doesn't imply the presence of a class.  A package is just a namespace.
2167       A class is a package that provides subroutines that can be used as
2168       methods.  A method is just a subroutine that expects, as its first
2169       argument, either the name of a package (for "static" methods), or a
2170       reference to something (for "virtual" methods).
2171
2172       A module is a file that (by convention) provides a class of the same
2173       name (sans the .pm), plus an import method in that class that can be
2174       called to fetch exported symbols.  This module may implement some of
2175       its methods by loading dynamic C or C++ objects, but that should be
2176       totally transparent to the user of the module.  Likewise, the module
2177       might set up an AUTOLOAD function to slurp in subroutine definitions on
2178       demand, but this is also transparent.  Only the .pm file is required to
2179       exist.  See perlsub, perltoot, and AutoLoader for details about the
2180       AUTOLOAD mechanism.
2181
2182   Guidelines for Module Creation
2183       ·   Do similar modules already exist in some form?
2184
2185           If so, please try to reuse the existing modules either in whole or
2186           by inheriting useful features into a new class.  If this is not
2187           practical try to get together with the module authors to work on
2188           extending or enhancing the functionality of the existing modules.
2189           A perfect example is the plethora of packages in perl4 for dealing
2190           with command line options.
2191
2192           If you are writing a module to expand an already existing set of
2193           modules, please coordinate with the author of the package.  It
2194           helps if you follow the same naming scheme and module interaction
2195           scheme as the original author.
2196
2197       ·   Try to design the new module to be easy to extend and reuse.
2198
2199           Try to "use warnings;" (or "use warnings qw(...);").  Remember that
2200           you can add "no warnings qw(...);" to individual blocks of code
2201           that need less warnings.
2202
2203           Use blessed references.  Use the two argument form of bless to
2204           bless into the class name given as the first parameter of the
2205           constructor, e.g.,:
2206
2207            sub new {
2208                my $class = shift;
2209                return bless {}, $class;
2210            }
2211
2212           or even this if you'd like it to be used as either a static or a
2213           virtual method.
2214
2215            sub new {
2216                my $self  = shift;
2217                my $class = ref($self) || $self;
2218                return bless {}, $class;
2219            }
2220
2221           Pass arrays as references so more parameters can be added later
2222           (it's also faster).  Convert functions into methods where
2223           appropriate.  Split large methods into smaller more flexible ones.
2224           Inherit methods from other modules if appropriate.
2225
2226           Avoid class name tests like: "die "Invalid" unless ref $ref eq
2227           'FOO'".  Generally you can delete the "eq 'FOO'" part with no harm
2228           at all.  Let the objects look after themselves! Generally, avoid
2229           hard-wired class names as far as possible.
2230
2231           Avoid "$r->Class::func()" where using "@ISA=qw(... Class ...)" and
2232           "$r->func()" would work (see perlbot for more details).
2233
2234           Use autosplit so little used or newly added functions won't be a
2235           burden to programs that don't use them. Add test functions to the
2236           module after __END__ either using AutoSplit or by saying:
2237
2238            eval join('',<main::DATA>) || die $@ unless caller();
2239
2240           Does your module pass the 'empty subclass' test? If you say
2241           "@SUBCLASS::ISA = qw(YOURCLASS);" your applications should be able
2242           to use SUBCLASS in exactly the same way as YOURCLASS.  For example,
2243           does your application still work if you change:  "$obj =
2244           YOURCLASS->new();" into: "$obj = SUBCLASS->new();" ?
2245
2246           Avoid keeping any state information in your packages. It makes it
2247           difficult for multiple other packages to use yours. Keep state
2248           information in objects.
2249
2250           Always use -w.
2251
2252           Try to "use strict;" (or "use strict qw(...);").  Remember that you
2253           can add "no strict qw(...);" to individual blocks of code that need
2254           less strictness.
2255
2256           Always use -w.
2257
2258           Follow the guidelines in perlstyle.
2259
2260           Always use -w.
2261
2262       ·   Some simple style guidelines
2263
2264           The perlstyle manual supplied with Perl has many helpful points.
2265
2266           Coding style is a matter of personal taste. Many people evolve
2267           their style over several years as they learn what helps them write
2268           and maintain good code.  Here's one set of assorted suggestions
2269           that seem to be widely used by experienced developers:
2270
2271           Use underscores to separate words.  It is generally easier to read
2272           $var_names_like_this than $VarNamesLikeThis, especially for non-
2273           native speakers of English. It's also a simple rule that works
2274           consistently with VAR_NAMES_LIKE_THIS.
2275
2276           Package/Module names are an exception to this rule. Perl informally
2277           reserves lowercase module names for 'pragma' modules like integer
2278           and strict. Other modules normally begin with a capital letter and
2279           use mixed case with no underscores (need to be short and portable).
2280
2281           You may find it helpful to use letter case to indicate the scope or
2282           nature of a variable. For example:
2283
2284            $ALL_CAPS_HERE   constants only (beware clashes with Perl vars)
2285            $Some_Caps_Here  package-wide global/static
2286            $no_caps_here    function scope my() or local() variables
2287
2288           Function and method names seem to work best as all lowercase.
2289           e.g., "$obj->as_string()".
2290
2291           You can use a leading underscore to indicate that a variable or
2292           function should not be used outside the package that defined it.
2293
2294       ·   Select what to export.
2295
2296           Do NOT export method names!
2297
2298           Do NOT export anything else by default without a good reason!
2299
2300           Exports pollute the namespace of the module user.  If you must
2301           export try to use @EXPORT_OK in preference to @EXPORT and avoid
2302           short or common names to reduce the risk of name clashes.
2303
2304           Generally anything not exported is still accessible from outside
2305           the module using the ModuleName::item_name (or
2306           "$blessed_ref->method") syntax.  By convention you can use a
2307           leading underscore on names to indicate informally that they are
2308           'internal' and not for public use.
2309
2310           (It is actually possible to get private functions by saying: "my
2311           $subref = sub { ... };  &$subref;".  But there's no way to call
2312           that directly as a method, because a method must have a name in the
2313           symbol table.)
2314
2315           As a general rule, if the module is trying to be object oriented
2316           then export nothing. If it's just a collection of functions then
2317           @EXPORT_OK anything but use @EXPORT with caution.
2318
2319       ·   Select a name for the module.
2320
2321           This name should be as descriptive, accurate, and complete as
2322           possible.  Avoid any risk of ambiguity. Always try to use two or
2323           more whole words.  Generally the name should reflect what is
2324           special about what the module does rather than how it does it.
2325           Please use nested module names to group informally or categorize a
2326           module.  There should be a very good reason for a module not to
2327           have a nested name.  Module names should begin with a capital
2328           letter.
2329
2330           Having 57 modules all called Sort will not make life easy for
2331           anyone (though having 23 called Sort::Quick is only marginally
2332           better :-).  Imagine someone trying to install your module
2333           alongside many others.  If in any doubt ask for suggestions in
2334           comp.lang.perl.misc.
2335
2336           If you are developing a suite of related modules/classes it's good
2337           practice to use nested classes with a common prefix as this will
2338           avoid namespace clashes. For example: Xyz::Control, Xyz::View,
2339           Xyz::Model etc. Use the modules in this list as a naming guide.
2340
2341           If adding a new module to a set, follow the original author's
2342           standards for naming modules and the interface to methods in those
2343           modules.
2344
2345           If developing modules for private internal or project specific use,
2346           that will never be released to the public, then you should ensure
2347           that their names will not clash with any future public module. You
2348           can do this either by using the reserved Local::* category or by
2349           using a category name that includes an underscore like Foo_Corp::*.
2350
2351           To be portable each component of a module name should be limited to
2352           11 characters. If it might be used on MS-DOS then try to ensure
2353           each is unique in the first 8 characters. Nested modules make this
2354           easier.
2355
2356       ·   Have you got it right?
2357
2358           How do you know that you've made the right decisions? Have you
2359           picked an interface design that will cause problems later? Have you
2360           picked the most appropriate name? Do you have any questions?
2361
2362           The best way to know for sure, and pick up many helpful
2363           suggestions, is to ask someone who knows. Comp.lang.perl.misc is
2364           read by just about all the people who develop modules and it's the
2365           best place to ask.
2366
2367           All you need to do is post a short summary of the module, its
2368           purpose and interfaces. A few lines on each of the main methods is
2369           probably enough. (If you post the whole module it might be ignored
2370           by busy people - generally the very people you want to read it!)
2371
2372           Don't worry about posting if you can't say when the module will be
2373           ready - just say so in the message. It might be worth inviting
2374           others to help you, they may be able to complete it for you!
2375
2376       ·   README and other Additional Files.
2377
2378           It's well known that software developers usually fully document the
2379           software they write. If, however, the world is in urgent need of
2380           your software and there is not enough time to write the full
2381           documentation please at least provide a README file containing:
2382
2383           ·         A description of the module/package/extension etc.
2384
2385           ·         A copyright notice - see below.
2386
2387           ·         Prerequisites - what else you may need to have.
2388
2389           ·         How to build it - possible changes to Makefile.PL etc.
2390
2391           ·         How to install it.
2392
2393           ·         Recent changes in this release, especially
2394                     incompatibilities
2395
2396           ·         Changes / enhancements you plan to make in the future.
2397
2398           If the README file seems to be getting too large you may wish to
2399           split out some of the sections into separate files: INSTALL,
2400           Copying, ToDo etc.
2401
2402           ·   Adding a Copyright Notice.
2403
2404               How you choose to license your work is a personal decision.
2405               The general mechanism is to assert your Copyright and then make
2406               a declaration of how others may copy/use/modify your work.
2407
2408               Perl, for example, is supplied with two types of licence: The
2409               GNU GPL and The Artistic Licence (see the files README,
2410               Copying, and Artistic, or perlgpl and perlartistic).  Larry has
2411               good reasons for NOT just using the GNU GPL.
2412
2413               My personal recommendation, out of respect for Larry, Perl, and
2414               the Perl community at large is to state something simply like:
2415
2416                Copyright (c) 1995 Your Name. All rights reserved.
2417                This program is free software; you can redistribute it and/or
2418                modify it under the same terms as Perl itself.
2419
2420               This statement should at least appear in the README file. You
2421               may also wish to include it in a Copying file and your source
2422               files.  Remember to include the other words in addition to the
2423               Copyright.
2424
2425           ·   Give the module a version/issue/release number.
2426
2427               To be fully compatible with the Exporter and MakeMaker modules
2428               you should store your module's version number in a non-my
2429               package variable called $VERSION.  This should be a floating
2430               point number with at least two digits after the decimal (i.e.,
2431               hundredths, e.g, "$VERSION = "0.01"").  Don't use a "1.3.2"
2432               style version.  See Exporter for details.
2433
2434               It may be handy to add a function or method to retrieve the
2435               number.  Use the number in announcements and archive file names
2436               when releasing the module (ModuleName-1.02.tar.Z).  See perldoc
2437               ExtUtils::MakeMaker.pm for details.
2438
2439           ·   How to release and distribute a module.
2440
2441               It's good idea to post an announcement of the availability of
2442               your module (or the module itself if small) to the
2443               comp.lang.perl.announce Usenet newsgroup.  This will at least
2444               ensure very wide once-off distribution.
2445
2446               If possible, register the module with CPAN.  You should include
2447               details of its location in your announcement.
2448
2449               Some notes about ftp archives: Please use a long descriptive
2450               file name that includes the version number. Most incoming
2451               directories will not be readable/listable, i.e., you won't be
2452               able to see your file after uploading it. Remember to send your
2453               email notification message as soon as possible after uploading
2454               else your file may get deleted automatically. Allow time for
2455               the file to be processed and/or check the file has been
2456               processed before announcing its location.
2457
2458               FTP Archives for Perl Modules:
2459
2460               Follow the instructions and links on:
2461
2462                  http://www.cpan.org/modules/00modlist.long.html
2463                  http://www.cpan.org/modules/04pause.html
2464
2465               or upload to one of these sites:
2466
2467                  https://pause.kbx.de/pause/
2468                  http://pause.perl.org/
2469
2470               and notify <modules@perl.org>.
2471
2472               By using the WWW interface you can ask the Upload Server to
2473               mirror your modules from your ftp or WWW site into your own
2474               directory on CPAN!
2475
2476               Please remember to send me an updated entry for the Module
2477               list!
2478
2479           ·   Take care when changing a released module.
2480
2481               Always strive to remain compatible with previous released
2482               versions.  Otherwise try to add a mechanism to revert to the
2483               old behavior if people rely on it.  Document incompatible
2484               changes.
2485
2486   Guidelines for Converting Perl 4 Library Scripts into Modules
2487       ·   There is no requirement to convert anything.
2488
2489           If it ain't broke, don't fix it! Perl 4 library scripts should
2490           continue to work with no problems. You may need to make some minor
2491           changes (like escaping non-array @'s in double quoted strings) but
2492           there is no need to convert a .pl file into a Module for just that.
2493
2494       ·   Consider the implications.
2495
2496           All Perl applications that make use of the script will need to be
2497           changed (slightly) if the script is converted into a module.  Is it
2498           worth it unless you plan to make other changes at the same time?
2499
2500       ·   Make the most of the opportunity.
2501
2502           If you are going to convert the script to a module you can use the
2503           opportunity to redesign the interface.  The guidelines for module
2504           creation above include many of the issues you should consider.
2505
2506       ·   The pl2pm utility will get you started.
2507
2508           This utility will read *.pl files (given as parameters) and write
2509           corresponding *.pm files. The pl2pm utilities does the following:
2510
2511           ·         Adds the standard Module prologue lines
2512
2513           ·         Converts package specifiers from ' to ::
2514
2515           ·         Converts die(...) to croak(...)
2516
2517           ·         Several other minor changes
2518
2519           Being a mechanical process pl2pm is not bullet proof. The converted
2520           code will need careful checking, especially any package statements.
2521           Don't delete the original .pl file till the new .pm one works!
2522
2523   Guidelines for Reusing Application Code
2524       ·   Complete applications rarely belong in the Perl Module Library.
2525
2526       ·   Many applications contain some Perl code that could be reused.
2527
2528           Help save the world! Share your code in a form that makes it easy
2529           to reuse.
2530
2531       ·   Break-out the reusable code into one or more separate module files.
2532
2533       ·   Take the opportunity to reconsider and redesign the interfaces.
2534
2535       ·   In some cases the 'application' can then be reduced to a small
2536
2537           fragment of code built on top of the reusable modules. In these
2538           cases the application could invoked as:
2539
2540                % perl -e 'use Module::Name; method(@ARGV)' ...
2541           or
2542                % perl -mModule::Name ...    (in perl5.002 or higher)
2543

NOTE

2545       Perl does not enforce private and public parts of its modules as you
2546       may have been used to in other languages like C++, Ada, or Modula-17.
2547       Perl doesn't have an infatuation with enforced privacy.  It would
2548       prefer that you stayed out of its living room because you weren't
2549       invited, not because it has a shotgun.
2550
2551       The module and its user have a contract, part of which is common law,
2552       and part of which is "written".  Part of the common law contract is
2553       that a module doesn't pollute any namespace it wasn't asked to.  The
2554       written contract for the module (A.K.A. documentation) may make other
2555       provisions.  But then you know when you "use RedefineTheWorld" that
2556       you're redefining the world and willing to take the consequences.
2557

POD ERRORS

2559       Hey! The above document had some coding errors, which are explained
2560       below:
2561
2562       Around line 3396:
2563           You forgot a '=back' before '=head2'
2564
2565       Around line 3494:
2566           =back without =over
2567
2568
2569
2570perl v5.12.4                      2011-11-04                     PERLMODLIB(1)
Impressum