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, xz, lzma, lzip, lzf or lzop
764                   file/buffer
765
766       IO::Uncompress::Base
767                   Base Class for IO::Uncompress modules
768
769       IO::Uncompress::Bunzip2
770                   Read bzip2 files/buffers
771
772       IO::Uncompress::Gunzip
773                   Read RFC 1952 files/buffers
774
775       IO::Uncompress::Inflate
776                   Read RFC 1950 files/buffers
777
778       IO::Uncompress::RawInflate
779                   Read RFC 1951 files/buffers
780
781       IO::Uncompress::Unzip
782                   Read zip files/buffers
783
784       IO::Zlib    IO:: style interface to Compress::Zlib
785
786       IPC::Cmd    Finding and running system commands made easy
787
788       IPC::Msg    SysV Msg IPC object class
789
790       IPC::Open2  Open a process for both reading and writing using open2()
791
792       IPC::Open3  Open a process for reading, writing, and error handling
793                   using open3()
794
795       IPC::Semaphore
796                   SysV Semaphore IPC object class
797
798       IPC::SharedMem
799                   SysV Shared Memory IPC object class
800
801       IPC::SysV   System V IPC constants and system calls
802
803       Internals   Reserved special namespace for internals related functions
804
805       JSON::PP    JSON::XS compatible pure-Perl module.
806
807       JSON::PP::Boolean
808                   Dummy module providing JSON::PP::Boolean
809
810       List::Util  A selection of general-utility list subroutines
811
812       List::Util::XS
813                   Indicate if List::Util was compiled with a C compiler
814
815       Locale::Maketext
816                   Framework for localization
817
818       Locale::Maketext::Cookbook
819                   Recipes for using Locale::Maketext
820
821       Locale::Maketext::Guts
822                   Deprecated module to load Locale::Maketext utf8 code
823
824       Locale::Maketext::GutsLoader
825                   Deprecated module to load Locale::Maketext utf8 code
826
827       Locale::Maketext::Simple
828                   Simple interface to Locale::Maketext::Lexicon
829
830       Locale::Maketext::TPJ13
831                   Article about software localization
832
833       MIME::Base64
834                   Encoding and decoding of base64 strings
835
836       MIME::QuotedPrint
837                   Encoding and decoding of quoted-printable strings
838
839       Math::BigFloat
840                   Arbitrary size floating point math package
841
842       Math::BigInt
843                   Arbitrary size integer/float math package
844
845       Math::BigInt::Calc
846                   Pure Perl module to support Math::BigInt
847
848       Math::BigInt::FastCalc
849                   Math::BigInt::Calc with some XS for more speed
850
851       Math::BigInt::Lib
852                   Virtual parent class for Math::BigInt libraries
853
854       Math::BigRat
855                   Arbitrary big rational numbers
856
857       Math::Complex
858                   Complex numbers and associated mathematical functions
859
860       Math::Trig  Trigonometric functions
861
862       Memoize     Make functions faster by trading space for time
863
864       Memoize::AnyDBM_File
865                   Glue to provide EXISTS for AnyDBM_File for Storable use
866
867       Memoize::Expire
868                   Plug-in module for automatic expiration of memoized values
869
870       Memoize::ExpireFile
871                   Test for Memoize expiration semantics
872
873       Memoize::ExpireTest
874                   Test for Memoize expiration semantics
875
876       Memoize::NDBM_File
877                   Glue to provide EXISTS for NDBM_File for Storable use
878
879       Memoize::SDBM_File
880                   Glue to provide EXISTS for SDBM_File for Storable use
881
882       Memoize::Storable
883                   Store Memoized data in Storable database
884
885       Module::CoreList
886                   What modules shipped with versions of perl
887
888       Module::CoreList::Utils
889                   What utilities shipped with versions of perl
890
891       Module::Load
892                   Runtime require of both modules and files
893
894       Module::Load::Conditional
895                   Looking up module information / loading at runtime
896
897       Module::Loaded
898                   Mark modules as loaded or unloaded
899
900       Module::Metadata
901                   Gather package and POD information from perl module files
902
903       NDBM_File   Tied access to ndbm files
904
905       NEXT        Provide a pseudo-class NEXT (et al) that allows method
906                   redispatch
907
908       Net::Cmd    Network Command class (as used by FTP, SMTP etc)
909
910       Net::Config Local configuration data for libnet
911
912       Net::Domain Attempt to evaluate the current host's internet name and
913                   domain
914
915       Net::FTP    FTP Client class
916
917       Net::FTP::dataconn
918                   FTP Client data connection class
919
920       Net::NNTP   NNTP Client class
921
922       Net::Netrc  OO interface to users netrc file
923
924       Net::POP3   Post Office Protocol 3 Client class (RFC1939)
925
926       Net::Ping   Check a remote host for reachability
927
928       Net::SMTP   Simple Mail Transfer Protocol Client
929
930       Net::Time   Time and daytime network client interface
931
932       Net::hostent
933                   By-name interface to Perl's built-in gethost*() functions
934
935       Net::libnetFAQ
936                   Libnet Frequently Asked Questions
937
938       Net::netent By-name interface to Perl's built-in getnet*() functions
939
940       Net::protoent
941                   By-name interface to Perl's built-in getproto*() functions
942
943       Net::servent
944                   By-name interface to Perl's built-in getserv*() functions
945
946       O           Generic interface to Perl Compiler backends
947
948       ODBM_File   Tied access to odbm files
949
950       Opcode      Disable named opcodes when compiling perl code
951
952       POSIX       Perl interface to IEEE Std 1003.1
953
954       Params::Check
955                   A generic input parsing/checking mechanism.
956
957       Parse::CPAN::Meta
958                   Parse META.yml and META.json CPAN metadata files
959
960       Perl::OSType
961                   Map Perl operating system names to generic types
962
963       PerlIO      On demand loader for PerlIO layers and root of PerlIO::*
964                   name space
965
966       PerlIO::encoding
967                   Encoding layer
968
969       PerlIO::mmap
970                   Memory mapped IO
971
972       PerlIO::scalar
973                   In-memory IO, scalar IO
974
975       PerlIO::via Helper class for PerlIO layers implemented in perl
976
977       PerlIO::via::QuotedPrint
978                   PerlIO layer for quoted-printable strings
979
980       Pod::Checker
981                   Check pod documents for syntax errors
982
983       Pod::Escapes
984                   For resolving Pod E<...> sequences
985
986       Pod::Functions
987                   Group Perl's functions a la perlfunc.pod
988
989       Pod::Html   Module to convert pod files to HTML
990
991       Pod::Man    Convert POD data to formatted *roff input
992
993       Pod::ParseLink
994                   Parse an L<> formatting code in POD text
995
996       Pod::Perldoc
997                   Look up Perl documentation in Pod format.
998
999       Pod::Perldoc::BaseTo
1000                   Base for Pod::Perldoc formatters
1001
1002       Pod::Perldoc::GetOptsOO
1003                   Customized option parser for Pod::Perldoc
1004
1005       Pod::Perldoc::ToANSI
1006                   Render Pod with ANSI color escapes
1007
1008       Pod::Perldoc::ToChecker
1009                   Let Perldoc check Pod for errors
1010
1011       Pod::Perldoc::ToMan
1012                   Let Perldoc render Pod as man pages
1013
1014       Pod::Perldoc::ToNroff
1015                   Let Perldoc convert Pod to nroff
1016
1017       Pod::Perldoc::ToPod
1018                   Let Perldoc render Pod as ... Pod!
1019
1020       Pod::Perldoc::ToRtf
1021                   Let Perldoc render Pod as RTF
1022
1023       Pod::Perldoc::ToTerm
1024                   Render Pod with terminal escapes
1025
1026       Pod::Perldoc::ToText
1027                   Let Perldoc render Pod as plaintext
1028
1029       Pod::Perldoc::ToTk
1030                   Let Perldoc use Tk::Pod to render Pod
1031
1032       Pod::Perldoc::ToXml
1033                   Let Perldoc render Pod as XML
1034
1035       Pod::Simple Framework for parsing Pod
1036
1037       Pod::Simple::Checker
1038                   Check the Pod syntax of a document
1039
1040       Pod::Simple::Debug
1041                   Put Pod::Simple into trace/debug mode
1042
1043       Pod::Simple::DumpAsText
1044                   Dump Pod-parsing events as text
1045
1046       Pod::Simple::DumpAsXML
1047                   Turn Pod into XML
1048
1049       Pod::Simple::HTML
1050                   Convert Pod to HTML
1051
1052       Pod::Simple::HTMLBatch
1053                   Convert several Pod files to several HTML files
1054
1055       Pod::Simple::JustPod
1056                   Just the Pod, the whole Pod, and nothing but the Pod
1057
1058       Pod::Simple::LinkSection
1059                   Represent "section" attributes of L codes
1060
1061       Pod::Simple::Methody
1062                   Turn Pod::Simple events into method calls
1063
1064       Pod::Simple::PullParser
1065                   A pull-parser interface to parsing Pod
1066
1067       Pod::Simple::PullParserEndToken
1068                   End-tokens from Pod::Simple::PullParser
1069
1070       Pod::Simple::PullParserStartToken
1071                   Start-tokens from Pod::Simple::PullParser
1072
1073       Pod::Simple::PullParserTextToken
1074                   Text-tokens from Pod::Simple::PullParser
1075
1076       Pod::Simple::PullParserToken
1077                   Tokens from Pod::Simple::PullParser
1078
1079       Pod::Simple::RTF
1080                   Format Pod as RTF
1081
1082       Pod::Simple::Search
1083                   Find POD documents in directory trees
1084
1085       Pod::Simple::SimpleTree
1086                   Parse Pod into a simple parse tree
1087
1088       Pod::Simple::Subclassing
1089                   Write a formatter as a Pod::Simple subclass
1090
1091       Pod::Simple::Text
1092                   Format Pod as plaintext
1093
1094       Pod::Simple::TextContent
1095                   Get the text content of Pod
1096
1097       Pod::Simple::XHTML
1098                   Format Pod as validating XHTML
1099
1100       Pod::Simple::XMLOutStream
1101                   Turn Pod into XML
1102
1103       Pod::Text   Convert POD data to formatted text
1104
1105       Pod::Text::Color
1106                   Convert POD data to formatted color ASCII text
1107
1108       Pod::Text::Overstrike
1109                   Convert POD data to formatted overstrike text
1110
1111       Pod::Text::Termcap
1112                   Convert POD data to ASCII text with format escapes
1113
1114       Pod::Usage  Print a usage message from embedded pod documentation
1115
1116       SDBM_File   Tied access to sdbm files
1117
1118       Safe        Compile and execute code in restricted compartments
1119
1120       Scalar::Util
1121                   A selection of general-utility scalar subroutines
1122
1123       Search::Dict
1124                   Look - search for key in dictionary file
1125
1126       SelectSaver Save and restore selected file handle
1127
1128       SelfLoader  Load functions only on demand
1129
1130       Storable    Persistence for Perl data structures
1131
1132       Sub::Util   A selection of utility subroutines for subs and CODE
1133                   references
1134
1135       Symbol      Manipulate Perl symbols and their names
1136
1137       Sys::Hostname
1138                   Try every conceivable way to get hostname
1139
1140       Sys::Syslog Perl interface to the UNIX syslog(3) calls
1141
1142       Sys::Syslog::Win32
1143                   Win32 support for Sys::Syslog
1144
1145       TAP::Base   Base class that provides common functionality to
1146                   TAP::Parser
1147
1148       TAP::Formatter::Base
1149                   Base class for harness output delegates
1150
1151       TAP::Formatter::Color
1152                   Run Perl test scripts with color
1153
1154       TAP::Formatter::Console
1155                   Harness output delegate for default console output
1156
1157       TAP::Formatter::Console::ParallelSession
1158                   Harness output delegate for parallel console output
1159
1160       TAP::Formatter::Console::Session
1161                   Harness output delegate for default console output
1162
1163       TAP::Formatter::File
1164                   Harness output delegate for file output
1165
1166       TAP::Formatter::File::Session
1167                   Harness output delegate for file output
1168
1169       TAP::Formatter::Session
1170                   Abstract base class for harness output delegate
1171
1172       TAP::Harness
1173                   Run test scripts with statistics
1174
1175       TAP::Harness::Env
1176                   Parsing harness related environmental variables where
1177                   appropriate
1178
1179       TAP::Object Base class that provides common functionality to all
1180                   "TAP::*" modules
1181
1182       TAP::Parser Parse TAP output
1183
1184       TAP::Parser::Aggregator
1185                   Aggregate TAP::Parser results
1186
1187       TAP::Parser::Grammar
1188                   A grammar for the Test Anything Protocol.
1189
1190       TAP::Parser::Iterator
1191                   Base class for TAP source iterators
1192
1193       TAP::Parser::Iterator::Array
1194                   Iterator for array-based TAP sources
1195
1196       TAP::Parser::Iterator::Process
1197                   Iterator for process-based TAP sources
1198
1199       TAP::Parser::Iterator::Stream
1200                   Iterator for filehandle-based TAP sources
1201
1202       TAP::Parser::IteratorFactory
1203                   Figures out which SourceHandler objects to use for a given
1204                   Source
1205
1206       TAP::Parser::Multiplexer
1207                   Multiplex multiple TAP::Parsers
1208
1209       TAP::Parser::Result
1210                   Base class for TAP::Parser output objects
1211
1212       TAP::Parser::Result::Bailout
1213                   Bailout result token.
1214
1215       TAP::Parser::Result::Comment
1216                   Comment result token.
1217
1218       TAP::Parser::Result::Plan
1219                   Plan result token.
1220
1221       TAP::Parser::Result::Pragma
1222                   TAP pragma token.
1223
1224       TAP::Parser::Result::Test
1225                   Test result token.
1226
1227       TAP::Parser::Result::Unknown
1228                   Unknown result token.
1229
1230       TAP::Parser::Result::Version
1231                   TAP syntax version token.
1232
1233       TAP::Parser::Result::YAML
1234                   YAML result token.
1235
1236       TAP::Parser::ResultFactory
1237                   Factory for creating TAP::Parser output objects
1238
1239       TAP::Parser::Scheduler
1240                   Schedule tests during parallel testing
1241
1242       TAP::Parser::Scheduler::Job
1243                   A single testing job.
1244
1245       TAP::Parser::Scheduler::Spinner
1246                   A no-op job.
1247
1248       TAP::Parser::Source
1249                   A TAP source & meta data about it
1250
1251       TAP::Parser::SourceHandler
1252                   Base class for different TAP source handlers
1253
1254       TAP::Parser::SourceHandler::Executable
1255                   Stream output from an executable TAP source
1256
1257       TAP::Parser::SourceHandler::File
1258                   Stream TAP from a text file.
1259
1260       TAP::Parser::SourceHandler::Handle
1261                   Stream TAP from an IO::Handle or a GLOB.
1262
1263       TAP::Parser::SourceHandler::Perl
1264                   Stream TAP from a Perl executable
1265
1266       TAP::Parser::SourceHandler::RawTAP
1267                   Stream output from raw TAP in a scalar/array ref.
1268
1269       TAP::Parser::YAMLish::Reader
1270                   Read YAMLish data from iterator
1271
1272       TAP::Parser::YAMLish::Writer
1273                   Write YAMLish data
1274
1275       Term::ANSIColor
1276                   Color screen output using ANSI escape sequences
1277
1278       Term::Cap   Perl termcap interface
1279
1280       Term::Complete
1281                   Perl word completion module
1282
1283       Term::ReadLine
1284                   Perl interface to various "readline" packages.
1285
1286       Test        Provides a simple framework for writing test scripts
1287
1288       Test2       Framework for writing test tools that all work together.
1289
1290       Test2::API  Primary interface for writing Test2 based testing tools.
1291
1292       Test2::API::Breakage
1293                   What breaks at what version
1294
1295       Test2::API::Context
1296                   Object to represent a testing context.
1297
1298       Test2::API::Instance
1299                   Object used by Test2::API under the hood
1300
1301       Test2::API::Stack
1302                   Object to manage a stack of Test2::Hub
1303
1304       Test2::Event
1305                   Base class for events
1306
1307       Test2::Event::Bail
1308                   Bailout!
1309
1310       Test2::Event::Diag
1311                   Diag event type
1312
1313       Test2::Event::Encoding
1314                   Set the encoding for the output stream
1315
1316       Test2::Event::Exception
1317                   Exception event
1318
1319       Test2::Event::Fail
1320                   Event for a simple failed assertion
1321
1322       Test2::Event::Generic
1323                   Generic event type.
1324
1325       Test2::Event::Note
1326                   Note event type
1327
1328       Test2::Event::Ok
1329                   Ok event type
1330
1331       Test2::Event::Pass
1332                   Event for a simple passing assertion
1333
1334       Test2::Event::Plan
1335                   The event of a plan
1336
1337       Test2::Event::Skip
1338                   Skip event type
1339
1340       Test2::Event::Subtest
1341                   Event for subtest types
1342
1343       Test2::Event::TAP::Version
1344                   Event for TAP version.
1345
1346       Test2::Event::V2
1347                   Second generation event.
1348
1349       Test2::Event::Waiting
1350                   Tell all procs/threads it is time to be done
1351
1352       Test2::EventFacet
1353                   Base class for all event facets.
1354
1355       Test2::EventFacet::About
1356                   Facet with event details.
1357
1358       Test2::EventFacet::Amnesty
1359                   Facet for assertion amnesty.
1360
1361       Test2::EventFacet::Assert
1362                   Facet representing an assertion.
1363
1364       Test2::EventFacet::Control
1365                   Facet for hub actions and behaviors.
1366
1367       Test2::EventFacet::Error
1368                   Facet for errors that need to be shown.
1369
1370       Test2::EventFacet::Hub
1371                   Facet for the hubs an event passes through.
1372
1373       Test2::EventFacet::Info
1374                   Facet for information a developer might care about.
1375
1376       Test2::EventFacet::Info::Table
1377                   Intermediary representation of a table.
1378
1379       Test2::EventFacet::Meta
1380                   Facet for meta-data
1381
1382       Test2::EventFacet::Parent
1383                   Facet for events contains other events
1384
1385       Test2::EventFacet::Plan
1386                   Facet for setting the plan
1387
1388       Test2::EventFacet::Render
1389                   Facet that dictates how to render an event.
1390
1391       Test2::EventFacet::Trace
1392                   Debug information for events
1393
1394       Test2::Formatter
1395                   Namespace for formatters.
1396
1397       Test2::Formatter::TAP
1398                   Standard TAP formatter
1399
1400       Test2::Hub  The conduit through which all events flow.
1401
1402       Test2::Hub::Interceptor
1403                   Hub used by interceptor to grab results.
1404
1405       Test2::Hub::Interceptor::Terminator
1406                   Exception class used by
1407
1408       Test2::Hub::Subtest
1409                   Hub used by subtests
1410
1411       Test2::IPC  Turn on IPC for threading or forking support.
1412
1413       Test2::IPC::Driver
1414                   Base class for Test2 IPC drivers.
1415
1416       Test2::IPC::Driver::Files
1417                   Temp dir + Files concurrency model.
1418
1419       Test2::Tools::Tiny
1420                   Tiny set of tools for unfortunate souls who cannot use
1421
1422       Test2::Transition
1423                   Transition notes when upgrading to Test2
1424
1425       Test2::Util Tools used by Test2 and friends.
1426
1427       Test2::Util::ExternalMeta
1428                   Allow third party tools to safely attach meta-data
1429
1430       Test2::Util::Facets2Legacy
1431                   Convert facet data to the legacy event API.
1432
1433       Test2::Util::HashBase
1434                   Build hash based classes.
1435
1436       Test2::Util::Trace
1437                   Legacy wrapper fro Test2::EventFacet::Trace.
1438
1439       Test::Builder
1440                   Backend for building test libraries
1441
1442       Test::Builder::Formatter
1443                   Test::Builder subclass of Test2::Formatter::TAP
1444
1445       Test::Builder::IO::Scalar
1446                   A copy of IO::Scalar for Test::Builder
1447
1448       Test::Builder::Module
1449                   Base class for test modules
1450
1451       Test::Builder::Tester
1452                   Test testsuites that have been built with
1453
1454       Test::Builder::Tester::Color
1455                   Turn on colour in Test::Builder::Tester
1456
1457       Test::Builder::TodoDiag
1458                   Test::Builder subclass of Test2::Event::Diag
1459
1460       Test::Harness
1461                   Run Perl standard test scripts with statistics
1462
1463       Test::Harness::Beyond
1464                   Beyond make test
1465
1466       Test::More  Yet another framework for writing test scripts
1467
1468       Test::Simple
1469                   Basic utilities for writing tests.
1470
1471       Test::Tester
1472                   Ease testing test modules built with Test::Builder
1473
1474       Test::Tester::Capture
1475                   Help testing test modules built with Test::Builder
1476
1477       Test::Tester::CaptureRunner
1478                   Help testing test modules built with Test::Builder
1479
1480       Test::Tutorial
1481                   A tutorial about writing really basic tests
1482
1483       Test::use::ok
1484                   Alternative to Test::More::use_ok
1485
1486       Text::Abbrev
1487                   Abbrev - create an abbreviation table from a list
1488
1489       Text::Balanced
1490                   Extract delimited text sequences from strings.
1491
1492       Text::ParseWords
1493                   Parse text into an array of tokens or array of arrays
1494
1495       Text::Tabs  Expand and unexpand tabs like unix expand(1) and
1496                   unexpand(1)
1497
1498       Text::Wrap  Line wrapping to form simple paragraphs
1499
1500       Thread      Manipulate threads in Perl (for old code only)
1501
1502       Thread::Queue
1503                   Thread-safe queues
1504
1505       Thread::Semaphore
1506                   Thread-safe semaphores
1507
1508       Tie::Array  Base class for tied arrays
1509
1510       Tie::File   Access the lines of a disk file via a Perl array
1511
1512       Tie::Handle Base class definitions for tied handles
1513
1514       Tie::Hash   Base class definitions for tied hashes
1515
1516       Tie::Hash::NamedCapture
1517                   Named regexp capture buffers
1518
1519       Tie::Memoize
1520                   Add data to hash when needed
1521
1522       Tie::RefHash
1523                   Use references as hash keys
1524
1525       Tie::Scalar Base class definitions for tied scalars
1526
1527       Tie::StdHandle
1528                   Base class definitions for tied handles
1529
1530       Tie::SubstrHash
1531                   Fixed-table-size, fixed-key-length hashing
1532
1533       Time::HiRes High resolution alarm, sleep, gettimeofday, interval timers
1534
1535       Time::Local Efficiently compute time from local and GMT time
1536
1537       Time::Piece Object Oriented time objects
1538
1539       Time::Seconds
1540                   A simple API to convert seconds to other date values
1541
1542       Time::gmtime
1543                   By-name interface to Perl's built-in gmtime() function
1544
1545       Time::localtime
1546                   By-name interface to Perl's built-in localtime() function
1547
1548       Time::tm    Internal object used by Time::gmtime and Time::localtime
1549
1550       UNIVERSAL   Base class for ALL classes (blessed references)
1551
1552       Unicode::Collate
1553                   Unicode Collation Algorithm
1554
1555       Unicode::Collate::CJK::Big5
1556                   Weighting CJK Unified Ideographs
1557
1558       Unicode::Collate::CJK::GB2312
1559                   Weighting CJK Unified Ideographs
1560
1561       Unicode::Collate::CJK::JISX0208
1562                   Weighting JIS KANJI for Unicode::Collate
1563
1564       Unicode::Collate::CJK::Korean
1565                   Weighting CJK Unified Ideographs
1566
1567       Unicode::Collate::CJK::Pinyin
1568                   Weighting CJK Unified Ideographs
1569
1570       Unicode::Collate::CJK::Stroke
1571                   Weighting CJK Unified Ideographs
1572
1573       Unicode::Collate::CJK::Zhuyin
1574                   Weighting CJK Unified Ideographs
1575
1576       Unicode::Collate::Locale
1577                   Linguistic tailoring for DUCET via Unicode::Collate
1578
1579       Unicode::Normalize
1580                   Unicode Normalization Forms
1581
1582       Unicode::UCD
1583                   Unicode character database
1584
1585       User::grent By-name interface to Perl's built-in getgr*() functions
1586
1587       User::pwent By-name interface to Perl's built-in getpw*() functions
1588
1589       VMS::DCLsym Perl extension to manipulate DCL symbols
1590
1591       VMS::Filespec
1592                   Convert between VMS and Unix file specification syntax
1593
1594       VMS::Stdio  Standard I/O functions via VMS extensions
1595
1596       Win32       Interfaces to some Win32 API Functions
1597
1598       Win32API::File
1599                   Low-level access to Win32 system API calls for files/dirs.
1600
1601       Win32CORE   Win32 CORE function stubs
1602
1603       XS::APItest Test the perl C API
1604
1605       XS::Typemap Module to test the XS typemaps distributed with perl
1606
1607       XSLoader    Dynamically load C libraries into Perl code
1608
1609       autodie::Scope::Guard
1610                   Wrapper class for calling subs at end of scope
1611
1612       autodie::Scope::GuardStack
1613                   Hook stack for managing scopes via %^H
1614
1615       autodie::Util
1616                   Internal Utility subroutines for autodie and Fatal
1617
1618       version::Internals
1619                   Perl extension for Version Objects
1620
1621       To find out all modules installed on your system, including those
1622       without documentation or outside the standard release, just use the
1623       following command (under the default win32 shell, double quotes should
1624       be used instead of single quotes).
1625
1626           % perl -MFile::Find=find -MFile::Spec::Functions -Tlwe \
1627             'find { wanted => sub { print canonpath $_ if /\.pm\z/ },
1628             no_chdir => 1 }, @INC'
1629
1630       (The -T is here to prevent '.' from being listed in @INC.)  They should
1631       all have their own documentation installed and accessible via your
1632       system man(1) command.  If you do not have a find program, you can use
1633       the Perl find2perl program instead, which generates Perl code as output
1634       you can run through perl.  If you have a man program but it doesn't
1635       find your modules, you'll have to fix your manpath.  See perl for
1636       details.  If you have no system man command, you might try the perldoc
1637       program.
1638
1639       Note also that the command "perldoc perllocal" gives you a (possibly
1640       incomplete) list of the modules that have been further installed on
1641       your system. (The perllocal.pod file is updated by the standard
1642       MakeMaker install process.)
1643
1644   Extension Modules
1645       Extension modules are written in C (or a mix of Perl and C).  They are
1646       usually dynamically loaded into Perl if and when you need them, but may
1647       also be linked in statically.  Supported extension modules include
1648       Socket, Fcntl, and POSIX.
1649
1650       Many popular C extension modules do not come bundled (at least, not
1651       completely) due to their sizes, volatility, or simply lack of time for
1652       adequate testing and configuration across the multitude of platforms on
1653       which Perl was beta-tested.  You are encouraged to look for them on
1654       CPAN (described below), or using web search engines like Google or
1655       DuckDuckGo.
1656

CPAN

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

Modules: Creation, Use, and Abuse

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

NOTE

2727       Perl does not enforce private and public parts of its modules as you
2728       may have been used to in other languages like C++, Ada, or Modula-17.
2729       Perl doesn't have an infatuation with enforced privacy.  It would
2730       prefer that you stayed out of its living room because you weren't
2731       invited, not because it has a shotgun.
2732
2733       The module and its user have a contract, part of which is common law,
2734       and part of which is "written".  Part of the common law contract is
2735       that a module doesn't pollute any namespace it wasn't asked to.  The
2736       written contract for the module (A.K.A. documentation) may make other
2737       provisions.  But then you know when you "use RedefineTheWorld" that
2738       you're redefining the world and willing to take the consequences.
2739
2740
2741
2742perl v5.32.1                      2021-05-31                     PERLMODLIB(1)
Impressum