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

CPAN

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

Modules: Creation, Use, and Abuse

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

NOTE

2772       Perl does not enforce private and public parts of its modules as you
2773       may have been used to in other languages like C++, Ada, or Modula-17.
2774       Perl doesn't have an infatuation with enforced privacy.  It would
2775       prefer that you stayed out of its living room because you weren't
2776       invited, not because it has a shotgun.
2777
2778       The module and its user have a contract, part of which is common law,
2779       and part of which is "written".  Part of the common law contract is
2780       that a module doesn't pollute any namespace it wasn't asked to.  The
2781       written contract for the module (A.K.A. documentation) may make other
2782       provisions.  But then you know when you "use RedefineTheWorld" that
2783       you're redefining the world and willing to take the consequences.
2784
2785
2786
2787perl v5.28.2                      2019-04-23                     PERLMODLIB(1)
Impressum