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

CPAN

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

Modules: Creation, Use, and Abuse

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

NOTE

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