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       autodie::skip
59                   Skip a package when throwing autodie exceptions
60
61       autouse     Postpone load of modules until a function is used
62
63       base        Establish an ISA relationship with base classes at compile
64                   time
65
66       bigint      Transparent BigInteger support for Perl
67
68       bignum      Transparent BigNumber support for Perl
69
70       bigrat      Transparent BigNumber/BigRational support for Perl
71
72       blib        Use MakeMaker's uninstalled version of a package
73
74       bytes       Expose the individual bytes of characters
75
76       charnames   Access to Unicode character names and named character
77                   sequences; also define character names
78
79       constant    Declare constants
80
81       deprecate   Perl pragma for deprecating the inclusion of a module in
82                   core
83
84       diagnostics Produce verbose warning diagnostics
85
86       encoding    Allows you to write your script in non-ASCII and non-UTF-8
87
88       encoding::warnings
89                   Warn on implicit encoding conversions
90
91       experimental
92                   Experimental features made easy
93
94       feature     Enable new features
95
96       fields      Compile-time class fields
97
98       filetest    Control the filetest permission operators
99
100       if          "use" a Perl module if a condition holds
101
102       integer     Use integer arithmetic instead of floating point
103
104       less        Request less of something
105
106       lib         Manipulate @INC at compile time
107
108       locale      Use or avoid POSIX locales for built-in operations
109
110       mro         Method Resolution Order
111
112       ok          Alternative to Test::More::use_ok
113
114       open        Set default PerlIO layers for input and output
115
116       ops         Restrict unsafe operations when compiling
117
118       overload    Package for overloading Perl operations
119
120       overloading Lexically control overloading
121
122       parent      Establish an ISA relationship with base classes at compile
123                   time
124
125       re          Alter regular expression behaviour
126
127       sigtrap     Enable simple signal handling
128
129       sort        Control sort() behaviour
130
131       strict      Restrict unsafe constructs
132
133       subs        Predeclare subroutine names
134
135       threads     Perl interpreter-based threads
136
137       threads::shared
138                   Perl extension for sharing data structures between threads
139
140       utf8        Enable/disable UTF-8 (or UTF-EBCDIC) in source code
141
142       vars        Predeclare global variable names
143
144       version     Perl extension for Version Objects
145
146       vmsish      Control VMS-specific language features
147
148       warnings    Control optional warnings
149
150       warnings::register
151                   Warnings import function
152
153   Standard Modules
154       Standard, bundled modules are all expected to behave in a well-defined
155       manner with respect to namespace pollution because they use the
156       Exporter module.  See their own documentation for details.
157
158       It's possible that not all modules listed below are installed on your
159       system. For example, the GDBM_File module will not be installed if you
160       don't have the gdbm library.
161
162       Amiga::ARexx
163                   Perl extension for ARexx support
164
165       Amiga::Exec Perl extension for low level amiga support
166
167       AnyDBM_File Provide framework for multiple DBMs
168
169       App::Cpan   Easily interact with CPAN from the command line
170
171       App::Prove  Implements the "prove" command.
172
173       App::Prove::State
174                   State storage for the "prove" command.
175
176       App::Prove::State::Result
177                   Individual test suite results.
178
179       App::Prove::State::Result::Test
180                   Individual test results.
181
182       Archive::Tar
183                   Module for manipulations of tar archives
184
185       Archive::Tar::File
186                   A subclass for in-memory extracted file from Archive::Tar
187
188       Attribute::Handlers
189                   Simpler definition of attribute handlers
190
191       AutoLoader  Load subroutines only on demand
192
193       AutoSplit   Split a package for autoloading
194
195       B           The Perl Compiler Backend
196
197       B::Concise  Walk Perl syntax tree, printing concise info about ops
198
199       B::Deparse  Perl compiler backend to produce perl code
200
201       B::Op_private
202                   OP op_private flag definitions
203
204       B::Showlex  Show lexical variables used in functions or files
205
206       B::Terse    Walk Perl syntax tree, printing terse info about ops
207
208       B::Xref     Generates cross reference reports for Perl programs
209
210       Benchmark   Benchmark running times of Perl code
211
212       "IO::Socket::IP"
213                   Family-neutral IP socket supporting both IPv4 and IPv6
214
215       "Socket"    Networking constants and support functions
216
217       CORE        Namespace for Perl's core routines
218
219       CPAN        Query, download and build perl modules from CPAN sites
220
221       CPAN::API::HOWTO
222                   A recipe book for programming with CPAN.pm
223
224       CPAN::Debug Internal debugging for CPAN.pm
225
226       CPAN::Distroprefs
227                   Read and match distroprefs
228
229       CPAN::FirstTime
230                   Utility for CPAN::Config file Initialization
231
232       CPAN::HandleConfig
233                   Internal configuration handling for CPAN.pm
234
235       CPAN::Kwalify
236                   Interface between CPAN.pm and Kwalify.pm
237
238       CPAN::Meta  The distribution metadata for a CPAN dist
239
240       CPAN::Meta::Converter
241                   Convert CPAN distribution metadata structures
242
243       CPAN::Meta::Feature
244                   An optional feature provided by a CPAN distribution
245
246       CPAN::Meta::History
247                   History of CPAN Meta Spec changes
248
249       CPAN::Meta::History::Meta_1_0
250                   Version 1.0 metadata specification for META.yml
251
252       CPAN::Meta::History::Meta_1_1
253                   Version 1.1 metadata specification for META.yml
254
255       CPAN::Meta::History::Meta_1_2
256                   Version 1.2 metadata specification for META.yml
257
258       CPAN::Meta::History::Meta_1_3
259                   Version 1.3 metadata specification for META.yml
260
261       CPAN::Meta::History::Meta_1_4
262                   Version 1.4 metadata specification for META.yml
263
264       CPAN::Meta::Merge
265                   Merging CPAN Meta fragments
266
267       CPAN::Meta::Prereqs
268                   A set of distribution prerequisites by phase and type
269
270       CPAN::Meta::Requirements
271                   A set of version requirements for a CPAN dist
272
273       CPAN::Meta::Spec
274                   Specification for CPAN distribution metadata
275
276       CPAN::Meta::Validator
277                   Validate CPAN distribution metadata structures
278
279       CPAN::Meta::YAML
280                   Read and write a subset of YAML for CPAN Meta files
281
282       CPAN::Nox   Wrapper around CPAN.pm without using any XS module
283
284       CPAN::Plugin
285                   Base class for CPAN shell extensions
286
287       CPAN::Plugin::Specfile
288                   Proof of concept implementation of a trivial CPAN::Plugin
289
290       CPAN::Queue Internal queue support for CPAN.pm
291
292       CPAN::Tarzip
293                   Internal handling of tar archives for CPAN.pm
294
295       CPAN::Version
296                   Utility functions to compare CPAN versions
297
298       Carp        Alternative warn and die for modules
299
300       Class::Struct
301                   Declare struct-like datatypes as Perl classes
302
303       Compress::Raw::Bzip2
304                   Low-Level Interface to bzip2 compression library
305
306       Compress::Raw::Zlib
307                   Low-Level Interface to zlib compression library
308
309       Compress::Zlib
310                   Interface to zlib compression library
311
312       Config      Access Perl configuration information
313
314       Config::Extensions
315                   Hash lookup of which core extensions were built.
316
317       Config::Perl::V
318                   Structured data retrieval of perl -V output
319
320       Cwd         Get pathname of current working directory
321
322       DB          Programmatic interface to the Perl debugging API
323
324       DBM_Filter  Filter DBM keys/values
325
326       DBM_Filter::compress
327                   Filter for DBM_Filter
328
329       DBM_Filter::encode
330                   Filter for DBM_Filter
331
332       DBM_Filter::int32
333                   Filter for DBM_Filter
334
335       DBM_Filter::null
336                   Filter for DBM_Filter
337
338       DBM_Filter::utf8
339                   Filter for DBM_Filter
340
341       DB_File     Perl5 access to Berkeley DB version 1.x
342
343       Data::Dumper
344                   Stringified perl data structures, suitable for both
345                   printing and "eval"
346
347       Devel::PPPort
348                   Perl/Pollution/Portability
349
350       Devel::Peek A data debugging tool for the XS programmer
351
352       Devel::SelfStubber
353                   Generate stubs for a SelfLoading module
354
355       Digest      Modules that calculate message digests
356
357       Digest::MD5 Perl interface to the MD5 Algorithm
358
359       Digest::SHA Perl extension for SHA-1/224/256/384/512
360
361       Digest::base
362                   Digest base class
363
364       Digest::file
365                   Calculate digests of files
366
367       DirHandle   (obsolete) supply object methods for directory handles
368
369       Dumpvalue   Provides screen dump of Perl data.
370
371       DynaLoader  Dynamically load C libraries into Perl code
372
373       Encode      Character encodings in Perl
374
375       Encode::Alias
376                   Alias definitions to encodings
377
378       Encode::Byte
379                   Single Byte Encodings
380
381       Encode::CJKConstants
382                   Internally used by Encode::??::ISO_2022_*
383
384       Encode::CN  China-based Chinese Encodings
385
386       Encode::CN::HZ
387                   Internally used by Encode::CN
388
389       Encode::Config
390                   Internally used by Encode
391
392       Encode::EBCDIC
393                   EBCDIC Encodings
394
395       Encode::Encoder
396                   Object Oriented Encoder
397
398       Encode::Encoding
399                   Encode Implementation Base Class
400
401       Encode::GSM0338
402                   ESTI GSM 03.38 Encoding
403
404       Encode::Guess
405                   Guesses encoding from data
406
407       Encode::JP  Japanese Encodings
408
409       Encode::JP::H2Z
410                   Internally used by Encode::JP::2022_JP*
411
412       Encode::JP::JIS7
413                   Internally used by Encode::JP
414
415       Encode::KR  Korean Encodings
416
417       Encode::KR::2022_KR
418                   Internally used by Encode::KR
419
420       Encode::MIME::Header
421                   MIME encoding for an unstructured email header
422
423       Encode::MIME::Name
424                   Internally used by Encode
425
426       Encode::PerlIO
427                   A detailed document on Encode and PerlIO
428
429       Encode::Supported
430                   Encodings supported by Encode
431
432       Encode::Symbol
433                   Symbol Encodings
434
435       Encode::TW  Taiwan-based Chinese Encodings
436
437       Encode::Unicode
438                   Various Unicode Transformation Formats
439
440       Encode::Unicode::UTF7
441                   UTF-7 encoding
442
443       English     Use nice English (or awk) names for ugly punctuation
444                   variables
445
446       Env         Perl module that imports environment variables as scalars
447                   or arrays
448
449       Errno       System errno constants
450
451       Exporter    Implements default import method for modules
452
453       Exporter::Heavy
454                   Exporter guts
455
456       ExtUtils::CBuilder
457                   Compile and link C code for Perl modules
458
459       ExtUtils::CBuilder::Platform::Windows
460                   Builder class for Windows platforms
461
462       ExtUtils::Command
463                   Utilities to replace common UNIX commands in Makefiles etc.
464
465       ExtUtils::Command::MM
466                   Commands for the MM's to use in Makefiles
467
468       ExtUtils::Constant
469                   Generate XS code to import C header constants
470
471       ExtUtils::Constant::Base
472                   Base class for ExtUtils::Constant objects
473
474       ExtUtils::Constant::Utils
475                   Helper functions for ExtUtils::Constant
476
477       ExtUtils::Constant::XS
478                   Generate C code for XS modules' constants.
479
480       ExtUtils::Embed
481                   Utilities for embedding Perl in C/C++ applications
482
483       ExtUtils::Install
484                   Install files from here to there
485
486       ExtUtils::Installed
487                   Inventory management of installed modules
488
489       ExtUtils::Liblist
490                   Determine libraries to use and how to use them
491
492       ExtUtils::MM
493                   OS adjusted ExtUtils::MakeMaker subclass
494
495       ExtUtils::MM::Utils
496                   ExtUtils::MM methods without dependency on
497                   ExtUtils::MakeMaker
498
499       ExtUtils::MM_AIX
500                   AIX specific subclass of ExtUtils::MM_Unix
501
502       ExtUtils::MM_Any
503                   Platform-agnostic MM methods
504
505       ExtUtils::MM_BeOS
506                   Methods to override UN*X behaviour in ExtUtils::MakeMaker
507
508       ExtUtils::MM_Cygwin
509                   Methods to override UN*X behaviour in ExtUtils::MakeMaker
510
511       ExtUtils::MM_DOS
512                   DOS specific subclass of ExtUtils::MM_Unix
513
514       ExtUtils::MM_Darwin
515                   Special behaviors for OS X
516
517       ExtUtils::MM_MacOS
518                   Once produced Makefiles for MacOS Classic
519
520       ExtUtils::MM_NW5
521                   Methods to override UN*X behaviour in ExtUtils::MakeMaker
522
523       ExtUtils::MM_OS2
524                   Methods to override UN*X behaviour in ExtUtils::MakeMaker
525
526       ExtUtils::MM_QNX
527                   QNX specific subclass of ExtUtils::MM_Unix
528
529       ExtUtils::MM_UWIN
530                   U/WIN specific subclass of ExtUtils::MM_Unix
531
532       ExtUtils::MM_Unix
533                   Methods used by ExtUtils::MakeMaker
534
535       ExtUtils::MM_VMS
536                   Methods to override UN*X behaviour in ExtUtils::MakeMaker
537
538       ExtUtils::MM_VOS
539                   VOS specific subclass of ExtUtils::MM_Unix
540
541       ExtUtils::MM_Win32
542                   Methods to override UN*X behaviour in ExtUtils::MakeMaker
543
544       ExtUtils::MM_Win95
545                   Method to customize MakeMaker for Win9X
546
547       ExtUtils::MY
548                   ExtUtils::MakeMaker subclass for customization
549
550       ExtUtils::MakeMaker
551                   Create a module Makefile
552
553       ExtUtils::MakeMaker::Config
554                   Wrapper around Config.pm
555
556       ExtUtils::MakeMaker::FAQ
557                   Frequently Asked Questions About MakeMaker
558
559       ExtUtils::MakeMaker::Locale
560                   Bundled Encode::Locale
561
562       ExtUtils::MakeMaker::Tutorial
563                   Writing a module with MakeMaker
564
565       ExtUtils::Manifest
566                   Utilities to write and check a MANIFEST file
567
568       ExtUtils::Miniperl
569                   Write the C code for miniperlmain.c and perlmain.c
570
571       ExtUtils::Mkbootstrap
572                   Make a bootstrap file for use by DynaLoader
573
574       ExtUtils::Mksymlists
575                   Write linker options files for dynamic extension
576
577       ExtUtils::Packlist
578                   Manage .packlist files
579
580       ExtUtils::ParseXS
581                   Converts Perl XS code into C code
582
583       ExtUtils::ParseXS::Constants
584                   Initialization values for some globals
585
586       ExtUtils::ParseXS::Eval
587                   Clean package to evaluate code in
588
589       ExtUtils::ParseXS::Utilities
590                   Subroutines used with ExtUtils::ParseXS
591
592       ExtUtils::Typemaps
593                   Read/Write/Modify Perl/XS typemap files
594
595       ExtUtils::Typemaps::Cmd
596                   Quick commands for handling typemaps
597
598       ExtUtils::Typemaps::InputMap
599                   Entry in the INPUT section of a typemap
600
601       ExtUtils::Typemaps::OutputMap
602                   Entry in the OUTPUT section of a typemap
603
604       ExtUtils::Typemaps::Type
605                   Entry in the TYPEMAP section of a typemap
606
607       ExtUtils::XSSymSet
608                   Keep sets of symbol names palatable to the VMS linker
609
610       ExtUtils::testlib
611                   Add blib/* directories to @INC
612
613       Fatal       Replace functions with equivalents which succeed or die
614
615       Fcntl       Load the C Fcntl.h defines
616
617       File::Basename
618                   Parse file paths into directory, filename and suffix.
619
620       File::Compare
621                   Compare files or filehandles
622
623       File::Copy  Copy files or filehandles
624
625       File::DosGlob
626                   DOS like globbing and then some
627
628       File::Fetch A generic file fetching mechanism
629
630       File::Find  Traverse a directory tree.
631
632       File::Glob  Perl extension for BSD glob routine
633
634       File::GlobMapper
635                   Extend File Glob to Allow Input and Output Files
636
637       File::Path  Create or remove directory trees
638
639       File::Spec  Portably perform operations on file names
640
641       File::Spec::AmigaOS
642                   File::Spec for AmigaOS
643
644       File::Spec::Cygwin
645                   Methods for Cygwin file specs
646
647       File::Spec::Epoc
648                   Methods for Epoc file specs
649
650       File::Spec::Functions
651                   Portably perform operations on file names
652
653       File::Spec::Mac
654                   File::Spec for Mac OS (Classic)
655
656       File::Spec::OS2
657                   Methods for OS/2 file specs
658
659       File::Spec::Unix
660                   File::Spec for Unix, base for other File::Spec modules
661
662       File::Spec::VMS
663                   Methods for VMS file specs
664
665       File::Spec::Win32
666                   Methods for Win32 file specs
667
668       File::Temp  Return name and handle of a temporary file safely
669
670       File::stat  By-name interface to Perl's built-in stat() functions
671
672       FileCache   Keep more files open than the system permits
673
674       FileHandle  Supply object methods for filehandles
675
676       Filter::Simple
677                   Simplified source filtering
678
679       Filter::Util::Call
680                   Perl Source Filter Utility Module
681
682       FindBin     Locate directory of original perl script
683
684       GDBM_File   Perl5 access to the gdbm library.
685
686       Getopt::Long
687                   Extended processing of command line options
688
689       Getopt::Std Process single-character switches with switch clustering
690
691       HTTP::Tiny  A small, simple, correct HTTP/1.1 client
692
693       Hash::Util  A selection of general-utility hash subroutines
694
695       Hash::Util::FieldHash
696                   Support for Inside-Out Classes
697
698       I18N::Collate
699                   Compare 8-bit scalar data according to the current locale
700
701       I18N::LangTags
702                   Functions for dealing with RFC3066-style language tags
703
704       I18N::LangTags::Detect
705                   Detect the user's language preferences
706
707       I18N::LangTags::List
708                   Tags and names for human languages
709
710       I18N::Langinfo
711                   Query locale information
712
713       IO          Load various IO modules
714
715       IO::Compress::Base
716                   Base Class for IO::Compress modules
717
718       IO::Compress::Bzip2
719                   Write bzip2 files/buffers
720
721       IO::Compress::Deflate
722                   Write RFC 1950 files/buffers
723
724       IO::Compress::FAQ
725                   Frequently Asked Questions about IO::Compress
726
727       IO::Compress::Gzip
728                   Write RFC 1952 files/buffers
729
730       IO::Compress::RawDeflate
731                   Write RFC 1951 files/buffers
732
733       IO::Compress::Zip
734                   Write zip files/buffers
735
736       IO::Dir     Supply object methods for directory handles
737
738       IO::File    Supply object methods for filehandles
739
740       IO::Handle  Supply object methods for I/O handles
741
742       IO::Pipe    Supply object methods for pipes
743
744       IO::Poll    Object interface to system poll call
745
746       IO::Seekable
747                   Supply seek based methods for I/O objects
748
749       IO::Select  OO interface to the select system call
750
751       IO::Socket  Object interface to socket communications
752
753       IO::Socket::INET
754                   Object interface for AF_INET domain sockets
755
756       IO::Socket::UNIX
757                   Object interface for AF_UNIX domain sockets
758
759       IO::Uncompress::AnyInflate
760                   Uncompress zlib-based (zip, gzip) file/buffer
761
762       IO::Uncompress::AnyUncompress
763                   Uncompress gzip, zip, bzip2 or lzop file/buffer
764
765       IO::Uncompress::Base
766                   Base Class for IO::Uncompress modules
767
768       IO::Uncompress::Bunzip2
769                   Read bzip2 files/buffers
770
771       IO::Uncompress::Gunzip
772                   Read RFC 1952 files/buffers
773
774       IO::Uncompress::Inflate
775                   Read RFC 1950 files/buffers
776
777       IO::Uncompress::RawInflate
778                   Read RFC 1951 files/buffers
779
780       IO::Uncompress::Unzip
781                   Read zip files/buffers
782
783       IO::Zlib    IO:: style interface to Compress::Zlib
784
785       IPC::Cmd    Finding and running system commands made easy
786
787       IPC::Msg    SysV Msg IPC object class
788
789       IPC::Open2  Open a process for both reading and writing using open2()
790
791       IPC::Open3  Open a process for reading, writing, and error handling
792                   using open3()
793
794       IPC::Semaphore
795                   SysV Semaphore IPC object class
796
797       IPC::SharedMem
798                   SysV Shared Memory IPC object class
799
800       IPC::SysV   System V IPC constants and system calls
801
802       Internals   Reserved special namespace for internals related functions
803
804       JSON::PP    JSON::XS compatible pure-Perl module.
805
806       JSON::PP::Boolean
807                   Dummy module providing JSON::PP::Boolean
808
809       List::Util  A selection of general-utility list subroutines
810
811       List::Util::XS
812                   Indicate if List::Util was compiled with a C compiler
813
814       Locale::Maketext
815                   Framework for localization
816
817       Locale::Maketext::Cookbook
818                   Recipes for using Locale::Maketext
819
820       Locale::Maketext::Guts
821                   Deprecated module to load Locale::Maketext utf8 code
822
823       Locale::Maketext::GutsLoader
824                   Deprecated module to load Locale::Maketext utf8 code
825
826       Locale::Maketext::Simple
827                   Simple interface to Locale::Maketext::Lexicon
828
829       Locale::Maketext::TPJ13
830                   Article about software localization
831
832       MIME::Base64
833                   Encoding and decoding of base64 strings
834
835       MIME::QuotedPrint
836                   Encoding and decoding of quoted-printable strings
837
838       Math::BigFloat
839                   Arbitrary size floating point math package
840
841       Math::BigInt
842                   Arbitrary size integer/float math package
843
844       Math::BigInt::Calc
845                   Pure Perl module to support Math::BigInt
846
847       Math::BigInt::FastCalc
848                   Math::BigInt::Calc with some XS for more speed
849
850       Math::BigInt::Lib
851                   Virtual parent class for Math::BigInt libraries
852
853       Math::BigRat
854                   Arbitrary big rational numbers
855
856       Math::Complex
857                   Complex numbers and associated mathematical functions
858
859       Math::Trig  Trigonometric functions
860
861       Memoize     Make functions faster by trading space for time
862
863       Memoize::AnyDBM_File
864                   Glue to provide EXISTS for AnyDBM_File for Storable use
865
866       Memoize::Expire
867                   Plug-in module for automatic expiration of memoized values
868
869       Memoize::ExpireFile
870                   Test for Memoize expiration semantics
871
872       Memoize::ExpireTest
873                   Test for Memoize expiration semantics
874
875       Memoize::NDBM_File
876                   Glue to provide EXISTS for NDBM_File for Storable use
877
878       Memoize::SDBM_File
879                   Glue to provide EXISTS for SDBM_File for Storable use
880
881       Memoize::Storable
882                   Store Memoized data in Storable database
883
884       Module::CoreList
885                   What modules shipped with versions of perl
886
887       Module::CoreList::Utils
888                   What utilities shipped with versions of perl
889
890       Module::Load
891                   Runtime require of both modules and files
892
893       Module::Load::Conditional
894                   Looking up module information / loading at runtime
895
896       Module::Loaded
897                   Mark modules as loaded or unloaded
898
899       Module::Metadata
900                   Gather package and POD information from perl module files
901
902       NDBM_File   Tied access to ndbm files
903
904       NEXT        Provide a pseudo-class NEXT (et al) that allows method
905                   redispatch
906
907       Net::Cmd    Network Command class (as used by FTP, SMTP etc)
908
909       Net::Config Local configuration data for libnet
910
911       Net::Domain Attempt to evaluate the current host's internet name and
912                   domain
913
914       Net::FTP    FTP Client class
915
916       Net::FTP::dataconn
917                   FTP Client data connection class
918
919       Net::NNTP   NNTP Client class
920
921       Net::Netrc  OO interface to users netrc file
922
923       Net::POP3   Post Office Protocol 3 Client class (RFC1939)
924
925       Net::Ping   Check a remote host for reachability
926
927       Net::SMTP   Simple Mail Transfer Protocol Client
928
929       Net::Time   Time and daytime network client interface
930
931       Net::hostent
932                   By-name interface to Perl's built-in gethost*() functions
933
934       Net::libnetFAQ
935                   Libnet Frequently Asked Questions
936
937       Net::netent By-name interface to Perl's built-in getnet*() functions
938
939       Net::protoent
940                   By-name interface to Perl's built-in getproto*() functions
941
942       Net::servent
943                   By-name interface to Perl's built-in getserv*() functions
944
945       O           Generic interface to Perl Compiler backends
946
947       ODBM_File   Tied access to odbm files
948
949       Opcode      Disable named opcodes when compiling perl code
950
951       POSIX       Perl interface to IEEE Std 1003.1
952
953       Params::Check
954                   A generic input parsing/checking mechanism.
955
956       Parse::CPAN::Meta
957                   Parse META.yml and META.json CPAN metadata files
958
959       Perl::OSType
960                   Map Perl operating system names to generic types
961
962       PerlIO      On demand loader for PerlIO layers and root of PerlIO::*
963                   name space
964
965       PerlIO::encoding
966                   Encoding layer
967
968       PerlIO::mmap
969                   Memory mapped IO
970
971       PerlIO::scalar
972                   In-memory IO, scalar IO
973
974       PerlIO::via Helper class for PerlIO layers implemented in perl
975
976       PerlIO::via::QuotedPrint
977                   PerlIO layer for quoted-printable strings
978
979       Pod::Checker
980                   Check pod documents for syntax errors
981
982       Pod::Escapes
983                   For resolving Pod E<...> sequences
984
985       Pod::Find   Find POD documents in directory trees
986
987       Pod::Functions
988                   Group Perl's functions a la perlfunc.pod
989
990       Pod::Html   Module to convert pod files to HTML
991
992       Pod::InputObjects
993                   Objects representing POD input paragraphs, commands, etc.
994
995       Pod::Man    Convert POD data to formatted *roff input
996
997       Pod::ParseLink
998                   Parse an L<> formatting code in POD text
999
1000       Pod::ParseUtils
1001                   Helpers for POD parsing and conversion
1002
1003       Pod::Parser Base class for creating POD filters and translators
1004
1005       Pod::Perldoc
1006                   Look up Perl documentation in Pod format.
1007
1008       Pod::Perldoc::BaseTo
1009                   Base for Pod::Perldoc formatters
1010
1011       Pod::Perldoc::GetOptsOO
1012                   Customized option parser for Pod::Perldoc
1013
1014       Pod::Perldoc::ToANSI
1015                   Render Pod with ANSI color escapes
1016
1017       Pod::Perldoc::ToChecker
1018                   Let Perldoc check Pod for errors
1019
1020       Pod::Perldoc::ToMan
1021                   Let Perldoc render Pod as man pages
1022
1023       Pod::Perldoc::ToNroff
1024                   Let Perldoc convert Pod to nroff
1025
1026       Pod::Perldoc::ToPod
1027                   Let Perldoc render Pod as ... Pod!
1028
1029       Pod::Perldoc::ToRtf
1030                   Let Perldoc render Pod as RTF
1031
1032       Pod::Perldoc::ToTerm
1033                   Render Pod with terminal escapes
1034
1035       Pod::Perldoc::ToText
1036                   Let Perldoc render Pod as plaintext
1037
1038       Pod::Perldoc::ToTk
1039                   Let Perldoc use Tk::Pod to render Pod
1040
1041       Pod::Perldoc::ToXml
1042                   Let Perldoc render Pod as XML
1043
1044       Pod::PlainText
1045                   Convert POD data to formatted ASCII text
1046
1047       Pod::Select Extract selected sections of POD from input
1048
1049       Pod::Simple Framework for parsing Pod
1050
1051       Pod::Simple::Checker
1052                   Check the Pod syntax of a document
1053
1054       Pod::Simple::Debug
1055                   Put Pod::Simple into trace/debug mode
1056
1057       Pod::Simple::DumpAsText
1058                   Dump Pod-parsing events as text
1059
1060       Pod::Simple::DumpAsXML
1061                   Turn Pod into XML
1062
1063       Pod::Simple::HTML
1064                   Convert Pod to HTML
1065
1066       Pod::Simple::HTMLBatch
1067                   Convert several Pod files to several HTML files
1068
1069       Pod::Simple::LinkSection
1070                   Represent "section" attributes of L codes
1071
1072       Pod::Simple::Methody
1073                   Turn Pod::Simple events into method calls
1074
1075       Pod::Simple::PullParser
1076                   A pull-parser interface to parsing Pod
1077
1078       Pod::Simple::PullParserEndToken
1079                   End-tokens from Pod::Simple::PullParser
1080
1081       Pod::Simple::PullParserStartToken
1082                   Start-tokens from Pod::Simple::PullParser
1083
1084       Pod::Simple::PullParserTextToken
1085                   Text-tokens from Pod::Simple::PullParser
1086
1087       Pod::Simple::PullParserToken
1088                   Tokens from Pod::Simple::PullParser
1089
1090       Pod::Simple::RTF
1091                   Format Pod as RTF
1092
1093       Pod::Simple::Search
1094                   Find POD documents in directory trees
1095
1096       Pod::Simple::SimpleTree
1097                   Parse Pod into a simple parse tree
1098
1099       Pod::Simple::Subclassing
1100                   Write a formatter as a Pod::Simple subclass
1101
1102       Pod::Simple::Text
1103                   Format Pod as plaintext
1104
1105       Pod::Simple::TextContent
1106                   Get the text content of Pod
1107
1108       Pod::Simple::XHTML
1109                   Format Pod as validating XHTML
1110
1111       Pod::Simple::XMLOutStream
1112                   Turn Pod into XML
1113
1114       Pod::Text   Convert POD data to formatted text
1115
1116       Pod::Text::Color
1117                   Convert POD data to formatted color ASCII text
1118
1119       Pod::Text::Overstrike
1120                   Convert POD data to formatted overstrike text
1121
1122       Pod::Text::Termcap
1123                   Convert POD data to ASCII text with format escapes
1124
1125       Pod::Usage  Print a usage message from embedded pod documentation
1126
1127       SDBM_File   Tied access to sdbm files
1128
1129       Safe        Compile and execute code in restricted compartments
1130
1131       Scalar::Util
1132                   A selection of general-utility scalar subroutines
1133
1134       Search::Dict
1135                   Look - search for key in dictionary file
1136
1137       SelectSaver Save and restore selected file handle
1138
1139       SelfLoader  Load functions only on demand
1140
1141       Storable    Persistence for Perl data structures
1142
1143       Sub::Util   A selection of utility subroutines for subs and CODE
1144                   references
1145
1146       Symbol      Manipulate Perl symbols and their names
1147
1148       Sys::Hostname
1149                   Try every conceivable way to get hostname
1150
1151       Sys::Syslog Perl interface to the UNIX syslog(3) calls
1152
1153       Sys::Syslog::Win32
1154                   Win32 support for Sys::Syslog
1155
1156       TAP::Base   Base class that provides common functionality to
1157                   TAP::Parser
1158
1159       TAP::Formatter::Base
1160                   Base class for harness output delegates
1161
1162       TAP::Formatter::Color
1163                   Run Perl test scripts with color
1164
1165       TAP::Formatter::Console
1166                   Harness output delegate for default console output
1167
1168       TAP::Formatter::Console::ParallelSession
1169                   Harness output delegate for parallel console output
1170
1171       TAP::Formatter::Console::Session
1172                   Harness output delegate for default console output
1173
1174       TAP::Formatter::File
1175                   Harness output delegate for file output
1176
1177       TAP::Formatter::File::Session
1178                   Harness output delegate for file output
1179
1180       TAP::Formatter::Session
1181                   Abstract base class for harness output delegate
1182
1183       TAP::Harness
1184                   Run test scripts with statistics
1185
1186       TAP::Harness::Env
1187                   Parsing harness related environmental variables where
1188                   appropriate
1189
1190       TAP::Object Base class that provides common functionality to all
1191                   "TAP::*" modules
1192
1193       TAP::Parser Parse TAP output
1194
1195       TAP::Parser::Aggregator
1196                   Aggregate TAP::Parser results
1197
1198       TAP::Parser::Grammar
1199                   A grammar for the Test Anything Protocol.
1200
1201       TAP::Parser::Iterator
1202                   Base class for TAP source iterators
1203
1204       TAP::Parser::Iterator::Array
1205                   Iterator for array-based TAP sources
1206
1207       TAP::Parser::Iterator::Process
1208                   Iterator for process-based TAP sources
1209
1210       TAP::Parser::Iterator::Stream
1211                   Iterator for filehandle-based TAP sources
1212
1213       TAP::Parser::IteratorFactory
1214                   Figures out which SourceHandler objects to use for a given
1215                   Source
1216
1217       TAP::Parser::Multiplexer
1218                   Multiplex multiple TAP::Parsers
1219
1220       TAP::Parser::Result
1221                   Base class for TAP::Parser output objects
1222
1223       TAP::Parser::Result::Bailout
1224                   Bailout result token.
1225
1226       TAP::Parser::Result::Comment
1227                   Comment result token.
1228
1229       TAP::Parser::Result::Plan
1230                   Plan result token.
1231
1232       TAP::Parser::Result::Pragma
1233                   TAP pragma token.
1234
1235       TAP::Parser::Result::Test
1236                   Test result token.
1237
1238       TAP::Parser::Result::Unknown
1239                   Unknown result token.
1240
1241       TAP::Parser::Result::Version
1242                   TAP syntax version token.
1243
1244       TAP::Parser::Result::YAML
1245                   YAML result token.
1246
1247       TAP::Parser::ResultFactory
1248                   Factory for creating TAP::Parser output objects
1249
1250       TAP::Parser::Scheduler
1251                   Schedule tests during parallel testing
1252
1253       TAP::Parser::Scheduler::Job
1254                   A single testing job.
1255
1256       TAP::Parser::Scheduler::Spinner
1257                   A no-op job.
1258
1259       TAP::Parser::Source
1260                   A TAP source & meta data about it
1261
1262       TAP::Parser::SourceHandler
1263                   Base class for different TAP source handlers
1264
1265       TAP::Parser::SourceHandler::Executable
1266                   Stream output from an executable TAP source
1267
1268       TAP::Parser::SourceHandler::File
1269                   Stream TAP from a text file.
1270
1271       TAP::Parser::SourceHandler::Handle
1272                   Stream TAP from an IO::Handle or a GLOB.
1273
1274       TAP::Parser::SourceHandler::Perl
1275                   Stream TAP from a Perl executable
1276
1277       TAP::Parser::SourceHandler::RawTAP
1278                   Stream output from raw TAP in a scalar/array ref.
1279
1280       TAP::Parser::YAMLish::Reader
1281                   Read YAMLish data from iterator
1282
1283       TAP::Parser::YAMLish::Writer
1284                   Write YAMLish data
1285
1286       Term::ANSIColor
1287                   Color screen output using ANSI escape sequences
1288
1289       Term::Cap   Perl termcap interface
1290
1291       Term::Complete
1292                   Perl word completion module
1293
1294       Term::ReadLine
1295                   Perl interface to various "readline" packages.
1296
1297       Test        Provides a simple framework for writing test scripts
1298
1299       Test2       Framework for writing test tools that all work together.
1300
1301       Test2::API  Primary interface for writing Test2 based testing tools.
1302
1303       Test2::API::Breakage
1304                   What breaks at what version
1305
1306       Test2::API::Context
1307                   Object to represent a testing context.
1308
1309       Test2::API::Instance
1310                   Object used by Test2::API under the hood
1311
1312       Test2::API::Stack
1313                   Object to manage a stack of Test2::Hub
1314
1315       Test2::Event
1316                   Base class for events
1317
1318       Test2::Event::Bail
1319                   Bailout!
1320
1321       Test2::Event::Diag
1322                   Diag event type
1323
1324       Test2::Event::Encoding
1325                   Set the encoding for the output stream
1326
1327       Test2::Event::Exception
1328                   Exception event
1329
1330       Test2::Event::Fail
1331                   Event for a simple failed assertion
1332
1333       Test2::Event::Generic
1334                   Generic event type.
1335
1336       Test2::Event::Note
1337                   Note event type
1338
1339       Test2::Event::Ok
1340                   Ok event type
1341
1342       Test2::Event::Pass
1343                   Event for a simple passing assertion
1344
1345       Test2::Event::Plan
1346                   The event of a plan
1347
1348       Test2::Event::Skip
1349                   Skip event type
1350
1351       Test2::Event::Subtest
1352                   Event for subtest types
1353
1354       Test2::Event::TAP::Version
1355                   Event for TAP version.
1356
1357       Test2::Event::V2
1358                   Second generation event.
1359
1360       Test2::Event::Waiting
1361                   Tell all procs/threads it is time to be done
1362
1363       Test2::EventFacet
1364                   Base class for all event facets.
1365
1366       Test2::EventFacet::About
1367                   Facet with event details.
1368
1369       Test2::EventFacet::Amnesty
1370                   Facet for assertion amnesty.
1371
1372       Test2::EventFacet::Assert
1373                   Facet representing an assertion.
1374
1375       Test2::EventFacet::Control
1376                   Facet for hub actions and behaviors.
1377
1378       Test2::EventFacet::Error
1379                   Facet for errors that need to be shown.
1380
1381       Test2::EventFacet::Hub
1382                   Facet for the hubs an event passes through.
1383
1384       Test2::EventFacet::Info
1385                   Facet for information a developer might care about.
1386
1387       Test2::EventFacet::Info::Table
1388                   Intermediary representation of a table.
1389
1390       Test2::EventFacet::Meta
1391                   Facet for meta-data
1392
1393       Test2::EventFacet::Parent
1394                   Facet for events contains other events
1395
1396       Test2::EventFacet::Plan
1397                   Facet for setting the plan
1398
1399       Test2::EventFacet::Render
1400                   Facet that dictates how to render an event.
1401
1402       Test2::EventFacet::Trace
1403                   Debug information for events
1404
1405       Test2::Formatter
1406                   Namespace for formatters.
1407
1408       Test2::Formatter::TAP
1409                   Standard TAP formatter
1410
1411       Test2::Hub  The conduit through which all events flow.
1412
1413       Test2::Hub::Interceptor
1414                   Hub used by interceptor to grab results.
1415
1416       Test2::Hub::Interceptor::Terminator
1417                   Exception class used by
1418
1419       Test2::Hub::Subtest
1420                   Hub used by subtests
1421
1422       Test2::IPC  Turn on IPC for threading or forking support.
1423
1424       Test2::IPC::Driver
1425                   Base class for Test2 IPC drivers.
1426
1427       Test2::IPC::Driver::Files
1428                   Temp dir + Files concurrency model.
1429
1430       Test2::Tools::Tiny
1431                   Tiny set of tools for unfortunate souls who cannot use
1432
1433       Test2::Transition
1434                   Transition notes when upgrading to Test2
1435
1436       Test2::Util Tools used by Test2 and friends.
1437
1438       Test2::Util::ExternalMeta
1439                   Allow third party tools to safely attach meta-data
1440
1441       Test2::Util::Facets2Legacy
1442                   Convert facet data to the legacy event API.
1443
1444       Test2::Util::HashBase
1445                   Build hash based classes.
1446
1447       Test2::Util::Trace
1448                   Legacy wrapper fro Test2::EventFacet::Trace.
1449
1450       Test::Builder
1451                   Backend for building test libraries
1452
1453       Test::Builder::Formatter
1454                   Test::Builder subclass of Test2::Formatter::TAP
1455
1456       Test::Builder::IO::Scalar
1457                   A copy of IO::Scalar for Test::Builder
1458
1459       Test::Builder::Module
1460                   Base class for test modules
1461
1462       Test::Builder::Tester
1463                   Test testsuites that have been built with
1464
1465       Test::Builder::Tester::Color
1466                   Turn on colour in Test::Builder::Tester
1467
1468       Test::Builder::TodoDiag
1469                   Test::Builder subclass of Test2::Event::Diag
1470
1471       Test::Harness
1472                   Run Perl standard test scripts with statistics
1473
1474       Test::Harness::Beyond
1475                   Beyond make test
1476
1477       Test::More  Yet another framework for writing test scripts
1478
1479       Test::Simple
1480                   Basic utilities for writing tests.
1481
1482       Test::Tester
1483                   Ease testing test modules built with Test::Builder
1484
1485       Test::Tester::Capture
1486                   Help testing test modules built with Test::Builder
1487
1488       Test::Tester::CaptureRunner
1489                   Help testing test modules built with Test::Builder
1490
1491       Test::Tutorial
1492                   A tutorial about writing really basic tests
1493
1494       Test::use::ok
1495                   Alternative to Test::More::use_ok
1496
1497       Text::Abbrev
1498                   Abbrev - create an abbreviation table from a list
1499
1500       Text::Balanced
1501                   Extract delimited text sequences from strings.
1502
1503       Text::ParseWords
1504                   Parse text into an array of tokens or array of arrays
1505
1506       Text::Tabs  Expand and unexpand tabs like unix expand(1) and
1507                   unexpand(1)
1508
1509       Text::Wrap  Line wrapping to form simple paragraphs
1510
1511       Thread      Manipulate threads in Perl (for old code only)
1512
1513       Thread::Queue
1514                   Thread-safe queues
1515
1516       Thread::Semaphore
1517                   Thread-safe semaphores
1518
1519       Tie::Array  Base class for tied arrays
1520
1521       Tie::File   Access the lines of a disk file via a Perl array
1522
1523       Tie::Handle Base class definitions for tied handles
1524
1525       Tie::Hash   Base class definitions for tied hashes
1526
1527       Tie::Hash::NamedCapture
1528                   Named regexp capture buffers
1529
1530       Tie::Memoize
1531                   Add data to hash when needed
1532
1533       Tie::RefHash
1534                   Use references as hash keys
1535
1536       Tie::Scalar Base class definitions for tied scalars
1537
1538       Tie::StdHandle
1539                   Base class definitions for tied handles
1540
1541       Tie::SubstrHash
1542                   Fixed-table-size, fixed-key-length hashing
1543
1544       Time::HiRes High resolution alarm, sleep, gettimeofday, interval timers
1545
1546       Time::Local Efficiently compute time from local and GMT time
1547
1548       Time::Piece Object Oriented time objects
1549
1550       Time::Seconds
1551                   A simple API to convert seconds to other date values
1552
1553       Time::gmtime
1554                   By-name interface to Perl's built-in gmtime() function
1555
1556       Time::localtime
1557                   By-name interface to Perl's built-in localtime() function
1558
1559       Time::tm    Internal object used by Time::gmtime and Time::localtime
1560
1561       UNIVERSAL   Base class for ALL classes (blessed references)
1562
1563       Unicode::Collate
1564                   Unicode Collation Algorithm
1565
1566       Unicode::Collate::CJK::Big5
1567                   Weighting CJK Unified Ideographs
1568
1569       Unicode::Collate::CJK::GB2312
1570                   Weighting CJK Unified Ideographs
1571
1572       Unicode::Collate::CJK::JISX0208
1573                   Weighting JIS KANJI for Unicode::Collate
1574
1575       Unicode::Collate::CJK::Korean
1576                   Weighting CJK Unified Ideographs
1577
1578       Unicode::Collate::CJK::Pinyin
1579                   Weighting CJK Unified Ideographs
1580
1581       Unicode::Collate::CJK::Stroke
1582                   Weighting CJK Unified Ideographs
1583
1584       Unicode::Collate::CJK::Zhuyin
1585                   Weighting CJK Unified Ideographs
1586
1587       Unicode::Collate::Locale
1588                   Linguistic tailoring for DUCET via Unicode::Collate
1589
1590       Unicode::Normalize
1591                   Unicode Normalization Forms
1592
1593       Unicode::UCD
1594                   Unicode character database
1595
1596       User::grent By-name interface to Perl's built-in getgr*() functions
1597
1598       User::pwent By-name interface to Perl's built-in getpw*() functions
1599
1600       VMS::DCLsym Perl extension to manipulate DCL symbols
1601
1602       VMS::Filespec
1603                   Convert between VMS and Unix file specification syntax
1604
1605       VMS::Stdio  Standard I/O functions via VMS extensions
1606
1607       Win32       Interfaces to some Win32 API Functions
1608
1609       Win32API::File
1610                   Low-level access to Win32 system API calls for files/dirs.
1611
1612       Win32CORE   Win32 CORE function stubs
1613
1614       XS::APItest Test the perl C API
1615
1616       XS::Typemap Module to test the XS typemaps distributed with perl
1617
1618       XSLoader    Dynamically load C libraries into Perl code
1619
1620       autodie::Scope::Guard
1621                   Wrapper class for calling subs at end of scope
1622
1623       autodie::Scope::GuardStack
1624                   Hook stack for managing scopes via %^H
1625
1626       autodie::Util
1627                   Internal Utility subroutines for autodie and Fatal
1628
1629       version::Internals
1630                   Perl extension for Version Objects
1631
1632       To find out all modules installed on your system, including those
1633       without documentation or outside the standard release, just use the
1634       following command (under the default win32 shell, double quotes should
1635       be used instead of single quotes).
1636
1637           % perl -MFile::Find=find -MFile::Spec::Functions -Tlwe \
1638             'find { wanted => sub { print canonpath $_ if /\.pm\z/ },
1639             no_chdir => 1 }, @INC'
1640
1641       (The -T is here to prevent '.' from being listed in @INC.)  They should
1642       all have their own documentation installed and accessible via your
1643       system man(1) command.  If you do not have a find program, you can use
1644       the Perl find2perl program instead, which generates Perl code as output
1645       you can run through perl.  If you have a man program but it doesn't
1646       find your modules, you'll have to fix your manpath.  See perl for
1647       details.  If you have no system man command, you might try the perldoc
1648       program.
1649
1650       Note also that the command "perldoc perllocal" gives you a (possibly
1651       incomplete) list of the modules that have been further installed on
1652       your system. (The perllocal.pod file is updated by the standard
1653       MakeMaker install process.)
1654
1655   Extension Modules
1656       Extension modules are written in C (or a mix of Perl and C).  They are
1657       usually dynamically loaded into Perl if and when you need them, but may
1658       also be linked in statically.  Supported extension modules include
1659       Socket, Fcntl, and POSIX.
1660
1661       Many popular C extension modules do not come bundled (at least, not
1662       completely) due to their sizes, volatility, or simply lack of time for
1663       adequate testing and configuration across the multitude of platforms on
1664       which Perl was beta-tested.  You are encouraged to look for them on
1665       CPAN (described below), or using web search engines like Google or
1666       DuckDuckGo.
1667

CPAN

1669       CPAN stands for Comprehensive Perl Archive Network; it's a globally
1670       replicated trove of Perl materials, including documentation, style
1671       guides, tricks and traps, alternate ports to non-Unix systems and
1672       occasional binary distributions for these.   Search engines for CPAN
1673       can be found at http://www.cpan.org/
1674
1675       Most importantly, CPAN includes around a thousand unbundled modules,
1676       some of which require a C compiler to build.  Major categories of
1677       modules are:
1678
1679       ·   Language Extensions and Documentation Tools
1680
1681       ·   Development Support
1682
1683       ·   Operating System Interfaces
1684
1685       ·   Networking, Device Control (modems) and InterProcess Communication
1686
1687       ·   Data Types and Data Type Utilities
1688
1689       ·   Database Interfaces
1690
1691       ·   User Interfaces
1692
1693       ·   Interfaces to / Emulations of Other Programming Languages
1694
1695       ·   File Names, File Systems and File Locking (see also File Handles)
1696
1697       ·   String Processing, Language Text Processing, Parsing, and Searching
1698
1699       ·   Option, Argument, Parameter, and Configuration File Processing
1700
1701       ·   Internationalization and Locale
1702
1703       ·   Authentication, Security, and Encryption
1704
1705       ·   World Wide Web, HTML, HTTP, CGI, MIME
1706
1707       ·   Server and Daemon Utilities
1708
1709       ·   Archiving and Compression
1710
1711       ·   Images, Pixmap and Bitmap Manipulation, Drawing, and Graphing
1712
1713       ·   Mail and Usenet News
1714
1715       ·   Control Flow Utilities (callbacks and exceptions etc)
1716
1717       ·   File Handle and Input/Output Stream Utilities
1718
1719       ·   Miscellaneous Modules
1720
1721       The list of the registered CPAN sites follows.  Please note that the
1722       sorting order is alphabetical on fields:
1723
1724       Continent
1725          |
1726          |-->Country
1727                |
1728                |-->[state/province]
1729                          |
1730                          |-->ftp
1731                          |
1732                          |-->[http]
1733
1734       and thus the North American servers happen to be listed between the
1735       European and the South American sites.
1736
1737       Registered CPAN sites
1738
1739   Africa
1740       South Africa
1741             http://mirror.is.co.za/pub/cpan/
1742             ftp://ftp.is.co.za/pub/cpan/
1743             http://cpan.mirror.ac.za/
1744             ftp://cpan.mirror.ac.za/
1745             http://cpan.saix.net/
1746             ftp://ftp.saix.net/pub/CPAN/
1747             http://ftp.wa.co.za/pub/CPAN/
1748             ftp://ftp.wa.co.za/pub/CPAN/
1749
1750       Uganda
1751             http://mirror.ucu.ac.ug/cpan/
1752
1753       Zimbabwe
1754             http://mirror.zol.co.zw/CPAN/
1755             ftp://mirror.zol.co.zw/CPAN/
1756
1757   Asia
1758       Bangladesh
1759             http://mirror.dhakacom.com/CPAN/
1760             ftp://mirror.dhakacom.com/CPAN/
1761
1762       China
1763             http://cpan.communilink.net/
1764             http://ftp.cuhk.edu.hk/pub/packages/perl/CPAN/
1765             ftp://ftp.cuhk.edu.hk/pub/packages/perl/CPAN/
1766             http://mirrors.hust.edu.cn/CPAN/
1767             http://mirrors.neusoft.edu.cn/cpan/
1768             http://mirror.lzu.edu.cn/CPAN/
1769             http://mirrors.163.com/cpan/
1770             http://mirrors.sohu.com/CPAN/
1771             http://mirrors.ustc.edu.cn/CPAN/
1772             ftp://mirrors.ustc.edu.cn/CPAN/
1773             http://mirrors.xmu.edu.cn/CPAN/
1774             ftp://mirrors.xmu.edu.cn/CPAN/
1775             http://mirrors.zju.edu.cn/CPAN/
1776
1777       India
1778             http://cpan.excellmedia.net/
1779             http://perlmirror.indialinks.com/
1780
1781       Indonesia
1782             http://kambing.ui.ac.id/cpan/
1783             http://cpan.pesat.net.id/
1784             http://mirror.poliwangi.ac.id/CPAN/
1785             http://kartolo.sby.datautama.net.id/CPAN/
1786             http://mirror.wanxp.id/cpan/
1787
1788       Iran
1789             http://mirror.yazd.ac.ir/cpan/
1790
1791       Israel
1792             http://biocourse.weizmann.ac.il/CPAN/
1793
1794       Japan
1795             http://ftp.jaist.ac.jp/pub/CPAN/
1796             ftp://ftp.jaist.ac.jp/pub/CPAN/
1797             http://mirror.jre655.com/CPAN/
1798             ftp://mirror.jre655.com/CPAN/
1799             ftp://ftp.kddilabs.jp/CPAN/
1800             http://ftp.nara.wide.ad.jp/pub/CPAN/
1801             ftp://ftp.nara.wide.ad.jp/pub/CPAN/
1802             http://ftp.riken.jp/lang/CPAN/
1803             ftp://ftp.riken.jp/lang/CPAN/
1804             ftp://ftp.u-aizu.ac.jp/pub/CPAN/
1805             http://ftp.yz.yamagata-u.ac.jp/pub/lang/cpan/
1806             ftp://ftp.yz.yamagata-u.ac.jp/pub/lang/cpan/
1807
1808       Kazakhstan
1809             http://mirror.neolabs.kz/CPAN/
1810             ftp://mirror.neolabs.kz/CPAN/
1811
1812       Philippines
1813             http://mirror.pregi.net/CPAN/
1814             ftp://mirror.pregi.net/CPAN/
1815             http://mirror.rise.ph/cpan/
1816             ftp://mirror.rise.ph/cpan/
1817
1818       Qatar
1819             http://mirror.qnren.qa/CPAN/
1820             ftp://mirror.qnren.qa/CPAN/
1821
1822       Republic of Korea
1823             http://cpan.mirror.cdnetworks.com/
1824             ftp://cpan.mirror.cdnetworks.com/CPAN/
1825             http://ftp.kaist.ac.kr/pub/CPAN/
1826             ftp://ftp.kaist.ac.kr/CPAN/
1827             http://ftp.kr.freebsd.org/pub/CPAN/
1828             ftp://ftp.kr.freebsd.org/pub/CPAN/
1829             http://mirror.navercorp.com/CPAN/
1830             http://ftp.neowiz.com/CPAN/
1831             ftp://ftp.neowiz.com/CPAN/
1832
1833       Singapore
1834             http://cpan.mirror.choon.net/
1835             http://mirror.0x.sg/CPAN/
1836             ftp://mirror.0x.sg/CPAN/
1837
1838       Taiwan
1839             http://cpan.cdpa.nsysu.edu.tw/Unix/Lang/CPAN/
1840             ftp://cpan.cdpa.nsysu.edu.tw/Unix/Lang/CPAN/
1841             http://cpan.stu.edu.tw/
1842             ftp://ftp.stu.edu.tw/CPAN/
1843             http://ftp.yzu.edu.tw/CPAN/
1844             ftp://ftp.yzu.edu.tw/CPAN/
1845             http://cpan.nctu.edu.tw/
1846             ftp://cpan.nctu.edu.tw/
1847             http://ftp.ubuntu-tw.org/mirror/CPAN/
1848             ftp://ftp.ubuntu-tw.org/mirror/CPAN/
1849
1850       Turkey
1851             http://cpan.ulak.net.tr/
1852             ftp://ftp.ulak.net.tr/pub/perl/CPAN/
1853             http://mirror.vit.com.tr/mirror/CPAN/
1854             ftp://mirror.vit.com.tr/CPAN/
1855
1856       Viet Nam
1857             http://mirrors.digipower.vn/CPAN/
1858             http://mirror.downloadvn.com/cpan/
1859             http://mirrors.vinahost.vn/CPAN/
1860
1861   Europe
1862       Austria
1863             http://cpan.inode.at/
1864             ftp://cpan.inode.at/
1865             http://mirror.easyname.at/cpan/
1866             ftp://mirror.easyname.at/cpan/
1867             http://gd.tuwien.ac.at/languages/perl/CPAN/
1868             ftp://gd.tuwien.ac.at/pub/CPAN/
1869
1870       Belarus
1871             http://ftp.byfly.by/pub/CPAN/
1872             ftp://ftp.byfly.by/pub/CPAN/
1873             http://mirror.datacenter.by/pub/CPAN/
1874             ftp://mirror.datacenter.by/pub/CPAN/
1875
1876       Belgium
1877             http://ftp.belnet.be/ftp.cpan.org/
1878             ftp://ftp.belnet.be/mirror/ftp.cpan.org/
1879             http://cpan.cu.be/
1880             http://lib.ugent.be/CPAN/
1881             http://cpan.weepeetelecom.be/
1882
1883       Bosnia and Herzegovina
1884             http://cpan.mirror.ba/
1885             ftp://ftp.mirror.ba/CPAN/
1886
1887       Bulgaria
1888             http://mirrors.neterra.net/CPAN/
1889             ftp://mirrors.neterra.net/CPAN/
1890             http://mirrors.netix.net/CPAN/
1891             ftp://mirrors.netix.net/CPAN/
1892
1893       Croatia
1894             http://ftp.carnet.hr/pub/CPAN/
1895             ftp://ftp.carnet.hr/pub/CPAN/
1896
1897       Czech Republic
1898             http://mirror.dkm.cz/cpan/
1899             ftp://mirror.dkm.cz/cpan/
1900             ftp://ftp.fi.muni.cz/pub/CPAN/
1901             http://mirrors.nic.cz/CPAN/
1902             ftp://mirrors.nic.cz/pub/CPAN/
1903             http://cpan.mirror.vutbr.cz/
1904             ftp://mirror.vutbr.cz/cpan/
1905
1906       Denmark
1907             http://www.cpan.dk/
1908             http://mirrors.dotsrc.org/cpan/
1909             ftp://mirrors.dotsrc.org/cpan/
1910
1911       Finland
1912             ftp://ftp.funet.fi/pub/languages/perl/CPAN/
1913
1914       France
1915             http://ftp.ciril.fr/pub/cpan/
1916             ftp://ftp.ciril.fr/pub/cpan/
1917             http://distrib-coffee.ipsl.jussieu.fr/pub/mirrors/cpan/
1918             ftp://distrib-coffee.ipsl.jussieu.fr/pub/mirrors/cpan/
1919             http://ftp.lip6.fr/pub/perl/CPAN/
1920             ftp://ftp.lip6.fr/pub/perl/CPAN/
1921             http://mirror.ibcp.fr/pub/CPAN/
1922             ftp://ftp.oleane.net/pub/CPAN/
1923             http://cpan.mirrors.ovh.net/ftp.cpan.org/
1924             ftp://cpan.mirrors.ovh.net/ftp.cpan.org/
1925             http://cpan.enstimac.fr/
1926
1927       Germany
1928             http://mirror.23media.de/cpan/
1929             ftp://mirror.23media.de/cpan/
1930             http://artfiles.org/cpan.org/
1931             ftp://artfiles.org/cpan.org/
1932             http://mirror.bibleonline.ru/cpan/
1933             http://mirror.checkdomain.de/CPAN/
1934             ftp://mirror.checkdomain.de/CPAN/
1935             http://cpan.noris.de/
1936             http://mirror.de.leaseweb.net/CPAN/
1937             ftp://mirror.de.leaseweb.net/CPAN/
1938             http://cpan.mirror.euserv.net/
1939             ftp://mirror.euserv.net/cpan/
1940             http://ftp-stud.hs-esslingen.de/pub/Mirrors/CPAN/
1941             ftp://mirror.fraunhofer.de/CPAN/
1942             ftp://ftp.freenet.de/pub/ftp.cpan.org/pub/CPAN/
1943             http://ftp.hosteurope.de/pub/CPAN/
1944             ftp://ftp.hosteurope.de/pub/CPAN/
1945             ftp://ftp.fu-berlin.de/unix/languages/perl/
1946             http://ftp.gwdg.de/pub/languages/perl/CPAN/
1947             ftp://ftp.gwdg.de/pub/languages/perl/CPAN/
1948             http://ftp.hawo.stw.uni-erlangen.de/CPAN/
1949             ftp://ftp.hawo.stw.uni-erlangen.de/CPAN/
1950             http://cpan.mirror.iphh.net/
1951             ftp://cpan.mirror.iphh.net/pub/CPAN/
1952             ftp://ftp.mpi-inf.mpg.de/pub/perl/CPAN/
1953             http://cpan.netbet.org/
1954             http://mirror.netcologne.de/cpan/
1955             ftp://mirror.netcologne.de/cpan/
1956             ftp://mirror.petamem.com/CPAN/
1957             http://www.planet-elektronik.de/CPAN/
1958             http://ftp.halifax.rwth-aachen.de/cpan/
1959             ftp://ftp.halifax.rwth-aachen.de/cpan/
1960             http://mirror.softaculous.com/cpan/
1961             http://ftp.u-tx.net/CPAN/
1962             ftp://ftp.u-tx.net/CPAN/
1963             http://mirror.reismil.ch/CPAN/
1964
1965       Greece
1966             http://cpan.cc.uoc.gr/mirrors/CPAN/
1967             ftp://ftp.cc.uoc.gr/mirrors/CPAN/
1968             http://ftp.ntua.gr/pub/lang/perl/
1969             ftp://ftp.ntua.gr/pub/lang/perl/
1970
1971       Hungary
1972             http://mirror.met.hu/CPAN/
1973
1974       Ireland
1975             http://ftp.heanet.ie/mirrors/ftp.perl.org/pub/CPAN/
1976             ftp://ftp.heanet.ie/mirrors/ftp.perl.org/pub/CPAN/
1977
1978       Italy
1979             http://bo.mirror.garr.it/mirrors/CPAN/
1980             ftp://ftp.eutelia.it/CPAN_Mirror/
1981             http://cpan.panu.it/
1982             ftp://ftp.panu.it/pub/mirrors/perl/CPAN/
1983             http://cpan.muzzy.it/
1984
1985       Latvia
1986             http://kvin.lv/pub/CPAN/
1987
1988       Lithuania
1989             http://ftp.litnet.lt/pub/CPAN/
1990             ftp://ftp.litnet.lt/pub/CPAN/
1991
1992       Moldova
1993             http://mirror.as43289.net/pub/CPAN/
1994             ftp://mirror.as43289.net/pub/CPAN/
1995
1996       Netherlands
1997             http://cpan.cs.uu.nl/
1998             ftp://ftp.cs.uu.nl/pub/CPAN/
1999             http://mirror.nl.leaseweb.net/CPAN/
2000             ftp://mirror.nl.leaseweb.net/CPAN/
2001             http://ftp.nluug.nl/languages/perl/CPAN/
2002             ftp://ftp.nluug.nl/pub/languages/perl/CPAN/
2003             http://mirror.transip.net/CPAN/
2004             ftp://mirror.transip.net/CPAN/
2005             http://cpan.mirror.triple-it.nl/
2006             http://ftp.tudelft.nl/cpan/
2007             ftp://ftp.tudelft.nl/pub/CPAN/
2008             ftp://download.xs4all.nl/pub/mirror/CPAN/
2009
2010       Norway
2011             http://cpan.uib.no/
2012             ftp://cpan.uib.no/pub/CPAN/
2013             ftp://ftp.uninett.no/pub/languages/perl/CPAN/
2014             http://cpan.vianett.no/
2015
2016       Poland
2017             http://ftp.agh.edu.pl/CPAN/
2018             ftp://ftp.agh.edu.pl/CPAN/
2019             http://ftp.piotrkosoft.net/pub/mirrors/CPAN/
2020             ftp://ftp.piotrkosoft.net/pub/mirrors/CPAN/
2021             ftp://ftp.ps.pl/pub/CPAN/
2022             http://sunsite.icm.edu.pl/pub/CPAN/
2023             ftp://sunsite.icm.edu.pl/pub/CPAN/
2024
2025       Portugal
2026             http://cpan.dcc.fc.up.pt/
2027             http://mirrors.fe.up.pt/pub/CPAN/
2028             http://cpan.perl-hackers.net/
2029             http://cpan.perl.pt/
2030
2031       Romania
2032             http://mirrors.hostingromania.ro/cpan.org/
2033             ftp://ftp.lug.ro/CPAN/
2034             http://mirrors.m247.ro/CPAN/
2035             http://mirrors.evowise.com/CPAN/
2036             http://mirrors.teentelecom.net/CPAN/
2037             ftp://mirrors.teentelecom.net/CPAN/
2038             http://mirrors.xservers.ro/CPAN/
2039
2040       Russian Federation
2041             ftp://ftp.aha.ru/CPAN/
2042             http://cpan.rinet.ru/
2043             ftp://cpan.rinet.ru/pub/mirror/CPAN/
2044             http://cpan-mirror.rbc.ru/pub/CPAN/
2045             http://mirror.rol.ru/CPAN/
2046             http://cpan.uni-altai.ru/
2047             http://cpan.webdesk.ru/
2048             ftp://cpan.webdesk.ru/cpan/
2049             http://mirror.yandex.ru/mirrors/cpan/
2050             ftp://mirror.yandex.ru/mirrors/cpan/
2051
2052       Serbia
2053             http://mirror.sbb.rs/CPAN/
2054             ftp://mirror.sbb.rs/CPAN/
2055
2056       Slovakia
2057             http://cpan.lnx.sk/
2058             http://tux.rainside.sk/CPAN/
2059             ftp://tux.rainside.sk/CPAN/
2060
2061       Slovenia
2062             http://ftp.arnes.si/software/perl/CPAN/
2063             ftp://ftp.arnes.si/software/perl/CPAN/
2064
2065       Spain
2066             http://mirrors.evowise.com/CPAN/
2067             http://osl.ugr.es/CPAN/
2068             http://ftp.rediris.es/mirror/CPAN/
2069             ftp://ftp.rediris.es/mirror/CPAN/
2070
2071       Sweden
2072             http://ftp.acc.umu.se/mirror/CPAN/
2073             ftp://ftp.acc.umu.se/mirror/CPAN/
2074
2075       Switzerland
2076             http://www.pirbot.com/mirrors/cpan/
2077             http://mirror.switch.ch/ftp/mirror/CPAN/
2078             ftp://mirror.switch.ch/mirror/CPAN/
2079
2080       Ukraine
2081             http://cpan.ip-connect.vn.ua/
2082             ftp://cpan.ip-connect.vn.ua/mirror/cpan/
2083
2084       United Kingdom
2085             http://cpan.mirror.anlx.net/
2086             ftp://ftp.mirror.anlx.net/CPAN/
2087             http://mirror.bytemark.co.uk/CPAN/
2088             ftp://mirror.bytemark.co.uk/CPAN/
2089             http://mirrors.coreix.net/CPAN/
2090             http://cpan.etla.org/
2091             ftp://cpan.etla.org/pub/CPAN/
2092             http://cpan.cpantesters.org/
2093             http://mirror.sax.uk.as61049.net/CPAN/
2094             http://mirror.sov.uk.goscomb.net/CPAN/
2095             http://www.mirrorservice.org/sites/cpan.perl.org/CPAN/
2096             ftp://ftp.mirrorservice.org/sites/cpan.perl.org/CPAN/
2097             http://mirror.ox.ac.uk/sites/www.cpan.org/
2098             ftp://mirror.ox.ac.uk/sites/www.cpan.org/
2099             http://ftp.ticklers.org/pub/CPAN/
2100             ftp://ftp.ticklers.org/pub/CPAN/
2101             http://cpan.mirrors.uk2.net/
2102             ftp://mirrors.uk2.net/pub/CPAN/
2103             http://mirror.ukhost4u.com/CPAN/
2104
2105   North America
2106       Canada
2107             http://CPAN.mirror.rafal.ca/
2108             ftp://CPAN.mirror.rafal.ca/pub/CPAN/
2109             http://mirror.csclub.uwaterloo.ca/CPAN/
2110             ftp://mirror.csclub.uwaterloo.ca/CPAN/
2111             http://mirrors.gossamer-threads.com/CPAN/
2112             http://mirror.its.dal.ca/cpan/
2113             ftp://mirror.its.dal.ca/cpan/
2114             ftp://ftp.ottix.net/pub/CPAN/
2115
2116       Costa Rica
2117             http://mirrors.ucr.ac.cr/CPAN/
2118
2119       Mexico
2120             http://www.msg.com.mx/CPAN/
2121             ftp://ftp.msg.com.mx/pub/CPAN/
2122
2123       United States
2124           Alabama
2125                     http://mirror.teklinks.com/CPAN/
2126
2127           Arizona
2128                     http://mirror.n5tech.com/CPAN/
2129                     http://mirrors.namecheap.com/CPAN/
2130                     ftp://mirrors.namecheap.com/CPAN/
2131
2132           California
2133                     http://cpan.develooper.com/
2134                     http://httpupdate127.cpanel.net/CPAN/
2135                     http://mirrors.sonic.net/cpan/
2136                     ftp://mirrors.sonic.net/cpan/
2137                     http://www.perl.com/CPAN/
2138                     http://cpan.yimg.com/
2139
2140           Idaho
2141                     http://mirrors.syringanetworks.net/CPAN/
2142                     ftp://mirrors.syringanetworks.net/CPAN/
2143
2144           Illinois
2145                     http://cpan.mirrors.hoobly.com/
2146                     http://mirror.team-cymru.org/CPAN/
2147                     ftp://mirror.team-cymru.org/CPAN/
2148
2149           Indiana
2150                     http://cpan.netnitco.net/
2151                     ftp://cpan.netnitco.net/pub/mirrors/CPAN/
2152                     ftp://ftp.uwsg.iu.edu/pub/perl/CPAN/
2153
2154           Kansas
2155                     http://mirrors.concertpass.com/cpan/
2156
2157           Massachusetts
2158                     http://mirrors.ccs.neu.edu/CPAN/
2159
2160           Michigan
2161                     http://cpan.cse.msu.edu/
2162                     ftp://cpan.cse.msu.edu/
2163                     http://httpupdate118.cpanel.net/CPAN/
2164                     http://mirrors-usa.go-parts.com/cpan/
2165                     http://ftp.wayne.edu/CPAN/
2166                     ftp://ftp.wayne.edu/CPAN/
2167
2168           New Hampshire
2169                     http://mirror.metrocast.net/cpan/
2170
2171           New Jersey
2172                     http://mirror.datapipe.net/CPAN/
2173                     ftp://mirror.datapipe.net/pub/CPAN/
2174                     http://www.hoovism.com/CPAN/
2175                     ftp://ftp.hoovism.com/CPAN/
2176                     http://cpan.mirror.nac.net/
2177
2178           New York
2179                     http://mirror.cc.columbia.edu/pub/software/cpan/
2180                     ftp://mirror.cc.columbia.edu/pub/software/cpan/
2181                     http://cpan.belfry.net/
2182                     http://cpan.erlbaum.net/
2183                     ftp://cpan.erlbaum.net/CPAN/
2184                     http://cpan.hexten.net/
2185                     ftp://cpan.hexten.net/
2186                     http://mirror.nyi.net/CPAN/
2187                     ftp://mirror.nyi.net/pub/CPAN/
2188                     http://noodle.portalus.net/CPAN/
2189                     ftp://noodle.portalus.net/CPAN/
2190                     http://mirrors.rit.edu/CPAN/
2191                     ftp://mirrors.rit.edu/CPAN/
2192
2193           North Carolina
2194                     http://httpupdate140.cpanel.net/CPAN/
2195                     http://mirrors.ibiblio.org/CPAN/
2196
2197           Oregon
2198                     http://ftp.osuosl.org/pub/CPAN/
2199                     ftp://ftp.osuosl.org/pub/CPAN/
2200                     http://mirror.uoregon.edu/CPAN/
2201
2202           Pennsylvania
2203                     http://cpan.pair.com/
2204                     ftp://cpan.pair.com/pub/CPAN/
2205                     http://cpan.mirrors.ionfish.org/
2206
2207           South Carolina
2208                     http://cpan.mirror.clemson.edu/
2209
2210           Texas
2211                     http://mirror.uta.edu/CPAN/
2212
2213           Utah
2214                     http://cpan.cs.utah.edu/
2215                     ftp://cpan.cs.utah.edu/CPAN/
2216                     ftp://mirror.xmission.com/CPAN/
2217
2218           Virginia
2219                     http://mirror.cogentco.com/pub/CPAN/
2220                     ftp://mirror.cogentco.com/pub/CPAN/
2221                     http://mirror.jmu.edu/pub/CPAN/
2222                     ftp://mirror.jmu.edu/pub/CPAN/
2223                     http://mirror.us.leaseweb.net/CPAN/
2224                     ftp://mirror.us.leaseweb.net/CPAN/
2225
2226           Washington
2227                     http://cpan.llarian.net/
2228                     ftp://cpan.llarian.net/pub/CPAN/
2229
2230           Wisconsin
2231                     http://cpan.mirrors.tds.net/
2232                     ftp://cpan.mirrors.tds.net/pub/CPAN/
2233
2234   Oceania
2235       Australia
2236             http://mirror.as24220.net/pub/cpan/
2237             ftp://mirror.as24220.net/pub/cpan/
2238             http://cpan.mirrors.ilisys.com.au/
2239             http://cpan.mirror.digitalpacific.com.au/
2240             ftp://mirror.internode.on.net/pub/cpan/
2241             http://mirror.optusnet.com.au/CPAN/
2242             http://cpan.mirror.serversaustralia.com.au/
2243             http://cpan.uberglobalmirror.com/
2244             http://mirror.waia.asn.au/pub/cpan/
2245
2246       New Caledonia
2247             http://cpan.lagoon.nc/pub/CPAN/
2248             ftp://cpan.lagoon.nc/pub/CPAN/
2249             http://cpan.nautile.nc/CPAN/
2250             ftp://cpan.nautile.nc/CPAN/
2251
2252       New Zealand
2253             ftp://ftp.auckland.ac.nz/pub/perl/CPAN/
2254             http://cpan.catalyst.net.nz/CPAN/
2255             ftp://cpan.catalyst.net.nz/pub/CPAN/
2256             http://cpan.inspire.net.nz/
2257             ftp://cpan.inspire.net.nz/cpan/
2258             http://mirror.webtastix.net/CPAN/
2259             ftp://mirror.webtastix.net/CPAN/
2260
2261   South America
2262       Argentina
2263             http://cpan.mmgdesigns.com.ar/
2264
2265       Brazil
2266             http://cpan.kinghost.net/
2267             http://linorg.usp.br/CPAN/
2268             http://mirror.nbtelecom.com.br/CPAN/
2269
2270       Chile
2271             http://cpan.dcc.uchile.cl/
2272             ftp://cpan.dcc.uchile.cl/pub/lang/cpan/
2273
2274   RSYNC Mirrors
2275                       rsync://ftp.is.co.za/IS-Mirror/ftp.cpan.org/
2276                       rsync://mirror.ac.za/CPAN/
2277                       rsync://mirror.zol.co.zw/CPAN/
2278                       rsync://mirror.dhakacom.com/CPAN/
2279                       rsync://mirrors.ustc.edu.cn/CPAN/
2280                       rsync://mirrors.xmu.edu.cn/CPAN/
2281                       rsync://kambing.ui.ac.id/CPAN/
2282                       rsync://ftp.jaist.ac.jp/pub/CPAN/
2283                       rsync://mirror.jre655.com/CPAN/
2284                       rsync://ftp.kddilabs.jp/cpan/
2285                       rsync://ftp.nara.wide.ad.jp/cpan/
2286                       rsync://ftp.riken.jp/cpan/
2287                       rsync://mirror.neolabs.kz/CPAN/
2288                       rsync://mirror.qnren.qa/CPAN/
2289                       rsync://ftp.neowiz.com/CPAN/
2290                       rsync://mirror.0x.sg/CPAN/
2291                       rsync://ftp.yzu.edu.tw/pub/CPAN/
2292                       rsync://ftp.ubuntu-tw.org/CPAN/
2293                       rsync://mirrors.digipower.vn/CPAN/
2294                       rsync://cpan.inode.at/CPAN/
2295                       rsync://ftp.byfly.by/CPAN/
2296                       rsync://mirror.datacenter.by/CPAN/
2297                       rsync://ftp.belnet.be/cpan/
2298                       rsync://cpan.mirror.ba/CPAN/
2299                       rsync://mirrors.neterra.net/CPAN/
2300                       rsync://mirrors.netix.net/CPAN/
2301                       rsync://mirror.dkm.cz/cpan/
2302                       rsync://mirrors.nic.cz/CPAN/
2303                       rsync://cpan.mirror.vutbr.cz/cpan/
2304                       rsync://rsync.nic.funet.fi/CPAN/
2305                       rsync://ftp.ciril.fr/pub/cpan/
2306                       rsync://distrib-coffee.ipsl.jussieu.fr/pub/mirrors/cpan/
2307                       rsync://cpan.mirrors.ovh.net/CPAN/
2308                       rsync://mirror.de.leaseweb.net/CPAN/
2309                       rsync://mirror.euserv.net/cpan/
2310                       rsync://ftp-stud.hs-esslingen.de/CPAN/
2311                       rsync://ftp.gwdg.de/pub/languages/perl/CPAN/
2312                       rsync://ftp.hawo.stw.uni-erlangen.de/CPAN/
2313                       rsync://cpan.mirror.iphh.net/CPAN/
2314                       rsync://mirror.netcologne.de/cpan/
2315                       rsync://ftp.halifax.rwth-aachen.de/cpan/
2316                       rsync://ftp.ntua.gr/CPAN/
2317                       rsync://mirror.met.hu/CPAN/
2318                       rsync://ftp.heanet.ie/mirrors/ftp.perl.org/pub/CPAN/
2319                       rsync://rsync.panu.it/CPAN/
2320                       rsync://mirror.as43289.net/CPAN/
2321                       rsync://rsync.cs.uu.nl/CPAN/
2322                       rsync://mirror.nl.leaseweb.net/CPAN/
2323                       rsync://ftp.nluug.nl/CPAN/
2324                       rsync://mirror.transip.net/CPAN/
2325                       rsync://cpan.uib.no/cpan/
2326                       rsync://cpan.vianett.no/CPAN/
2327                       rsync://cpan.perl-hackers.net/CPAN/
2328                       rsync://cpan.perl.pt/cpan/
2329                       rsync://mirrors.m247.ro/CPAN/
2330                       rsync://mirrors.teentelecom.net/CPAN/
2331                       rsync://cpan.webdesk.ru/CPAN/
2332                       rsync://mirror.yandex.ru/mirrors/cpan/
2333                       rsync://mirror.sbb.rs/CPAN/
2334                       rsync://ftp.acc.umu.se/mirror/CPAN/
2335                       rsync://rsync.pirbot.com/ftp/cpan/
2336                       rsync://cpan.ip-connect.vn.ua/CPAN/
2337                       rsync://rsync.mirror.anlx.net/CPAN/
2338                       rsync://mirror.bytemark.co.uk/CPAN/
2339                       rsync://mirror.sax.uk.as61049.net/CPAN/
2340                       rsync://rsync.mirrorservice.org/cpan.perl.org/CPAN/
2341                       rsync://ftp.ticklers.org/CPAN/
2342                       rsync://mirrors.uk2.net/CPAN/
2343                       rsync://CPAN.mirror.rafal.ca/CPAN/
2344                       rsync://mirror.csclub.uwaterloo.ca/CPAN/
2345                       rsync://mirrors.namecheap.com/CPAN/
2346                       rsync://mirrors.syringanetworks.net/CPAN/
2347                       rsync://mirror.team-cymru.org/CPAN/
2348                       rsync://debian.cse.msu.edu/cpan/
2349                       rsync://mirrors-usa.go-parts.com/mirrors/cpan/
2350                       rsync://rsync.hoovism.com/CPAN/
2351                       rsync://mirror.cc.columbia.edu/cpan/
2352                       rsync://noodle.portalus.net/CPAN/
2353                       rsync://mirrors.rit.edu/cpan/
2354                       rsync://mirrors.ibiblio.org/CPAN/
2355                       rsync://cpan.pair.com/CPAN/
2356                       rsync://cpan.cs.utah.edu/CPAN/
2357                       rsync://mirror.cogentco.com/CPAN/
2358                       rsync://mirror.jmu.edu/CPAN/
2359                       rsync://mirror.us.leaseweb.net/CPAN/
2360                       rsync://cpan.mirror.digitalpacific.com.au/cpan/
2361                       rsync://mirror.internode.on.net/cpan/
2362                       rsync://uberglobalmirror.com/cpan/
2363                       rsync://cpan.lagoon.nc/cpan/
2364                       rsync://mirrors.mmgdesigns.com.ar/CPAN/
2365
2366       For an up-to-date listing of CPAN sites, see
2367       <http://www.cpan.org/SITES> or <ftp://www.cpan.org/SITES>.
2368

Modules: Creation, Use, and Abuse

2370       (The following section is borrowed directly from Tim Bunce's modules
2371       file, available at your nearest CPAN site.)
2372
2373       Perl implements a class using a package, but the presence of a package
2374       doesn't imply the presence of a class.  A package is just a namespace.
2375       A class is a package that provides subroutines that can be used as
2376       methods.  A method is just a subroutine that expects, as its first
2377       argument, either the name of a package (for "static" methods), or a
2378       reference to something (for "virtual" methods).
2379
2380       A module is a file that (by convention) provides a class of the same
2381       name (sans the .pm), plus an import method in that class that can be
2382       called to fetch exported symbols.  This module may implement some of
2383       its methods by loading dynamic C or C++ objects, but that should be
2384       totally transparent to the user of the module.  Likewise, the module
2385       might set up an AUTOLOAD function to slurp in subroutine definitions on
2386       demand, but this is also transparent.  Only the .pm file is required to
2387       exist.  See perlsub, perlobj, and AutoLoader for details about the
2388       AUTOLOAD mechanism.
2389
2390   Guidelines for Module Creation
2391       ·   Do similar modules already exist in some form?
2392
2393           If so, please try to reuse the existing modules either in whole or
2394           by inheriting useful features into a new class.  If this is not
2395           practical try to get together with the module authors to work on
2396           extending or enhancing the functionality of the existing modules.
2397           A perfect example is the plethora of packages in perl4 for dealing
2398           with command line options.
2399
2400           If you are writing a module to expand an already existing set of
2401           modules, please coordinate with the author of the package.  It
2402           helps if you follow the same naming scheme and module interaction
2403           scheme as the original author.
2404
2405       ·   Try to design the new module to be easy to extend and reuse.
2406
2407           Try to "use warnings;" (or "use warnings qw(...);").  Remember that
2408           you can add "no warnings qw(...);" to individual blocks of code
2409           that need less warnings.
2410
2411           Use blessed references.  Use the two argument form of bless to
2412           bless into the class name given as the first parameter of the
2413           constructor, e.g.,:
2414
2415            sub new {
2416                my $class = shift;
2417                return bless {}, $class;
2418            }
2419
2420           or even this if you'd like it to be used as either a static or a
2421           virtual method.
2422
2423            sub new {
2424                my $self  = shift;
2425                my $class = ref($self) || $self;
2426                return bless {}, $class;
2427            }
2428
2429           Pass arrays as references so more parameters can be added later
2430           (it's also faster).  Convert functions into methods where
2431           appropriate.  Split large methods into smaller more flexible ones.
2432           Inherit methods from other modules if appropriate.
2433
2434           Avoid class name tests like: "die "Invalid" unless ref $ref eq
2435           'FOO'".  Generally you can delete the "eq 'FOO'" part with no harm
2436           at all.  Let the objects look after themselves! Generally, avoid
2437           hard-wired class names as far as possible.
2438
2439           Avoid "$r->Class::func()" where using "@ISA=qw(... Class ...)" and
2440           "$r->func()" would work.
2441
2442           Use autosplit so little used or newly added functions won't be a
2443           burden to programs that don't use them. Add test functions to the
2444           module after __END__ either using AutoSplit or by saying:
2445
2446            eval join('',<main::DATA>) || die $@ unless caller();
2447
2448           Does your module pass the 'empty subclass' test? If you say
2449           "@SUBCLASS::ISA = qw(YOURCLASS);" your applications should be able
2450           to use SUBCLASS in exactly the same way as YOURCLASS.  For example,
2451           does your application still work if you change:  "$obj =
2452           YOURCLASS->new();" into: "$obj = SUBCLASS->new();" ?
2453
2454           Avoid keeping any state information in your packages. It makes it
2455           difficult for multiple other packages to use yours. Keep state
2456           information in objects.
2457
2458           Always use -w.
2459
2460           Try to "use strict;" (or "use strict qw(...);").  Remember that you
2461           can add "no strict qw(...);" to individual blocks of code that need
2462           less strictness.
2463
2464           Always use -w.
2465
2466           Follow the guidelines in perlstyle.
2467
2468           Always use -w.
2469
2470       ·   Some simple style guidelines
2471
2472           The perlstyle manual supplied with Perl has many helpful points.
2473
2474           Coding style is a matter of personal taste. Many people evolve
2475           their style over several years as they learn what helps them write
2476           and maintain good code.  Here's one set of assorted suggestions
2477           that seem to be widely used by experienced developers:
2478
2479           Use underscores to separate words.  It is generally easier to read
2480           $var_names_like_this than $VarNamesLikeThis, especially for non-
2481           native speakers of English. It's also a simple rule that works
2482           consistently with VAR_NAMES_LIKE_THIS.
2483
2484           Package/Module names are an exception to this rule. Perl informally
2485           reserves lowercase module names for 'pragma' modules like integer
2486           and strict. Other modules normally begin with a capital letter and
2487           use mixed case with no underscores (need to be short and portable).
2488
2489           You may find it helpful to use letter case to indicate the scope or
2490           nature of a variable. For example:
2491
2492            $ALL_CAPS_HERE   constants only (beware clashes with Perl vars)
2493            $Some_Caps_Here  package-wide global/static
2494            $no_caps_here    function scope my() or local() variables
2495
2496           Function and method names seem to work best as all lowercase.
2497           e.g., "$obj->as_string()".
2498
2499           You can use a leading underscore to indicate that a variable or
2500           function should not be used outside the package that defined it.
2501
2502       ·   Select what to export.
2503
2504           Do NOT export method names!
2505
2506           Do NOT export anything else by default without a good reason!
2507
2508           Exports pollute the namespace of the module user.  If you must
2509           export try to use @EXPORT_OK in preference to @EXPORT and avoid
2510           short or common names to reduce the risk of name clashes.
2511
2512           Generally anything not exported is still accessible from outside
2513           the module using the ModuleName::item_name (or
2514           "$blessed_ref->method") syntax.  By convention you can use a
2515           leading underscore on names to indicate informally that they are
2516           'internal' and not for public use.
2517
2518           (It is actually possible to get private functions by saying: "my
2519           $subref = sub { ... };  &$subref;".  But there's no way to call
2520           that directly as a method, because a method must have a name in the
2521           symbol table.)
2522
2523           As a general rule, if the module is trying to be object oriented
2524           then export nothing. If it's just a collection of functions then
2525           @EXPORT_OK anything but use @EXPORT with caution.
2526
2527       ·   Select a name for the module.
2528
2529           This name should be as descriptive, accurate, and complete as
2530           possible.  Avoid any risk of ambiguity. Always try to use two or
2531           more whole words.  Generally the name should reflect what is
2532           special about what the module does rather than how it does it.
2533           Please use nested module names to group informally or categorize a
2534           module.  There should be a very good reason for a module not to
2535           have a nested name.  Module names should begin with a capital
2536           letter.
2537
2538           Having 57 modules all called Sort will not make life easy for
2539           anyone (though having 23 called Sort::Quick is only marginally
2540           better :-).  Imagine someone trying to install your module
2541           alongside many others.
2542
2543           If you are developing a suite of related modules/classes it's good
2544           practice to use nested classes with a common prefix as this will
2545           avoid namespace clashes. For example: Xyz::Control, Xyz::View,
2546           Xyz::Model etc. Use the modules in this list as a naming guide.
2547
2548           If adding a new module to a set, follow the original author's
2549           standards for naming modules and the interface to methods in those
2550           modules.
2551
2552           If developing modules for private internal or project specific use,
2553           that will never be released to the public, then you should ensure
2554           that their names will not clash with any future public module. You
2555           can do this either by using the reserved Local::* category or by
2556           using a category name that includes an underscore like Foo_Corp::*.
2557
2558           To be portable each component of a module name should be limited to
2559           11 characters. If it might be used on MS-DOS then try to ensure
2560           each is unique in the first 8 characters. Nested modules make this
2561           easier.
2562
2563           For additional guidance on the naming of modules, please consult:
2564
2565               http://pause.perl.org/pause/query?ACTION=pause_namingmodules
2566
2567           or send mail to the <module-authors@perl.org> mailing list.
2568
2569       ·   Have you got it right?
2570
2571           How do you know that you've made the right decisions? Have you
2572           picked an interface design that will cause problems later? Have you
2573           picked the most appropriate name? Do you have any questions?
2574
2575           The best way to know for sure, and pick up many helpful
2576           suggestions, is to ask someone who knows. The
2577           <module-authors@perl.org> mailing list is useful for this purpose;
2578           it's also accessible via news interface as perl.module-authors at
2579           nntp.perl.org.
2580
2581           All you need to do is post a short summary of the module, its
2582           purpose and interfaces. A few lines on each of the main methods is
2583           probably enough. (If you post the whole module it might be ignored
2584           by busy people - generally the very people you want to read it!)
2585
2586           Don't worry about posting if you can't say when the module will be
2587           ready - just say so in the message. It might be worth inviting
2588           others to help you, they may be able to complete it for you!
2589
2590       ·   README and other Additional Files.
2591
2592           It's well known that software developers usually fully document the
2593           software they write. If, however, the world is in urgent need of
2594           your software and there is not enough time to write the full
2595           documentation please at least provide a README file containing:
2596
2597           ·         A description of the module/package/extension etc.
2598
2599           ·         A copyright notice - see below.
2600
2601           ·         Prerequisites - what else you may need to have.
2602
2603           ·         How to build it - possible changes to Makefile.PL etc.
2604
2605           ·         How to install it.
2606
2607           ·         Recent changes in this release, especially
2608                     incompatibilities
2609
2610           ·         Changes / enhancements you plan to make in the future.
2611
2612           If the README file seems to be getting too large you may wish to
2613           split out some of the sections into separate files: INSTALL,
2614           Copying, ToDo etc.
2615
2616           ·   Adding a Copyright Notice.
2617
2618               How you choose to license your work is a personal decision.
2619               The general mechanism is to assert your Copyright and then make
2620               a declaration of how others may copy/use/modify your work.
2621
2622               Perl, for example, is supplied with two types of licence: The
2623               GNU GPL and The Artistic Licence (see the files README,
2624               Copying, and Artistic, or perlgpl and perlartistic).  Larry has
2625               good reasons for NOT just using the GNU GPL.
2626
2627               My personal recommendation, out of respect for Larry, Perl, and
2628               the Perl community at large is to state something simply like:
2629
2630                Copyright (c) 1995 Your Name. All rights reserved.
2631                This program is free software; you can redistribute it and/or
2632                modify it under the same terms as Perl itself.
2633
2634               This statement should at least appear in the README file. You
2635               may also wish to include it in a Copying file and your source
2636               files.  Remember to include the other words in addition to the
2637               Copyright.
2638
2639           ·   Give the module a version/issue/release number.
2640
2641               To be fully compatible with the Exporter and MakeMaker modules
2642               you should store your module's version number in a non-my
2643               package variable called $VERSION.  This should be a positive
2644               floating point number with at least two digits after the
2645               decimal (i.e., hundredths, e.g, "$VERSION = "0.01"").  Don't
2646               use a "1.3.2" style version.  See Exporter for details.
2647
2648               It may be handy to add a function or method to retrieve the
2649               number.  Use the number in announcements and archive file names
2650               when releasing the module (ModuleName-1.02.tar.Z).  See perldoc
2651               ExtUtils::MakeMaker.pm for details.
2652
2653           ·   How to release and distribute a module.
2654
2655               If possible, register the module with CPAN. Follow the
2656               instructions and links on:
2657
2658                  http://www.cpan.org/modules/04pause.html
2659
2660               and upload to:
2661
2662                  http://pause.perl.org/
2663
2664               and notify <modules@perl.org>. This will allow anyone to
2665               install your module using the "cpan" tool distributed with
2666               Perl.
2667
2668               By using the WWW interface you can ask the Upload Server to
2669               mirror your modules from your ftp or WWW site into your own
2670               directory on CPAN!
2671
2672           ·   Take care when changing a released module.
2673
2674               Always strive to remain compatible with previous released
2675               versions.  Otherwise try to add a mechanism to revert to the
2676               old behavior if people rely on it.  Document incompatible
2677               changes.
2678
2679   Guidelines for Converting Perl 4 Library Scripts into Modules
2680       ·   There is no requirement to convert anything.
2681
2682           If it ain't broke, don't fix it! Perl 4 library scripts should
2683           continue to work with no problems. You may need to make some minor
2684           changes (like escaping non-array @'s in double quoted strings) but
2685           there is no need to convert a .pl file into a Module for just that.
2686
2687       ·   Consider the implications.
2688
2689           All Perl applications that make use of the script will need to be
2690           changed (slightly) if the script is converted into a module.  Is it
2691           worth it unless you plan to make other changes at the same time?
2692
2693       ·   Make the most of the opportunity.
2694
2695           If you are going to convert the script to a module you can use the
2696           opportunity to redesign the interface.  The guidelines for module
2697           creation above include many of the issues you should consider.
2698
2699       ·   The pl2pm utility will get you started.
2700
2701           This utility will read *.pl files (given as parameters) and write
2702           corresponding *.pm files. The pl2pm utilities does the following:
2703
2704           ·         Adds the standard Module prologue lines
2705
2706           ·         Converts package specifiers from ' to ::
2707
2708           ·         Converts die(...) to croak(...)
2709
2710           ·         Several other minor changes
2711
2712           Being a mechanical process pl2pm is not bullet proof. The converted
2713           code will need careful checking, especially any package statements.
2714           Don't delete the original .pl file till the new .pm one works!
2715
2716   Guidelines for Reusing Application Code
2717       ·   Complete applications rarely belong in the Perl Module Library.
2718
2719       ·   Many applications contain some Perl code that could be reused.
2720
2721           Help save the world! Share your code in a form that makes it easy
2722           to reuse.
2723
2724       ·   Break-out the reusable code into one or more separate module files.
2725
2726       ·   Take the opportunity to reconsider and redesign the interfaces.
2727
2728       ·   In some cases the 'application' can then be reduced to a small
2729
2730           fragment of code built on top of the reusable modules. In these
2731           cases the application could invoked as:
2732
2733                % perl -e 'use Module::Name; method(@ARGV)' ...
2734           or
2735                % perl -mModule::Name ...    (in perl5.002 or higher)
2736

NOTE

2738       Perl does not enforce private and public parts of its modules as you
2739       may have been used to in other languages like C++, Ada, or Modula-17.
2740       Perl doesn't have an infatuation with enforced privacy.  It would
2741       prefer that you stayed out of its living room because you weren't
2742       invited, not because it has a shotgun.
2743
2744       The module and its user have a contract, part of which is common law,
2745       and part of which is "written".  Part of the common law contract is
2746       that a module doesn't pollute any namespace it wasn't asked to.  The
2747       written contract for the module (A.K.A. documentation) may make other
2748       provisions.  But then you know when you "use RedefineTheWorld" that
2749       you're redefining the world and willing to take the consequences.
2750
2751
2752
2753perl v5.30.2                      2020-03-27                     PERLMODLIB(1)
Impressum