1PERLMODLIB(1) Perl Programmers Reference Guide PERLMODLIB(1)
2
3
4
6 perlmodlib - constructing new Perl modules and finding existing ones
7
9 Many modules are included in the Perl distribution. These are
10 described below, and all end in .pm. You may discover compiled library
11 files (usually ending in .so) or small pieces of modules to be
12 autoloaded (ending in .al); these were automatically generated by the
13 installation process. You may also discover files in the library
14 directory that end in either .pl or .ph. These are old libraries
15 supplied so that old programs that use them still run. The .pl files
16 will all eventually be converted into standard modules, and the .ph
17 files made by h2ph will probably end up as extension modules made by
18 h2xs. (Some .ph values may already be available through the POSIX,
19 Errno, or Fcntl modules.) The pl2pm file in the distribution may help
20 in your conversion, but it's just a mechanical process and therefore
21 far from bulletproof.
22
23 Pragmatic Modules
24 They work somewhat like compiler directives (pragmata) in that they
25 tend to affect the compilation of your program, and thus will usually
26 work well only when used within a "use", or "no". Most of these are
27 lexically scoped, so an inner BLOCK may countermand them by saying:
28
29 no integer;
30 no strict 'refs';
31 no warnings;
32
33 which lasts until the end of that BLOCK.
34
35 Some pragmas are lexically scoped--typically those that affect the $^H
36 hints variable. Others affect the current package instead, like "use
37 vars" and "use subs", which allow you to predeclare a variables or
38 subroutines within a particular file rather than just a block. Such
39 declarations are effective for the entire file for which they were
40 declared. You cannot rescind them with "no vars" or "no subs".
41
42 The following pragmas are defined (and have their own documentation).
43
44 attributes Get/set subroutine or variable attributes
45
46 autodie Replace functions with ones that succeed or die with
47 lexical scope
48
49 autodie::exception
50 Exceptions from autodying functions.
51
52 autodie::exception::system
53 Exceptions from autodying system().
54
55 autodie::hints
56 Provide hints about user subroutines to autodie
57
58 autodie::skip
59 Skip a package when throwing autodie exceptions
60
61 autouse Postpone load of modules until a function is used
62
63 base Establish an ISA relationship with base classes at compile
64 time
65
66 bigint Transparent BigInteger support for Perl
67
68 bignum Transparent BigNumber support for Perl
69
70 bigrat Transparent BigNumber/BigRational support for Perl
71
72 blib Use MakeMaker's uninstalled version of a package
73
74 bytes Expose the individual bytes of characters
75
76 charnames Access to Unicode character names and named character
77 sequences; also define character names
78
79 constant Declare constants
80
81 deprecate Perl pragma for deprecating the inclusion of a module in
82 core
83
84 diagnostics Produce verbose warning diagnostics
85
86 encoding Allows you to write your script in non-ASCII and non-UTF-8
87
88 encoding::warnings
89 Warn on implicit encoding conversions
90
91 experimental
92 Experimental features made easy
93
94 feature Enable new features
95
96 fields Compile-time class fields
97
98 filetest Control the filetest permission operators
99
100 if "use" a Perl module if a condition holds
101
102 integer Use integer arithmetic instead of floating point
103
104 less Request less of something
105
106 lib Manipulate @INC at compile time
107
108 locale Use or avoid POSIX locales for built-in operations
109
110 mro Method Resolution Order
111
112 ok Alternative to Test::More::use_ok
113
114 open Set default PerlIO layers for input and output
115
116 ops Restrict unsafe operations when compiling
117
118 overload Package for overloading Perl operations
119
120 overloading Lexically control overloading
121
122 parent Establish an ISA relationship with base classes at compile
123 time
124
125 re Alter regular expression behaviour
126
127 sigtrap Enable simple signal handling
128
129 sort Control sort() behaviour
130
131 strict Restrict unsafe constructs
132
133 subs Predeclare subroutine names
134
135 threads Perl interpreter-based threads
136
137 threads::shared
138 Perl extension for sharing data structures between threads
139
140 utf8 Enable/disable UTF-8 (or UTF-EBCDIC) in source code
141
142 vars Predeclare global variable names
143
144 version Perl extension for Version Objects
145
146 vmsish Control VMS-specific language features
147
148 warnings Control optional warnings
149
150 warnings::register
151 Warnings import function
152
153 Standard Modules
154 Standard, bundled modules are all expected to behave in a well-defined
155 manner with respect to namespace pollution because they use the
156 Exporter module. See their own documentation for details.
157
158 It's possible that not all modules listed below are installed on your
159 system. For example, the GDBM_File module will not be installed if you
160 don't have the gdbm library.
161
162 Amiga::ARexx
163 Perl extension for ARexx support
164
165 Amiga::Exec Perl extension for low level amiga support
166
167 AnyDBM_File Provide framework for multiple DBMs
168
169 App::Cpan Easily interact with CPAN from the command line
170
171 App::Prove Implements the "prove" command.
172
173 App::Prove::State
174 State storage for the "prove" command.
175
176 App::Prove::State::Result
177 Individual test suite results.
178
179 App::Prove::State::Result::Test
180 Individual test results.
181
182 Archive::Tar
183 Module for manipulations of tar archives
184
185 Archive::Tar::File
186 A subclass for in-memory extracted file from Archive::Tar
187
188 Attribute::Handlers
189 Simpler definition of attribute handlers
190
191 AutoLoader Load subroutines only on demand
192
193 AutoSplit Split a package for autoloading
194
195 B The Perl Compiler Backend
196
197 B::Concise Walk Perl syntax tree, printing concise info about ops
198
199 B::Deparse Perl compiler backend to produce perl code
200
201 B::Op_private
202 OP op_private flag definitions
203
204 B::Showlex Show lexical variables used in functions or files
205
206 B::Terse Walk Perl syntax tree, printing terse info about ops
207
208 B::Xref Generates cross reference reports for Perl programs
209
210 Benchmark Benchmark running times of Perl code
211
212 "IO::Socket::IP"
213 Family-neutral IP socket supporting both IPv4 and IPv6
214
215 "Socket" Networking constants and support functions
216
217 CORE Namespace for Perl's core routines
218
219 CPAN Query, download and build perl modules from CPAN sites
220
221 CPAN::API::HOWTO
222 A recipe book for programming with CPAN.pm
223
224 CPAN::Debug Internal debugging for CPAN.pm
225
226 CPAN::Distroprefs
227 Read and match distroprefs
228
229 CPAN::FirstTime
230 Utility for CPAN::Config file Initialization
231
232 CPAN::HandleConfig
233 Internal configuration handling for CPAN.pm
234
235 CPAN::Kwalify
236 Interface between CPAN.pm and Kwalify.pm
237
238 CPAN::Meta The distribution metadata for a CPAN dist
239
240 CPAN::Meta::Converter
241 Convert CPAN distribution metadata structures
242
243 CPAN::Meta::Feature
244 An optional feature provided by a CPAN distribution
245
246 CPAN::Meta::History
247 History of CPAN Meta Spec changes
248
249 CPAN::Meta::History::Meta_1_0
250 Version 1.0 metadata specification for META.yml
251
252 CPAN::Meta::History::Meta_1_1
253 Version 1.1 metadata specification for META.yml
254
255 CPAN::Meta::History::Meta_1_2
256 Version 1.2 metadata specification for META.yml
257
258 CPAN::Meta::History::Meta_1_3
259 Version 1.3 metadata specification for META.yml
260
261 CPAN::Meta::History::Meta_1_4
262 Version 1.4 metadata specification for META.yml
263
264 CPAN::Meta::Merge
265 Merging CPAN Meta fragments
266
267 CPAN::Meta::Prereqs
268 A set of distribution prerequisites by phase and type
269
270 CPAN::Meta::Requirements
271 A set of version requirements for a CPAN dist
272
273 CPAN::Meta::Spec
274 Specification for CPAN distribution metadata
275
276 CPAN::Meta::Validator
277 Validate CPAN distribution metadata structures
278
279 CPAN::Meta::YAML
280 Read and write a subset of YAML for CPAN Meta files
281
282 CPAN::Nox Wrapper around CPAN.pm without using any XS module
283
284 CPAN::Plugin
285 Base class for CPAN shell extensions
286
287 CPAN::Plugin::Specfile
288 Proof of concept implementation of a trivial CPAN::Plugin
289
290 CPAN::Queue Internal queue support for CPAN.pm
291
292 CPAN::Tarzip
293 Internal handling of tar archives for CPAN.pm
294
295 CPAN::Version
296 Utility functions to compare CPAN versions
297
298 Carp Alternative warn and die for modules
299
300 Class::Struct
301 Declare struct-like datatypes as Perl classes
302
303 Compress::Raw::Bzip2
304 Low-Level Interface to bzip2 compression library
305
306 Compress::Raw::Zlib
307 Low-Level Interface to zlib compression library
308
309 Compress::Zlib
310 Interface to zlib compression library
311
312 Config Access Perl configuration information
313
314 Config::Extensions
315 Hash lookup of which core extensions were built.
316
317 Config::Perl::V
318 Structured data retrieval of perl -V output
319
320 Cwd Get pathname of current working directory
321
322 DB Programmatic interface to the Perl debugging API
323
324 DBM_Filter Filter DBM keys/values
325
326 DBM_Filter::compress
327 Filter for DBM_Filter
328
329 DBM_Filter::encode
330 Filter for DBM_Filter
331
332 DBM_Filter::int32
333 Filter for DBM_Filter
334
335 DBM_Filter::null
336 Filter for DBM_Filter
337
338 DBM_Filter::utf8
339 Filter for DBM_Filter
340
341 DB_File Perl5 access to Berkeley DB version 1.x
342
343 Data::Dumper
344 Stringified perl data structures, suitable for both
345 printing and "eval"
346
347 Devel::PPPort
348 Perl/Pollution/Portability
349
350 Devel::Peek A data debugging tool for the XS programmer
351
352 Devel::SelfStubber
353 Generate stubs for a SelfLoading module
354
355 Digest Modules that calculate message digests
356
357 Digest::MD5 Perl interface to the MD5 Algorithm
358
359 Digest::SHA Perl extension for SHA-1/224/256/384/512
360
361 Digest::base
362 Digest base class
363
364 Digest::file
365 Calculate digests of files
366
367 DirHandle (obsolete) supply object methods for directory handles
368
369 Dumpvalue Provides screen dump of Perl data.
370
371 DynaLoader Dynamically load C libraries into Perl code
372
373 Encode Character encodings in Perl
374
375 Encode::Alias
376 Alias definitions to encodings
377
378 Encode::Byte
379 Single Byte Encodings
380
381 Encode::CJKConstants
382 Internally used by Encode::??::ISO_2022_*
383
384 Encode::CN China-based Chinese Encodings
385
386 Encode::CN::HZ
387 Internally used by Encode::CN
388
389 Encode::Config
390 Internally used by Encode
391
392 Encode::EBCDIC
393 EBCDIC Encodings
394
395 Encode::Encoder
396 Object Oriented Encoder
397
398 Encode::Encoding
399 Encode Implementation Base Class
400
401 Encode::GSM0338
402 ETSI GSM 03.38 Encoding
403
404 Encode::Guess
405 Guesses encoding from data
406
407 Encode::JP Japanese Encodings
408
409 Encode::JP::H2Z
410 Internally used by Encode::JP::2022_JP*
411
412 Encode::JP::JIS7
413 Internally used by Encode::JP
414
415 Encode::KR Korean Encodings
416
417 Encode::KR::2022_KR
418 Internally used by Encode::KR
419
420 Encode::MIME::Header
421 MIME encoding for an unstructured email header
422
423 Encode::MIME::Name
424 Internally used by Encode
425
426 Encode::PerlIO
427 A detailed document on Encode and PerlIO
428
429 Encode::Supported
430 Encodings supported by Encode
431
432 Encode::Symbol
433 Symbol Encodings
434
435 Encode::TW Taiwan-based Chinese Encodings
436
437 Encode::Unicode
438 Various Unicode Transformation Formats
439
440 Encode::Unicode::UTF7
441 UTF-7 encoding
442
443 English Use nice English (or awk) names for ugly punctuation
444 variables
445
446 Env Perl module that imports environment variables as scalars
447 or arrays
448
449 Errno System errno constants
450
451 Exporter Implements default import method for modules
452
453 Exporter::Heavy
454 Exporter guts
455
456 ExtUtils::CBuilder
457 Compile and link C code for Perl modules
458
459 ExtUtils::CBuilder::Platform::Windows
460 Builder class for Windows platforms
461
462 ExtUtils::Command
463 Utilities to replace common UNIX commands in Makefiles etc.
464
465 ExtUtils::Command::MM
466 Commands for the MM's to use in Makefiles
467
468 ExtUtils::Constant
469 Generate XS code to import C header constants
470
471 ExtUtils::Constant::Base
472 Base class for ExtUtils::Constant objects
473
474 ExtUtils::Constant::Utils
475 Helper functions for ExtUtils::Constant
476
477 ExtUtils::Constant::XS
478 Generate C code for XS modules' constants.
479
480 ExtUtils::Embed
481 Utilities for embedding Perl in C/C++ applications
482
483 ExtUtils::Install
484 Install files from here to there
485
486 ExtUtils::Installed
487 Inventory management of installed modules
488
489 ExtUtils::Liblist
490 Determine libraries to use and how to use them
491
492 ExtUtils::MM
493 OS adjusted ExtUtils::MakeMaker subclass
494
495 ExtUtils::MM::Utils
496 ExtUtils::MM methods without dependency on
497 ExtUtils::MakeMaker
498
499 ExtUtils::MM_AIX
500 AIX specific subclass of ExtUtils::MM_Unix
501
502 ExtUtils::MM_Any
503 Platform-agnostic MM methods
504
505 ExtUtils::MM_BeOS
506 Methods to override UN*X behaviour in ExtUtils::MakeMaker
507
508 ExtUtils::MM_Cygwin
509 Methods to override UN*X behaviour in ExtUtils::MakeMaker
510
511 ExtUtils::MM_DOS
512 DOS specific subclass of ExtUtils::MM_Unix
513
514 ExtUtils::MM_Darwin
515 Special behaviors for OS X
516
517 ExtUtils::MM_MacOS
518 Once produced Makefiles for MacOS Classic
519
520 ExtUtils::MM_NW5
521 Methods to override UN*X behaviour in ExtUtils::MakeMaker
522
523 ExtUtils::MM_OS2
524 Methods to override UN*X behaviour in ExtUtils::MakeMaker
525
526 ExtUtils::MM_OS390
527 OS390 specific subclass of ExtUtils::MM_Unix
528
529 ExtUtils::MM_QNX
530 QNX specific subclass of ExtUtils::MM_Unix
531
532 ExtUtils::MM_UWIN
533 U/WIN specific subclass of ExtUtils::MM_Unix
534
535 ExtUtils::MM_Unix
536 Methods used by ExtUtils::MakeMaker
537
538 ExtUtils::MM_VMS
539 Methods to override UN*X behaviour in ExtUtils::MakeMaker
540
541 ExtUtils::MM_VOS
542 VOS specific subclass of ExtUtils::MM_Unix
543
544 ExtUtils::MM_Win32
545 Methods to override UN*X behaviour in ExtUtils::MakeMaker
546
547 ExtUtils::MM_Win95
548 Method to customize MakeMaker for Win9X
549
550 ExtUtils::MY
551 ExtUtils::MakeMaker subclass for customization
552
553 ExtUtils::MakeMaker
554 Create a module Makefile
555
556 ExtUtils::MakeMaker::Config
557 Wrapper around Config.pm
558
559 ExtUtils::MakeMaker::FAQ
560 Frequently Asked Questions About MakeMaker
561
562 ExtUtils::MakeMaker::Locale
563 Bundled Encode::Locale
564
565 ExtUtils::MakeMaker::Tutorial
566 Writing a module with MakeMaker
567
568 ExtUtils::Manifest
569 Utilities to write and check a MANIFEST file
570
571 ExtUtils::Miniperl
572 Write the C code for miniperlmain.c and perlmain.c
573
574 ExtUtils::Mkbootstrap
575 Make a bootstrap file for use by DynaLoader
576
577 ExtUtils::Mksymlists
578 Write linker options files for dynamic extension
579
580 ExtUtils::PL2Bat
581 Batch file creation to run perl scripts on Windows
582
583 ExtUtils::Packlist
584 Manage .packlist files
585
586 ExtUtils::ParseXS
587 Converts Perl XS code into C code
588
589 ExtUtils::ParseXS::Constants
590 Initialization values for some globals
591
592 ExtUtils::ParseXS::Eval
593 Clean package to evaluate code in
594
595 ExtUtils::ParseXS::Utilities
596 Subroutines used with ExtUtils::ParseXS
597
598 ExtUtils::Typemaps
599 Read/Write/Modify Perl/XS typemap files
600
601 ExtUtils::Typemaps::Cmd
602 Quick commands for handling typemaps
603
604 ExtUtils::Typemaps::InputMap
605 Entry in the INPUT section of a typemap
606
607 ExtUtils::Typemaps::OutputMap
608 Entry in the OUTPUT section of a typemap
609
610 ExtUtils::Typemaps::Type
611 Entry in the TYPEMAP section of a typemap
612
613 ExtUtils::XSSymSet
614 Keep sets of symbol names palatable to the VMS linker
615
616 ExtUtils::testlib
617 Add blib/* directories to @INC
618
619 Fatal Replace functions with equivalents which succeed or die
620
621 Fcntl Load the C Fcntl.h defines
622
623 File::Basename
624 Parse file paths into directory, filename and suffix.
625
626 File::Compare
627 Compare files or filehandles
628
629 File::Copy Copy files or filehandles
630
631 File::DosGlob
632 DOS like globbing and then some
633
634 File::Fetch A generic file fetching mechanism
635
636 File::Find Traverse a directory tree.
637
638 File::Glob Perl extension for BSD glob routine
639
640 File::GlobMapper
641 Extend File Glob to Allow Input and Output Files
642
643 File::Path Create or remove directory trees
644
645 File::Spec Portably perform operations on file names
646
647 File::Spec::AmigaOS
648 File::Spec for AmigaOS
649
650 File::Spec::Cygwin
651 Methods for Cygwin file specs
652
653 File::Spec::Epoc
654 Methods for Epoc file specs
655
656 File::Spec::Functions
657 Portably perform operations on file names
658
659 File::Spec::Mac
660 File::Spec for Mac OS (Classic)
661
662 File::Spec::OS2
663 Methods for OS/2 file specs
664
665 File::Spec::Unix
666 File::Spec for Unix, base for other File::Spec modules
667
668 File::Spec::VMS
669 Methods for VMS file specs
670
671 File::Spec::Win32
672 Methods for Win32 file specs
673
674 File::Temp Return name and handle of a temporary file safely
675
676 File::stat By-name interface to Perl's built-in stat() functions
677
678 FileCache Keep more files open than the system permits
679
680 FileHandle Supply object methods for filehandles
681
682 Filter::Simple
683 Simplified source filtering
684
685 Filter::Util::Call
686 Perl Source Filter Utility Module
687
688 FindBin Locate directory of original perl script
689
690 GDBM_File Perl5 access to the gdbm library.
691
692 Getopt::Long
693 Extended processing of command line options
694
695 Getopt::Std Process single-character switches with switch clustering
696
697 HTTP::Tiny A small, simple, correct HTTP/1.1 client
698
699 Hash::Util A selection of general-utility hash subroutines
700
701 Hash::Util::FieldHash
702 Support for Inside-Out Classes
703
704 I18N::Collate
705 Compare 8-bit scalar data according to the current locale
706
707 I18N::LangTags
708 Functions for dealing with RFC3066-style language tags
709
710 I18N::LangTags::Detect
711 Detect the user's language preferences
712
713 I18N::LangTags::List
714 Tags and names for human languages
715
716 I18N::Langinfo
717 Query locale information
718
719 IO Load various IO modules
720
721 IO::Compress::Base
722 Base Class for IO::Compress modules
723
724 IO::Compress::Bzip2
725 Write bzip2 files/buffers
726
727 IO::Compress::Deflate
728 Write RFC 1950 files/buffers
729
730 IO::Compress::FAQ
731 Frequently Asked Questions about IO::Compress
732
733 IO::Compress::Gzip
734 Write RFC 1952 files/buffers
735
736 IO::Compress::RawDeflate
737 Write RFC 1951 files/buffers
738
739 IO::Compress::Zip
740 Write zip files/buffers
741
742 IO::Dir Supply object methods for directory handles
743
744 IO::File Supply object methods for filehandles
745
746 IO::Handle Supply object methods for I/O handles
747
748 IO::Pipe Supply object methods for pipes
749
750 IO::Poll Object interface to system poll call
751
752 IO::Seekable
753 Supply seek based methods for I/O objects
754
755 IO::Select OO interface to the select system call
756
757 IO::Socket Object interface to socket communications
758
759 IO::Socket::INET
760 Object interface for AF_INET domain sockets
761
762 IO::Socket::UNIX
763 Object interface for AF_UNIX domain sockets
764
765 IO::Uncompress::AnyInflate
766 Uncompress zlib-based (zip, gzip) file/buffer
767
768 IO::Uncompress::AnyUncompress
769 Uncompress gzip, zip, bzip2, zstd, xz, lzma, lzip, lzf or
770 lzop file/buffer
771
772 IO::Uncompress::Base
773 Base Class for IO::Uncompress modules
774
775 IO::Uncompress::Bunzip2
776 Read bzip2 files/buffers
777
778 IO::Uncompress::Gunzip
779 Read RFC 1952 files/buffers
780
781 IO::Uncompress::Inflate
782 Read RFC 1950 files/buffers
783
784 IO::Uncompress::RawInflate
785 Read RFC 1951 files/buffers
786
787 IO::Uncompress::Unzip
788 Read zip files/buffers
789
790 IO::Zlib IO:: style interface to Compress::Zlib
791
792 IPC::Cmd Finding and running system commands made easy
793
794 IPC::Msg SysV Msg IPC object class
795
796 IPC::Open2 Open a process for both reading and writing using open2()
797
798 IPC::Open3 Open a process for reading, writing, and error handling
799 using open3()
800
801 IPC::Semaphore
802 SysV Semaphore IPC object class
803
804 IPC::SharedMem
805 SysV Shared Memory IPC object class
806
807 IPC::SysV System V IPC constants and system calls
808
809 Internals Reserved special namespace for internals related functions
810
811 JSON::PP JSON::XS compatible pure-Perl module.
812
813 JSON::PP::Boolean
814 Dummy module providing JSON::PP::Boolean
815
816 List::Util A selection of general-utility list subroutines
817
818 List::Util::XS
819 Indicate if List::Util was compiled with a C compiler
820
821 Locale::Maketext
822 Framework for localization
823
824 Locale::Maketext::Cookbook
825 Recipes for using Locale::Maketext
826
827 Locale::Maketext::Guts
828 Deprecated module to load Locale::Maketext utf8 code
829
830 Locale::Maketext::GutsLoader
831 Deprecated module to load Locale::Maketext utf8 code
832
833 Locale::Maketext::Simple
834 Simple interface to Locale::Maketext::Lexicon
835
836 Locale::Maketext::TPJ13
837 Article about software localization
838
839 MIME::Base64
840 Encoding and decoding of base64 strings
841
842 MIME::QuotedPrint
843 Encoding and decoding of quoted-printable strings
844
845 Math::BigFloat
846 Arbitrary size floating point math package
847
848 Math::BigInt
849 Arbitrary size integer/float math package
850
851 Math::BigInt::Calc
852 Pure Perl module to support Math::BigInt
853
854 Math::BigInt::FastCalc
855 Math::BigInt::Calc with some XS for more speed
856
857 Math::BigInt::Lib
858 Virtual parent class for Math::BigInt libraries
859
860 Math::BigRat
861 Arbitrary big rational numbers
862
863 Math::Complex
864 Complex numbers and associated mathematical functions
865
866 Math::Trig Trigonometric functions
867
868 Memoize Make functions faster by trading space for time
869
870 Memoize::AnyDBM_File
871 Glue to provide EXISTS for AnyDBM_File for Storable use
872
873 Memoize::Expire
874 Plug-in module for automatic expiration of memoized values
875
876 Memoize::ExpireFile
877 Test for Memoize expiration semantics
878
879 Memoize::ExpireTest
880 Test for Memoize expiration semantics
881
882 Memoize::NDBM_File
883 Glue to provide EXISTS for NDBM_File for Storable use
884
885 Memoize::SDBM_File
886 Glue to provide EXISTS for SDBM_File for Storable use
887
888 Memoize::Storable
889 Store Memoized data in Storable database
890
891 Module::CoreList
892 What modules shipped with versions of perl
893
894 Module::CoreList::Utils
895 What utilities shipped with versions of perl
896
897 Module::Load
898 Runtime require of both modules and files
899
900 Module::Load::Conditional
901 Looking up module information / loading at runtime
902
903 Module::Loaded
904 Mark modules as loaded or unloaded
905
906 Module::Metadata
907 Gather package and POD information from perl module files
908
909 NDBM_File Tied access to ndbm files
910
911 NEXT Provide a pseudo-class NEXT (et al) that allows method
912 redispatch
913
914 Net::Cmd Network Command class (as used by FTP, SMTP etc)
915
916 Net::Config Local configuration data for libnet
917
918 Net::Domain Attempt to evaluate the current host's internet name and
919 domain
920
921 Net::FTP FTP Client class
922
923 Net::FTP::dataconn
924 FTP Client data connection class
925
926 Net::NNTP NNTP Client class
927
928 Net::Netrc OO interface to users netrc file
929
930 Net::POP3 Post Office Protocol 3 Client class (RFC1939)
931
932 Net::Ping Check a remote host for reachability
933
934 Net::SMTP Simple Mail Transfer Protocol Client
935
936 Net::Time Time and daytime network client interface
937
938 Net::hostent
939 By-name interface to Perl's built-in gethost*() functions
940
941 Net::libnetFAQ
942 Libnet Frequently Asked Questions
943
944 Net::netent By-name interface to Perl's built-in getnet*() functions
945
946 Net::protoent
947 By-name interface to Perl's built-in getproto*() functions
948
949 Net::servent
950 By-name interface to Perl's built-in getserv*() functions
951
952 O Generic interface to Perl Compiler backends
953
954 ODBM_File Tied access to odbm files
955
956 Opcode Disable named opcodes when compiling perl code
957
958 POSIX Perl interface to IEEE Std 1003.1
959
960 Params::Check
961 A generic input parsing/checking mechanism.
962
963 Parse::CPAN::Meta
964 Parse META.yml and META.json CPAN metadata files
965
966 Perl::OSType
967 Map Perl operating system names to generic types
968
969 PerlIO On demand loader for PerlIO layers and root of PerlIO::*
970 name space
971
972 PerlIO::encoding
973 Encoding layer
974
975 PerlIO::mmap
976 Memory mapped IO
977
978 PerlIO::scalar
979 In-memory IO, scalar IO
980
981 PerlIO::via Helper class for PerlIO layers implemented in perl
982
983 PerlIO::via::QuotedPrint
984 PerlIO layer for quoted-printable strings
985
986 Pod::Checker
987 Check pod documents for syntax errors
988
989 Pod::Escapes
990 For resolving Pod E<...> sequences
991
992 Pod::Functions
993 Group Perl's functions a la perlfunc.pod
994
995 Pod::Html Module to convert pod files to HTML
996
997 Pod::Man Convert POD data to formatted *roff input
998
999 Pod::ParseLink
1000 Parse an L<> formatting code in POD text
1001
1002 Pod::Perldoc
1003 Look up Perl documentation in Pod format.
1004
1005 Pod::Perldoc::BaseTo
1006 Base for Pod::Perldoc formatters
1007
1008 Pod::Perldoc::GetOptsOO
1009 Customized option parser for Pod::Perldoc
1010
1011 Pod::Perldoc::ToANSI
1012 Render Pod with ANSI color escapes
1013
1014 Pod::Perldoc::ToChecker
1015 Let Perldoc check Pod for errors
1016
1017 Pod::Perldoc::ToMan
1018 Let Perldoc render Pod as man pages
1019
1020 Pod::Perldoc::ToNroff
1021 Let Perldoc convert Pod to nroff
1022
1023 Pod::Perldoc::ToPod
1024 Let Perldoc render Pod as ... Pod!
1025
1026 Pod::Perldoc::ToRtf
1027 Let Perldoc render Pod as RTF
1028
1029 Pod::Perldoc::ToTerm
1030 Render Pod with terminal escapes
1031
1032 Pod::Perldoc::ToText
1033 Let Perldoc render Pod as plaintext
1034
1035 Pod::Perldoc::ToTk
1036 Let Perldoc use Tk::Pod to render Pod
1037
1038 Pod::Perldoc::ToXml
1039 Let Perldoc render Pod as XML
1040
1041 Pod::Simple Framework for parsing Pod
1042
1043 Pod::Simple::Checker
1044 Check the Pod syntax of a document
1045
1046 Pod::Simple::Debug
1047 Put Pod::Simple into trace/debug mode
1048
1049 Pod::Simple::DumpAsText
1050 Dump Pod-parsing events as text
1051
1052 Pod::Simple::DumpAsXML
1053 Turn Pod into XML
1054
1055 Pod::Simple::HTML
1056 Convert Pod to HTML
1057
1058 Pod::Simple::HTMLBatch
1059 Convert several Pod files to several HTML files
1060
1061 Pod::Simple::JustPod
1062 Just the Pod, the whole Pod, and nothing but the Pod
1063
1064 Pod::Simple::LinkSection
1065 Represent "section" attributes of L codes
1066
1067 Pod::Simple::Methody
1068 Turn Pod::Simple events into method calls
1069
1070 Pod::Simple::PullParser
1071 A pull-parser interface to parsing Pod
1072
1073 Pod::Simple::PullParserEndToken
1074 End-tokens from Pod::Simple::PullParser
1075
1076 Pod::Simple::PullParserStartToken
1077 Start-tokens from Pod::Simple::PullParser
1078
1079 Pod::Simple::PullParserTextToken
1080 Text-tokens from Pod::Simple::PullParser
1081
1082 Pod::Simple::PullParserToken
1083 Tokens from Pod::Simple::PullParser
1084
1085 Pod::Simple::RTF
1086 Format Pod as RTF
1087
1088 Pod::Simple::Search
1089 Find POD documents in directory trees
1090
1091 Pod::Simple::SimpleTree
1092 Parse Pod into a simple parse tree
1093
1094 Pod::Simple::Subclassing
1095 Write a formatter as a Pod::Simple subclass
1096
1097 Pod::Simple::Text
1098 Format Pod as plaintext
1099
1100 Pod::Simple::TextContent
1101 Get the text content of Pod
1102
1103 Pod::Simple::XHTML
1104 Format Pod as validating XHTML
1105
1106 Pod::Simple::XMLOutStream
1107 Turn Pod into XML
1108
1109 Pod::Text Convert POD data to formatted text
1110
1111 Pod::Text::Color
1112 Convert POD data to formatted color ASCII text
1113
1114 Pod::Text::Overstrike
1115 Convert POD data to formatted overstrike text
1116
1117 Pod::Text::Termcap
1118 Convert POD data to ASCII text with format escapes
1119
1120 Pod::Usage Extracts POD documentation and shows usage information
1121
1122 SDBM_File Tied access to sdbm files
1123
1124 Safe Compile and execute code in restricted compartments
1125
1126 Scalar::Util
1127 A selection of general-utility scalar subroutines
1128
1129 Search::Dict
1130 Look - search for key in dictionary file
1131
1132 SelectSaver Save and restore selected file handle
1133
1134 SelfLoader Load functions only on demand
1135
1136 Storable Persistence for Perl data structures
1137
1138 Sub::Util A selection of utility subroutines for subs and CODE
1139 references
1140
1141 Symbol Manipulate Perl symbols and their names
1142
1143 Sys::Hostname
1144 Try every conceivable way to get hostname
1145
1146 Sys::Syslog Perl interface to the UNIX syslog(3) calls
1147
1148 Sys::Syslog::Win32
1149 Win32 support for Sys::Syslog
1150
1151 TAP::Base Base class that provides common functionality to
1152 TAP::Parser
1153
1154 TAP::Formatter::Base
1155 Base class for harness output delegates
1156
1157 TAP::Formatter::Color
1158 Run Perl test scripts with color
1159
1160 TAP::Formatter::Console
1161 Harness output delegate for default console output
1162
1163 TAP::Formatter::Console::ParallelSession
1164 Harness output delegate for parallel console output
1165
1166 TAP::Formatter::Console::Session
1167 Harness output delegate for default console output
1168
1169 TAP::Formatter::File
1170 Harness output delegate for file output
1171
1172 TAP::Formatter::File::Session
1173 Harness output delegate for file output
1174
1175 TAP::Formatter::Session
1176 Abstract base class for harness output delegate
1177
1178 TAP::Harness
1179 Run test scripts with statistics
1180
1181 TAP::Harness::Env
1182 Parsing harness related environmental variables where
1183 appropriate
1184
1185 TAP::Object Base class that provides common functionality to all
1186 "TAP::*" modules
1187
1188 TAP::Parser Parse TAP output
1189
1190 TAP::Parser::Aggregator
1191 Aggregate TAP::Parser results
1192
1193 TAP::Parser::Grammar
1194 A grammar for the Test Anything Protocol.
1195
1196 TAP::Parser::Iterator
1197 Base class for TAP source iterators
1198
1199 TAP::Parser::Iterator::Array
1200 Iterator for array-based TAP sources
1201
1202 TAP::Parser::Iterator::Process
1203 Iterator for process-based TAP sources
1204
1205 TAP::Parser::Iterator::Stream
1206 Iterator for filehandle-based TAP sources
1207
1208 TAP::Parser::IteratorFactory
1209 Figures out which SourceHandler objects to use for a given
1210 Source
1211
1212 TAP::Parser::Multiplexer
1213 Multiplex multiple TAP::Parsers
1214
1215 TAP::Parser::Result
1216 Base class for TAP::Parser output objects
1217
1218 TAP::Parser::Result::Bailout
1219 Bailout result token.
1220
1221 TAP::Parser::Result::Comment
1222 Comment result token.
1223
1224 TAP::Parser::Result::Plan
1225 Plan result token.
1226
1227 TAP::Parser::Result::Pragma
1228 TAP pragma token.
1229
1230 TAP::Parser::Result::Test
1231 Test result token.
1232
1233 TAP::Parser::Result::Unknown
1234 Unknown result token.
1235
1236 TAP::Parser::Result::Version
1237 TAP syntax version token.
1238
1239 TAP::Parser::Result::YAML
1240 YAML result token.
1241
1242 TAP::Parser::ResultFactory
1243 Factory for creating TAP::Parser output objects
1244
1245 TAP::Parser::Scheduler
1246 Schedule tests during parallel testing
1247
1248 TAP::Parser::Scheduler::Job
1249 A single testing job.
1250
1251 TAP::Parser::Scheduler::Spinner
1252 A no-op job.
1253
1254 TAP::Parser::Source
1255 A TAP source & meta data about it
1256
1257 TAP::Parser::SourceHandler
1258 Base class for different TAP source handlers
1259
1260 TAP::Parser::SourceHandler::Executable
1261 Stream output from an executable TAP source
1262
1263 TAP::Parser::SourceHandler::File
1264 Stream TAP from a text file.
1265
1266 TAP::Parser::SourceHandler::Handle
1267 Stream TAP from an IO::Handle or a GLOB.
1268
1269 TAP::Parser::SourceHandler::Perl
1270 Stream TAP from a Perl executable
1271
1272 TAP::Parser::SourceHandler::RawTAP
1273 Stream output from raw TAP in a scalar/array ref.
1274
1275 TAP::Parser::YAMLish::Reader
1276 Read YAMLish data from iterator
1277
1278 TAP::Parser::YAMLish::Writer
1279 Write YAMLish data
1280
1281 Term::ANSIColor
1282 Color screen output using ANSI escape sequences
1283
1284 Term::Cap Perl termcap interface
1285
1286 Term::Complete
1287 Perl word completion module
1288
1289 Term::ReadLine
1290 Perl interface to various "readline" packages.
1291
1292 Test Provides a simple framework for writing test scripts
1293
1294 Test2 Framework for writing test tools that all work together.
1295
1296 Test2::API Primary interface for writing Test2 based testing tools.
1297
1298 Test2::API::Breakage
1299 What breaks at what version
1300
1301 Test2::API::Context
1302 Object to represent a testing context.
1303
1304 Test2::API::Instance
1305 Object used by Test2::API under the hood
1306
1307 Test2::API::InterceptResult
1308 Representation of a list of events.
1309
1310 Test2::API::InterceptResult::Event
1311 Representation of an event for use in
1312
1313 Test2::API::InterceptResult::Hub
1314 Hub used by InterceptResult.
1315
1316 Test2::API::InterceptResult::Squasher
1317 Encapsulation of the algorithm that
1318
1319 Test2::API::Stack
1320 Object to manage a stack of Test2::Hub
1321
1322 Test2::Event
1323 Base class for events
1324
1325 Test2::Event::Bail
1326 Bailout!
1327
1328 Test2::Event::Diag
1329 Diag event type
1330
1331 Test2::Event::Encoding
1332 Set the encoding for the output stream
1333
1334 Test2::Event::Exception
1335 Exception event
1336
1337 Test2::Event::Fail
1338 Event for a simple failed assertion
1339
1340 Test2::Event::Generic
1341 Generic event type.
1342
1343 Test2::Event::Note
1344 Note event type
1345
1346 Test2::Event::Ok
1347 Ok event type
1348
1349 Test2::Event::Pass
1350 Event for a simple passing assertion
1351
1352 Test2::Event::Plan
1353 The event of a plan
1354
1355 Test2::Event::Skip
1356 Skip event type
1357
1358 Test2::Event::Subtest
1359 Event for subtest types
1360
1361 Test2::Event::TAP::Version
1362 Event for TAP version.
1363
1364 Test2::Event::V2
1365 Second generation event.
1366
1367 Test2::Event::Waiting
1368 Tell all procs/threads it is time to be done
1369
1370 Test2::EventFacet
1371 Base class for all event facets.
1372
1373 Test2::EventFacet::About
1374 Facet with event details.
1375
1376 Test2::EventFacet::Amnesty
1377 Facet for assertion amnesty.
1378
1379 Test2::EventFacet::Assert
1380 Facet representing an assertion.
1381
1382 Test2::EventFacet::Control
1383 Facet for hub actions and behaviors.
1384
1385 Test2::EventFacet::Error
1386 Facet for errors that need to be shown.
1387
1388 Test2::EventFacet::Hub
1389 Facet for the hubs an event passes through.
1390
1391 Test2::EventFacet::Info
1392 Facet for information a developer might care about.
1393
1394 Test2::EventFacet::Info::Table
1395 Intermediary representation of a table.
1396
1397 Test2::EventFacet::Meta
1398 Facet for meta-data
1399
1400 Test2::EventFacet::Parent
1401 Facet for events contains other events
1402
1403 Test2::EventFacet::Plan
1404 Facet for setting the plan
1405
1406 Test2::EventFacet::Render
1407 Facet that dictates how to render an event.
1408
1409 Test2::EventFacet::Trace
1410 Debug information for events
1411
1412 Test2::Formatter
1413 Namespace for formatters.
1414
1415 Test2::Formatter::TAP
1416 Standard TAP formatter
1417
1418 Test2::Hub The conduit through which all events flow.
1419
1420 Test2::Hub::Interceptor
1421 Hub used by interceptor to grab results.
1422
1423 Test2::Hub::Interceptor::Terminator
1424 Exception class used by
1425
1426 Test2::Hub::Subtest
1427 Hub used by subtests
1428
1429 Test2::IPC Turn on IPC for threading or forking support.
1430
1431 Test2::IPC::Driver
1432 Base class for Test2 IPC drivers.
1433
1434 Test2::IPC::Driver::Files
1435 Temp dir + Files concurrency model.
1436
1437 Test2::Tools::Tiny
1438 Tiny set of tools for unfortunate souls who cannot use
1439
1440 Test2::Transition
1441 Transition notes when upgrading to Test2
1442
1443 Test2::Util Tools used by Test2 and friends.
1444
1445 Test2::Util::ExternalMeta
1446 Allow third party tools to safely attach meta-data
1447
1448 Test2::Util::Facets2Legacy
1449 Convert facet data to the legacy event API.
1450
1451 Test2::Util::HashBase
1452 Build hash based classes.
1453
1454 Test2::Util::Trace
1455 Legacy wrapper fro Test2::EventFacet::Trace.
1456
1457 Test::Builder
1458 Backend for building test libraries
1459
1460 Test::Builder::Formatter
1461 Test::Builder subclass of Test2::Formatter::TAP
1462
1463 Test::Builder::IO::Scalar
1464 A copy of IO::Scalar for Test::Builder
1465
1466 Test::Builder::Module
1467 Base class for test modules
1468
1469 Test::Builder::Tester
1470 Test testsuites that have been built with
1471
1472 Test::Builder::Tester::Color
1473 Turn on colour in Test::Builder::Tester
1474
1475 Test::Builder::TodoDiag
1476 Test::Builder subclass of Test2::Event::Diag
1477
1478 Test::Harness
1479 Run Perl standard test scripts with statistics
1480
1481 Test::Harness::Beyond
1482 Beyond make test
1483
1484 Test::More Yet another framework for writing test scripts
1485
1486 Test::Simple
1487 Basic utilities for writing tests.
1488
1489 Test::Tester
1490 Ease testing test modules built with Test::Builder
1491
1492 Test::Tester::Capture
1493 Help testing test modules built with Test::Builder
1494
1495 Test::Tester::CaptureRunner
1496 Help testing test modules built with Test::Builder
1497
1498 Test::Tutorial
1499 A tutorial about writing really basic tests
1500
1501 Test::use::ok
1502 Alternative to Test::More::use_ok
1503
1504 Text::Abbrev
1505 Abbrev - create an abbreviation table from a list
1506
1507 Text::Balanced
1508 Extract delimited text sequences from strings.
1509
1510 Text::ParseWords
1511 Parse text into an array of tokens or array of arrays
1512
1513 Text::Tabs Expand and unexpand tabs like unix expand(1) and
1514 unexpand(1)
1515
1516 Text::Wrap Line wrapping to form simple paragraphs
1517
1518 Thread Manipulate threads in Perl (for old code only)
1519
1520 Thread::Queue
1521 Thread-safe queues
1522
1523 Thread::Semaphore
1524 Thread-safe semaphores
1525
1526 Tie::Array Base class for tied arrays
1527
1528 Tie::File Access the lines of a disk file via a Perl array
1529
1530 Tie::Handle Base class definitions for tied handles
1531
1532 Tie::Hash Base class definitions for tied hashes
1533
1534 Tie::Hash::NamedCapture
1535 Named regexp capture buffers
1536
1537 Tie::Memoize
1538 Add data to hash when needed
1539
1540 Tie::RefHash
1541 Use references as hash keys
1542
1543 Tie::Scalar Base class definitions for tied scalars
1544
1545 Tie::StdHandle
1546 Base class definitions for tied handles
1547
1548 Tie::SubstrHash
1549 Fixed-table-size, fixed-key-length hashing
1550
1551 Time::HiRes High resolution alarm, sleep, gettimeofday, interval timers
1552
1553 Time::Local Efficiently compute time from local and GMT time
1554
1555 Time::Piece Object Oriented time objects
1556
1557 Time::Seconds
1558 A simple API to convert seconds to other date values
1559
1560 Time::gmtime
1561 By-name interface to Perl's built-in gmtime() function
1562
1563 Time::localtime
1564 By-name interface to Perl's built-in localtime() function
1565
1566 Time::tm Internal object used by Time::gmtime and Time::localtime
1567
1568 UNIVERSAL Base class for ALL classes (blessed references)
1569
1570 Unicode::Collate
1571 Unicode Collation Algorithm
1572
1573 Unicode::Collate::CJK::Big5
1574 Weighting CJK Unified Ideographs
1575
1576 Unicode::Collate::CJK::GB2312
1577 Weighting CJK Unified Ideographs
1578
1579 Unicode::Collate::CJK::JISX0208
1580 Weighting JIS KANJI for Unicode::Collate
1581
1582 Unicode::Collate::CJK::Korean
1583 Weighting CJK Unified Ideographs
1584
1585 Unicode::Collate::CJK::Pinyin
1586 Weighting CJK Unified Ideographs
1587
1588 Unicode::Collate::CJK::Stroke
1589 Weighting CJK Unified Ideographs
1590
1591 Unicode::Collate::CJK::Zhuyin
1592 Weighting CJK Unified Ideographs
1593
1594 Unicode::Collate::Locale
1595 Linguistic tailoring for DUCET via Unicode::Collate
1596
1597 Unicode::Normalize
1598 Unicode Normalization Forms
1599
1600 Unicode::UCD
1601 Unicode character database
1602
1603 User::grent By-name interface to Perl's built-in getgr*() functions
1604
1605 User::pwent By-name interface to Perl's built-in getpw*() functions
1606
1607 VMS::DCLsym Perl extension to manipulate DCL symbols
1608
1609 VMS::Filespec
1610 Convert between VMS and Unix file specification syntax
1611
1612 VMS::Stdio Standard I/O functions via VMS extensions
1613
1614 Win32 Interfaces to some Win32 API Functions
1615
1616 Win32API::File
1617 Low-level access to Win32 system API calls for files/dirs.
1618
1619 Win32CORE Win32 CORE function stubs
1620
1621 XS::APItest Test the perl C API
1622
1623 XS::Typemap Module to test the XS typemaps distributed with perl
1624
1625 XSLoader Dynamically load C libraries into Perl code
1626
1627 autodie::Scope::Guard
1628 Wrapper class for calling subs at end of scope
1629
1630 autodie::Scope::GuardStack
1631 Hook stack for managing scopes via %^H
1632
1633 autodie::Util
1634 Internal Utility subroutines for autodie and Fatal
1635
1636 version::Internals
1637 Perl extension for Version Objects
1638
1639 To find out all modules installed on your system, including those
1640 without documentation or outside the standard release, just use the
1641 following command (under the default win32 shell, double quotes should
1642 be used instead of single quotes).
1643
1644 % perl -MFile::Find=find -MFile::Spec::Functions -Tlwe \
1645 'find { wanted => sub { print canonpath $_ if /\.pm\z/ },
1646 no_chdir => 1 }, @INC'
1647
1648 (The -T is here to prevent '.' from being listed in @INC.) They should
1649 all have their own documentation installed and accessible via your
1650 system man(1) command. If you do not have a find program, you can use
1651 the Perl find2perl program instead, which generates Perl code as output
1652 you can run through perl. If you have a man program but it doesn't
1653 find your modules, you'll have to fix your manpath. See perl for
1654 details. If you have no system man command, you might try the perldoc
1655 program.
1656
1657 Note also that the command "perldoc perllocal" gives you a (possibly
1658 incomplete) list of the modules that have been further installed on
1659 your system. (The perllocal.pod file is updated by the standard
1660 MakeMaker install process.)
1661
1662 Extension Modules
1663 Extension modules are written in C (or a mix of Perl and C). They are
1664 usually dynamically loaded into Perl if and when you need them, but may
1665 also be linked in statically. Supported extension modules include
1666 Socket, Fcntl, and POSIX.
1667
1668 Many popular C extension modules do not come bundled (at least, not
1669 completely) due to their sizes, volatility, or simply lack of time for
1670 adequate testing and configuration across the multitude of platforms on
1671 which Perl was beta-tested. You are encouraged to look for them on
1672 CPAN (described below), or using web search engines like Google or
1673 DuckDuckGo.
1674
1676 CPAN stands for Comprehensive Perl Archive Network; it's a globally
1677 replicated trove of Perl materials, including documentation, style
1678 guides, tricks and traps, alternate ports to non-Unix systems and
1679 occasional binary distributions for these. Search engines for CPAN
1680 can be found at https://www.cpan.org/
1681
1682 Most importantly, CPAN includes around a thousand unbundled modules,
1683 some of which require a C compiler to build. Major categories of
1684 modules are:
1685
1686 • Language Extensions and Documentation Tools
1687
1688 • Development Support
1689
1690 • Operating System Interfaces
1691
1692 • Networking, Device Control (modems) and InterProcess Communication
1693
1694 • Data Types and Data Type Utilities
1695
1696 • Database Interfaces
1697
1698 • User Interfaces
1699
1700 • Interfaces to / Emulations of Other Programming Languages
1701
1702 • File Names, File Systems and File Locking (see also File Handles)
1703
1704 • String Processing, Language Text Processing, Parsing, and Searching
1705
1706 • Option, Argument, Parameter, and Configuration File Processing
1707
1708 • Internationalization and Locale
1709
1710 • Authentication, Security, and Encryption
1711
1712 • World Wide Web, HTML, HTTP, CGI, MIME
1713
1714 • Server and Daemon Utilities
1715
1716 • Archiving and Compression
1717
1718 • Images, Pixmap and Bitmap Manipulation, Drawing, and Graphing
1719
1720 • Mail and Usenet News
1721
1722 • Control Flow Utilities (callbacks and exceptions etc)
1723
1724 • File Handle and Input/Output Stream Utilities
1725
1726 • Miscellaneous Modules
1727
1728 The list of the registered CPAN sites follows. Please note that the
1729 sorting order is alphabetical on fields:
1730
1731 Continent
1732 |
1733 |-->Country
1734 |
1735 |-->[state/province]
1736 |
1737 |-->ftp
1738 |
1739 |-->[http]
1740
1741 and thus the North American servers happen to be listed between the
1742 European and the South American sites.
1743
1744 Registered CPAN sites
1745
1746 Africa
1747 South Africa
1748 http://mirror.is.co.za/pub/cpan/
1749 ftp://ftp.is.co.za/pub/cpan/
1750 http://cpan.mirror.ac.za/
1751 ftp://cpan.mirror.ac.za/
1752 http://cpan.saix.net/
1753 ftp://ftp.saix.net/pub/CPAN/
1754 http://ftp.wa.co.za/pub/CPAN/
1755 ftp://ftp.wa.co.za/pub/CPAN/
1756
1757 Uganda
1758 http://mirror.ucu.ac.ug/cpan/
1759
1760 Zimbabwe
1761 http://mirror.zol.co.zw/CPAN/
1762 ftp://mirror.zol.co.zw/CPAN/
1763
1764 Asia
1765 Bangladesh
1766 http://mirror.dhakacom.com/CPAN/
1767 ftp://mirror.dhakacom.com/CPAN/
1768
1769 China
1770 http://cpan.communilink.net/
1771 http://ftp.cuhk.edu.hk/pub/packages/perl/CPAN/
1772 ftp://ftp.cuhk.edu.hk/pub/packages/perl/CPAN/
1773 http://mirrors.hust.edu.cn/CPAN/
1774 http://mirrors.neusoft.edu.cn/cpan/
1775 http://mirror.lzu.edu.cn/CPAN/
1776 http://mirrors.163.com/cpan/
1777 http://mirrors.sohu.com/CPAN/
1778 http://mirrors.ustc.edu.cn/CPAN/
1779 ftp://mirrors.ustc.edu.cn/CPAN/
1780 http://mirrors.xmu.edu.cn/CPAN/
1781 ftp://mirrors.xmu.edu.cn/CPAN/
1782 http://mirrors.zju.edu.cn/CPAN/
1783
1784 India
1785 http://cpan.excellmedia.net/
1786 http://perlmirror.indialinks.com/
1787
1788 Indonesia
1789 http://kambing.ui.ac.id/cpan/
1790 http://cpan.pesat.net.id/
1791 http://mirror.poliwangi.ac.id/CPAN/
1792 http://kartolo.sby.datautama.net.id/CPAN/
1793 http://mirror.wanxp.id/cpan/
1794
1795 Iran
1796 http://mirror.yazd.ac.ir/cpan/
1797
1798 Israel
1799 http://biocourse.weizmann.ac.il/CPAN/
1800
1801 Japan
1802 http://ftp.jaist.ac.jp/pub/CPAN/
1803 ftp://ftp.jaist.ac.jp/pub/CPAN/
1804 http://mirror.jre655.com/CPAN/
1805 ftp://mirror.jre655.com/CPAN/
1806 ftp://ftp.kddilabs.jp/CPAN/
1807 http://ftp.nara.wide.ad.jp/pub/CPAN/
1808 ftp://ftp.nara.wide.ad.jp/pub/CPAN/
1809 http://ftp.riken.jp/lang/CPAN/
1810 ftp://ftp.riken.jp/lang/CPAN/
1811 ftp://ftp.u-aizu.ac.jp/pub/CPAN/
1812 http://ftp.yz.yamagata-u.ac.jp/pub/lang/cpan/
1813 ftp://ftp.yz.yamagata-u.ac.jp/pub/lang/cpan/
1814
1815 Kazakhstan
1816 http://mirror.neolabs.kz/CPAN/
1817 ftp://mirror.neolabs.kz/CPAN/
1818
1819 Philippines
1820 http://mirror.pregi.net/CPAN/
1821 ftp://mirror.pregi.net/CPAN/
1822 http://mirror.rise.ph/cpan/
1823 ftp://mirror.rise.ph/cpan/
1824
1825 Qatar
1826 http://mirror.qnren.qa/CPAN/
1827 ftp://mirror.qnren.qa/CPAN/
1828
1829 Republic of Korea
1830 http://cpan.mirror.cdnetworks.com/
1831 ftp://cpan.mirror.cdnetworks.com/CPAN/
1832 http://ftp.kaist.ac.kr/pub/CPAN/
1833 ftp://ftp.kaist.ac.kr/CPAN/
1834 http://ftp.kr.freebsd.org/pub/CPAN/
1835 ftp://ftp.kr.freebsd.org/pub/CPAN/
1836 http://mirror.navercorp.com/CPAN/
1837 http://ftp.neowiz.com/CPAN/
1838 ftp://ftp.neowiz.com/CPAN/
1839
1840 Singapore
1841 http://cpan.mirror.choon.net/
1842 http://mirror.0x.sg/CPAN/
1843 ftp://mirror.0x.sg/CPAN/
1844
1845 Taiwan
1846 http://cpan.cdpa.nsysu.edu.tw/Unix/Lang/CPAN/
1847 ftp://cpan.cdpa.nsysu.edu.tw/Unix/Lang/CPAN/
1848 http://cpan.stu.edu.tw/
1849 ftp://ftp.stu.edu.tw/CPAN/
1850 http://ftp.yzu.edu.tw/CPAN/
1851 ftp://ftp.yzu.edu.tw/CPAN/
1852 http://cpan.nctu.edu.tw/
1853 ftp://cpan.nctu.edu.tw/
1854 http://ftp.ubuntu-tw.org/mirror/CPAN/
1855 ftp://ftp.ubuntu-tw.org/mirror/CPAN/
1856
1857 Turkey
1858 http://cpan.ulak.net.tr/
1859 ftp://ftp.ulak.net.tr/pub/perl/CPAN/
1860 http://mirror.vit.com.tr/mirror/CPAN/
1861 ftp://mirror.vit.com.tr/CPAN/
1862
1863 Viet Nam
1864 http://mirrors.digipower.vn/CPAN/
1865 http://mirror.downloadvn.com/cpan/
1866 http://mirrors.vinahost.vn/CPAN/
1867
1868 Europe
1869 Austria
1870 http://cpan.inode.at/
1871 ftp://cpan.inode.at/
1872 http://mirror.easyname.at/cpan/
1873 ftp://mirror.easyname.at/cpan/
1874 http://gd.tuwien.ac.at/languages/perl/CPAN/
1875 ftp://gd.tuwien.ac.at/pub/CPAN/
1876
1877 Belarus
1878 http://ftp.byfly.by/pub/CPAN/
1879 ftp://ftp.byfly.by/pub/CPAN/
1880 http://mirror.datacenter.by/pub/CPAN/
1881 ftp://mirror.datacenter.by/pub/CPAN/
1882
1883 Belgium
1884 http://ftp.belnet.be/ftp.cpan.org/
1885 ftp://ftp.belnet.be/mirror/ftp.cpan.org/
1886 http://cpan.cu.be/
1887 http://lib.ugent.be/CPAN/
1888 http://cpan.weepeetelecom.be/
1889
1890 Bosnia and Herzegovina
1891 http://cpan.mirror.ba/
1892 ftp://ftp.mirror.ba/CPAN/
1893
1894 Bulgaria
1895 http://mirrors.neterra.net/CPAN/
1896 ftp://mirrors.neterra.net/CPAN/
1897 http://mirrors.netix.net/CPAN/
1898 ftp://mirrors.netix.net/CPAN/
1899
1900 Croatia
1901 http://ftp.carnet.hr/pub/CPAN/
1902 ftp://ftp.carnet.hr/pub/CPAN/
1903
1904 Czech Republic
1905 http://mirror.dkm.cz/cpan/
1906 ftp://mirror.dkm.cz/cpan/
1907 ftp://ftp.fi.muni.cz/pub/CPAN/
1908 http://mirrors.nic.cz/CPAN/
1909 ftp://mirrors.nic.cz/pub/CPAN/
1910 http://cpan.mirror.vutbr.cz/
1911 ftp://mirror.vutbr.cz/cpan/
1912
1913 Denmark
1914 http://www.cpan.dk/
1915 http://mirrors.dotsrc.org/cpan/
1916 ftp://mirrors.dotsrc.org/cpan/
1917
1918 Finland
1919 ftp://ftp.funet.fi/pub/languages/perl/CPAN/
1920
1921 France
1922 http://ftp.ciril.fr/pub/cpan/
1923 ftp://ftp.ciril.fr/pub/cpan/
1924 http://distrib-coffee.ipsl.jussieu.fr/pub/mirrors/cpan/
1925 ftp://distrib-coffee.ipsl.jussieu.fr/pub/mirrors/cpan/
1926 http://ftp.lip6.fr/pub/perl/CPAN/
1927 ftp://ftp.lip6.fr/pub/perl/CPAN/
1928 http://mirror.ibcp.fr/pub/CPAN/
1929 ftp://ftp.oleane.net/pub/CPAN/
1930 http://cpan.mirrors.ovh.net/ftp.cpan.org/
1931 ftp://cpan.mirrors.ovh.net/ftp.cpan.org/
1932 http://cpan.enstimac.fr/
1933
1934 Germany
1935 http://mirror.23media.de/cpan/
1936 ftp://mirror.23media.de/cpan/
1937 http://artfiles.org/cpan.org/
1938 ftp://artfiles.org/cpan.org/
1939 http://mirror.bibleonline.ru/cpan/
1940 http://mirror.checkdomain.de/CPAN/
1941 ftp://mirror.checkdomain.de/CPAN/
1942 http://cpan.noris.de/
1943 http://mirror.de.leaseweb.net/CPAN/
1944 ftp://mirror.de.leaseweb.net/CPAN/
1945 http://cpan.mirror.euserv.net/
1946 ftp://mirror.euserv.net/cpan/
1947 http://ftp-stud.hs-esslingen.de/pub/Mirrors/CPAN/
1948 ftp://mirror.fraunhofer.de/CPAN/
1949 ftp://ftp.freenet.de/pub/ftp.cpan.org/pub/CPAN/
1950 http://ftp.hosteurope.de/pub/CPAN/
1951 ftp://ftp.hosteurope.de/pub/CPAN/
1952 ftp://ftp.fu-berlin.de/unix/languages/perl/
1953 http://ftp.gwdg.de/pub/languages/perl/CPAN/
1954 ftp://ftp.gwdg.de/pub/languages/perl/CPAN/
1955 http://ftp.hawo.stw.uni-erlangen.de/CPAN/
1956 ftp://ftp.hawo.stw.uni-erlangen.de/CPAN/
1957 http://cpan.mirror.iphh.net/
1958 ftp://cpan.mirror.iphh.net/pub/CPAN/
1959 ftp://ftp.mpi-inf.mpg.de/pub/perl/CPAN/
1960 http://cpan.netbet.org/
1961 http://mirror.netcologne.de/cpan/
1962 ftp://mirror.netcologne.de/cpan/
1963 ftp://mirror.petamem.com/CPAN/
1964 http://www.planet-elektronik.de/CPAN/
1965 http://ftp.halifax.rwth-aachen.de/cpan/
1966 ftp://ftp.halifax.rwth-aachen.de/cpan/
1967 http://mirror.softaculous.com/cpan/
1968 http://ftp.u-tx.net/CPAN/
1969 ftp://ftp.u-tx.net/CPAN/
1970 http://mirror.reismil.ch/CPAN/
1971
1972 Greece
1973 http://cpan.cc.uoc.gr/mirrors/CPAN/
1974 ftp://ftp.cc.uoc.gr/mirrors/CPAN/
1975 http://ftp.ntua.gr/pub/lang/perl/
1976 ftp://ftp.ntua.gr/pub/lang/perl/
1977
1978 Hungary
1979 http://mirror.met.hu/CPAN/
1980
1981 Ireland
1982 http://ftp.heanet.ie/mirrors/ftp.perl.org/pub/CPAN/
1983 ftp://ftp.heanet.ie/mirrors/ftp.perl.org/pub/CPAN/
1984
1985 Italy
1986 http://bo.mirror.garr.it/mirrors/CPAN/
1987 ftp://ftp.eutelia.it/CPAN_Mirror/
1988 http://cpan.panu.it/
1989 ftp://ftp.panu.it/pub/mirrors/perl/CPAN/
1990 http://cpan.muzzy.it/
1991
1992 Latvia
1993 http://kvin.lv/pub/CPAN/
1994
1995 Lithuania
1996 http://ftp.litnet.lt/pub/CPAN/
1997 ftp://ftp.litnet.lt/pub/CPAN/
1998
1999 Moldova
2000 http://mirror.as43289.net/pub/CPAN/
2001 ftp://mirror.as43289.net/pub/CPAN/
2002
2003 Netherlands
2004 http://cpan.cs.uu.nl/
2005 ftp://ftp.cs.uu.nl/pub/CPAN/
2006 http://mirror.nl.leaseweb.net/CPAN/
2007 ftp://mirror.nl.leaseweb.net/CPAN/
2008 http://ftp.nluug.nl/languages/perl/CPAN/
2009 ftp://ftp.nluug.nl/pub/languages/perl/CPAN/
2010 http://mirror.transip.net/CPAN/
2011 ftp://mirror.transip.net/CPAN/
2012 http://cpan.mirror.triple-it.nl/
2013 http://ftp.tudelft.nl/cpan/
2014 ftp://ftp.tudelft.nl/pub/CPAN/
2015 ftp://download.xs4all.nl/pub/mirror/CPAN/
2016
2017 Norway
2018 http://cpan.uib.no/
2019 ftp://cpan.uib.no/pub/CPAN/
2020 ftp://ftp.uninett.no/pub/languages/perl/CPAN/
2021 http://cpan.vianett.no/
2022
2023 Poland
2024 http://ftp.agh.edu.pl/CPAN/
2025 ftp://ftp.agh.edu.pl/CPAN/
2026 http://ftp.piotrkosoft.net/pub/mirrors/CPAN/
2027 ftp://ftp.piotrkosoft.net/pub/mirrors/CPAN/
2028 ftp://ftp.ps.pl/pub/CPAN/
2029 http://sunsite.icm.edu.pl/pub/CPAN/
2030 ftp://sunsite.icm.edu.pl/pub/CPAN/
2031
2032 Portugal
2033 http://cpan.dcc.fc.up.pt/
2034 http://mirrors.fe.up.pt/pub/CPAN/
2035 http://cpan.perl-hackers.net/
2036 http://cpan.perl.pt/
2037
2038 Romania
2039 http://mirrors.hostingromania.ro/cpan.org/
2040 ftp://ftp.lug.ro/CPAN/
2041 http://mirrors.m247.ro/CPAN/
2042 http://mirrors.evowise.com/CPAN/
2043 http://mirrors.teentelecom.net/CPAN/
2044 ftp://mirrors.teentelecom.net/CPAN/
2045 http://mirrors.xservers.ro/CPAN/
2046
2047 Russian Federation
2048 ftp://ftp.aha.ru/CPAN/
2049 http://cpan.rinet.ru/
2050 ftp://cpan.rinet.ru/pub/mirror/CPAN/
2051 http://cpan-mirror.rbc.ru/pub/CPAN/
2052 http://mirror.rol.ru/CPAN/
2053 http://cpan.uni-altai.ru/
2054 http://cpan.webdesk.ru/
2055 ftp://cpan.webdesk.ru/cpan/
2056 http://mirror.yandex.ru/mirrors/cpan/
2057 ftp://mirror.yandex.ru/mirrors/cpan/
2058
2059 Serbia
2060 http://mirror.sbb.rs/CPAN/
2061 ftp://mirror.sbb.rs/CPAN/
2062
2063 Slovakia
2064 http://cpan.lnx.sk/
2065 http://tux.rainside.sk/CPAN/
2066 ftp://tux.rainside.sk/CPAN/
2067
2068 Slovenia
2069 http://ftp.arnes.si/software/perl/CPAN/
2070 ftp://ftp.arnes.si/software/perl/CPAN/
2071
2072 Spain
2073 http://mirrors.evowise.com/CPAN/
2074 http://osl.ugr.es/CPAN/
2075 http://ftp.rediris.es/mirror/CPAN/
2076 ftp://ftp.rediris.es/mirror/CPAN/
2077
2078 Sweden
2079 http://ftp.acc.umu.se/mirror/CPAN/
2080 ftp://ftp.acc.umu.se/mirror/CPAN/
2081
2082 Switzerland
2083 http://www.pirbot.com/mirrors/cpan/
2084 http://mirror.switch.ch/ftp/mirror/CPAN/
2085 ftp://mirror.switch.ch/mirror/CPAN/
2086
2087 Ukraine
2088 http://cpan.ip-connect.vn.ua/
2089 ftp://cpan.ip-connect.vn.ua/mirror/cpan/
2090
2091 United Kingdom
2092 http://cpan.mirror.anlx.net/
2093 ftp://ftp.mirror.anlx.net/CPAN/
2094 http://mirror.bytemark.co.uk/CPAN/
2095 ftp://mirror.bytemark.co.uk/CPAN/
2096 http://mirrors.coreix.net/CPAN/
2097 http://cpan.etla.org/
2098 ftp://cpan.etla.org/pub/CPAN/
2099 http://cpan.cpantesters.org/
2100 http://mirror.sax.uk.as61049.net/CPAN/
2101 http://mirror.sov.uk.goscomb.net/CPAN/
2102 http://www.mirrorservice.org/sites/cpan.perl.org/CPAN/
2103 ftp://ftp.mirrorservice.org/sites/cpan.perl.org/CPAN/
2104 http://mirror.ox.ac.uk/sites/www.cpan.org/
2105 ftp://mirror.ox.ac.uk/sites/www.cpan.org/
2106 http://ftp.ticklers.org/pub/CPAN/
2107 ftp://ftp.ticklers.org/pub/CPAN/
2108 http://cpan.mirrors.uk2.net/
2109 ftp://mirrors.uk2.net/pub/CPAN/
2110 http://mirror.ukhost4u.com/CPAN/
2111
2112 North America
2113 Canada
2114 http://CPAN.mirror.rafal.ca/
2115 ftp://CPAN.mirror.rafal.ca/pub/CPAN/
2116 http://mirror.csclub.uwaterloo.ca/CPAN/
2117 ftp://mirror.csclub.uwaterloo.ca/CPAN/
2118 http://mirrors.gossamer-threads.com/CPAN/
2119 http://mirror.its.dal.ca/cpan/
2120 ftp://mirror.its.dal.ca/cpan/
2121 ftp://ftp.ottix.net/pub/CPAN/
2122
2123 Costa Rica
2124 http://mirrors.ucr.ac.cr/CPAN/
2125
2126 Mexico
2127 http://www.msg.com.mx/CPAN/
2128 ftp://ftp.msg.com.mx/pub/CPAN/
2129
2130 United States
2131 Alabama
2132 http://mirror.teklinks.com/CPAN/
2133
2134 Arizona
2135 http://mirror.n5tech.com/CPAN/
2136 http://mirrors.namecheap.com/CPAN/
2137 ftp://mirrors.namecheap.com/CPAN/
2138
2139 California
2140 http://cpan.develooper.com/
2141 http://httpupdate127.cpanel.net/CPAN/
2142 http://mirrors.sonic.net/cpan/
2143 ftp://mirrors.sonic.net/cpan/
2144 http://www.perl.com/CPAN/
2145 http://cpan.yimg.com/
2146
2147 Idaho
2148 http://mirrors.syringanetworks.net/CPAN/
2149 ftp://mirrors.syringanetworks.net/CPAN/
2150
2151 Illinois
2152 http://cpan.mirrors.hoobly.com/
2153 http://mirror.team-cymru.org/CPAN/
2154 ftp://mirror.team-cymru.org/CPAN/
2155
2156 Indiana
2157 http://cpan.netnitco.net/
2158 ftp://cpan.netnitco.net/pub/mirrors/CPAN/
2159 ftp://ftp.uwsg.iu.edu/pub/perl/CPAN/
2160
2161 Kansas
2162 http://mirrors.concertpass.com/cpan/
2163
2164 Massachusetts
2165 http://mirrors.ccs.neu.edu/CPAN/
2166
2167 Michigan
2168 http://cpan.cse.msu.edu/
2169 ftp://cpan.cse.msu.edu/
2170 http://httpupdate118.cpanel.net/CPAN/
2171 http://mirrors-usa.go-parts.com/cpan/
2172 http://ftp.wayne.edu/CPAN/
2173 ftp://ftp.wayne.edu/CPAN/
2174
2175 New Hampshire
2176 http://mirror.metrocast.net/cpan/
2177
2178 New Jersey
2179 http://mirror.datapipe.net/CPAN/
2180 ftp://mirror.datapipe.net/pub/CPAN/
2181 http://www.hoovism.com/CPAN/
2182 ftp://ftp.hoovism.com/CPAN/
2183 http://cpan.mirror.nac.net/
2184
2185 New York
2186 http://mirror.cc.columbia.edu/pub/software/cpan/
2187 ftp://mirror.cc.columbia.edu/pub/software/cpan/
2188 http://cpan.belfry.net/
2189 http://cpan.erlbaum.net/
2190 ftp://cpan.erlbaum.net/CPAN/
2191 http://cpan.hexten.net/
2192 ftp://cpan.hexten.net/
2193 http://mirror.nyi.net/CPAN/
2194 ftp://mirror.nyi.net/pub/CPAN/
2195 http://noodle.portalus.net/CPAN/
2196 ftp://noodle.portalus.net/CPAN/
2197 http://mirrors.rit.edu/CPAN/
2198 ftp://mirrors.rit.edu/CPAN/
2199
2200 North Carolina
2201 http://httpupdate140.cpanel.net/CPAN/
2202 http://mirrors.ibiblio.org/CPAN/
2203
2204 Oregon
2205 http://ftp.osuosl.org/pub/CPAN/
2206 ftp://ftp.osuosl.org/pub/CPAN/
2207 http://mirror.uoregon.edu/CPAN/
2208
2209 Pennsylvania
2210 http://cpan.pair.com/
2211 ftp://cpan.pair.com/pub/CPAN/
2212 http://cpan.mirrors.ionfish.org/
2213
2214 South Carolina
2215 http://cpan.mirror.clemson.edu/
2216
2217 Texas
2218 http://mirror.uta.edu/CPAN/
2219
2220 Utah
2221 http://cpan.cs.utah.edu/
2222 ftp://cpan.cs.utah.edu/CPAN/
2223 ftp://mirror.xmission.com/CPAN/
2224
2225 Virginia
2226 http://mirror.cogentco.com/pub/CPAN/
2227 ftp://mirror.cogentco.com/pub/CPAN/
2228 http://mirror.jmu.edu/pub/CPAN/
2229 ftp://mirror.jmu.edu/pub/CPAN/
2230 http://mirror.us.leaseweb.net/CPAN/
2231 ftp://mirror.us.leaseweb.net/CPAN/
2232
2233 Washington
2234 http://cpan.llarian.net/
2235 ftp://cpan.llarian.net/pub/CPAN/
2236
2237 Wisconsin
2238 http://cpan.mirrors.tds.net/
2239 ftp://cpan.mirrors.tds.net/pub/CPAN/
2240
2241 Oceania
2242 Australia
2243 http://mirror.as24220.net/pub/cpan/
2244 ftp://mirror.as24220.net/pub/cpan/
2245 http://cpan.mirrors.ilisys.com.au/
2246 http://cpan.mirror.digitalpacific.com.au/
2247 ftp://mirror.internode.on.net/pub/cpan/
2248 http://mirror.optusnet.com.au/CPAN/
2249 http://cpan.mirror.serversaustralia.com.au/
2250 http://cpan.uberglobalmirror.com/
2251 http://mirror.waia.asn.au/pub/cpan/
2252
2253 New Caledonia
2254 http://cpan.lagoon.nc/pub/CPAN/
2255 ftp://cpan.lagoon.nc/pub/CPAN/
2256 http://cpan.nautile.nc/CPAN/
2257 ftp://cpan.nautile.nc/CPAN/
2258
2259 New Zealand
2260 ftp://ftp.auckland.ac.nz/pub/perl/CPAN/
2261 http://cpan.catalyst.net.nz/CPAN/
2262 ftp://cpan.catalyst.net.nz/pub/CPAN/
2263 http://cpan.inspire.net.nz/
2264 ftp://cpan.inspire.net.nz/cpan/
2265 http://mirror.webtastix.net/CPAN/
2266 ftp://mirror.webtastix.net/CPAN/
2267
2268 South America
2269 Argentina
2270 http://cpan.mmgdesigns.com.ar/
2271
2272 Brazil
2273 http://cpan.kinghost.net/
2274 http://linorg.usp.br/CPAN/
2275 http://mirror.nbtelecom.com.br/CPAN/
2276
2277 Chile
2278 http://cpan.dcc.uchile.cl/
2279 ftp://cpan.dcc.uchile.cl/pub/lang/cpan/
2280
2281 RSYNC Mirrors
2282 rsync://ftp.is.co.za/IS-Mirror/ftp.cpan.org/
2283 rsync://mirror.ac.za/CPAN/
2284 rsync://mirror.zol.co.zw/CPAN/
2285 rsync://mirror.dhakacom.com/CPAN/
2286 rsync://mirrors.ustc.edu.cn/CPAN/
2287 rsync://mirrors.xmu.edu.cn/CPAN/
2288 rsync://kambing.ui.ac.id/CPAN/
2289 rsync://ftp.jaist.ac.jp/pub/CPAN/
2290 rsync://mirror.jre655.com/CPAN/
2291 rsync://ftp.kddilabs.jp/cpan/
2292 rsync://ftp.nara.wide.ad.jp/cpan/
2293 rsync://ftp.riken.jp/cpan/
2294 rsync://mirror.neolabs.kz/CPAN/
2295 rsync://mirror.qnren.qa/CPAN/
2296 rsync://ftp.neowiz.com/CPAN/
2297 rsync://mirror.0x.sg/CPAN/
2298 rsync://ftp.yzu.edu.tw/pub/CPAN/
2299 rsync://ftp.ubuntu-tw.org/CPAN/
2300 rsync://mirrors.digipower.vn/CPAN/
2301 rsync://cpan.inode.at/CPAN/
2302 rsync://ftp.byfly.by/CPAN/
2303 rsync://mirror.datacenter.by/CPAN/
2304 rsync://ftp.belnet.be/cpan/
2305 rsync://cpan.mirror.ba/CPAN/
2306 rsync://mirrors.neterra.net/CPAN/
2307 rsync://mirrors.netix.net/CPAN/
2308 rsync://mirror.dkm.cz/cpan/
2309 rsync://mirrors.nic.cz/CPAN/
2310 rsync://cpan.mirror.vutbr.cz/cpan/
2311 rsync://rsync.nic.funet.fi/CPAN/
2312 rsync://ftp.ciril.fr/pub/cpan/
2313 rsync://distrib-coffee.ipsl.jussieu.fr/pub/mirrors/cpan/
2314 rsync://cpan.mirrors.ovh.net/CPAN/
2315 rsync://mirror.de.leaseweb.net/CPAN/
2316 rsync://mirror.euserv.net/cpan/
2317 rsync://ftp-stud.hs-esslingen.de/CPAN/
2318 rsync://ftp.gwdg.de/pub/languages/perl/CPAN/
2319 rsync://ftp.hawo.stw.uni-erlangen.de/CPAN/
2320 rsync://cpan.mirror.iphh.net/CPAN/
2321 rsync://mirror.netcologne.de/cpan/
2322 rsync://ftp.halifax.rwth-aachen.de/cpan/
2323 rsync://ftp.ntua.gr/CPAN/
2324 rsync://mirror.met.hu/CPAN/
2325 rsync://ftp.heanet.ie/mirrors/ftp.perl.org/pub/CPAN/
2326 rsync://rsync.panu.it/CPAN/
2327 rsync://mirror.as43289.net/CPAN/
2328 rsync://rsync.cs.uu.nl/CPAN/
2329 rsync://mirror.nl.leaseweb.net/CPAN/
2330 rsync://ftp.nluug.nl/CPAN/
2331 rsync://mirror.transip.net/CPAN/
2332 rsync://cpan.uib.no/cpan/
2333 rsync://cpan.vianett.no/CPAN/
2334 rsync://cpan.perl-hackers.net/CPAN/
2335 rsync://cpan.perl.pt/cpan/
2336 rsync://mirrors.m247.ro/CPAN/
2337 rsync://mirrors.teentelecom.net/CPAN/
2338 rsync://cpan.webdesk.ru/CPAN/
2339 rsync://mirror.yandex.ru/mirrors/cpan/
2340 rsync://mirror.sbb.rs/CPAN/
2341 rsync://ftp.acc.umu.se/mirror/CPAN/
2342 rsync://rsync.pirbot.com/ftp/cpan/
2343 rsync://cpan.ip-connect.vn.ua/CPAN/
2344 rsync://rsync.mirror.anlx.net/CPAN/
2345 rsync://mirror.bytemark.co.uk/CPAN/
2346 rsync://mirror.sax.uk.as61049.net/CPAN/
2347 rsync://rsync.mirrorservice.org/cpan.perl.org/CPAN/
2348 rsync://ftp.ticklers.org/CPAN/
2349 rsync://mirrors.uk2.net/CPAN/
2350 rsync://CPAN.mirror.rafal.ca/CPAN/
2351 rsync://mirror.csclub.uwaterloo.ca/CPAN/
2352 rsync://mirrors.namecheap.com/CPAN/
2353 rsync://mirrors.syringanetworks.net/CPAN/
2354 rsync://mirror.team-cymru.org/CPAN/
2355 rsync://debian.cse.msu.edu/cpan/
2356 rsync://mirrors-usa.go-parts.com/mirrors/cpan/
2357 rsync://rsync.hoovism.com/CPAN/
2358 rsync://mirror.cc.columbia.edu/cpan/
2359 rsync://noodle.portalus.net/CPAN/
2360 rsync://mirrors.rit.edu/cpan/
2361 rsync://mirrors.ibiblio.org/CPAN/
2362 rsync://cpan.pair.com/CPAN/
2363 rsync://cpan.cs.utah.edu/CPAN/
2364 rsync://mirror.cogentco.com/CPAN/
2365 rsync://mirror.jmu.edu/CPAN/
2366 rsync://mirror.us.leaseweb.net/CPAN/
2367 rsync://cpan.mirror.digitalpacific.com.au/cpan/
2368 rsync://mirror.internode.on.net/cpan/
2369 rsync://uberglobalmirror.com/cpan/
2370 rsync://cpan.lagoon.nc/cpan/
2371 rsync://mirrors.mmgdesigns.com.ar/CPAN/
2372
2373 For an up-to-date listing of CPAN sites, see
2374 <https://www.cpan.org/SITES> or <ftp://www.cpan.org/SITES>.
2375
2377 (The following section is borrowed directly from Tim Bunce's modules
2378 file, available at your nearest CPAN site.)
2379
2380 Perl implements a class using a package, but the presence of a package
2381 doesn't imply the presence of a class. A package is just a namespace.
2382 A class is a package that provides subroutines that can be used as
2383 methods. A method is just a subroutine that expects, as its first
2384 argument, either the name of a package (for "static" methods), or a
2385 reference to something (for "virtual" methods).
2386
2387 A module is a file that (by convention) provides a class of the same
2388 name (sans the .pm), plus an import method in that class that can be
2389 called to fetch exported symbols. This module may implement some of
2390 its methods by loading dynamic C or C++ objects, but that should be
2391 totally transparent to the user of the module. Likewise, the module
2392 might set up an AUTOLOAD function to slurp in subroutine definitions on
2393 demand, but this is also transparent. Only the .pm file is required to
2394 exist. See perlsub, perlobj, and AutoLoader for details about the
2395 AUTOLOAD mechanism.
2396
2397 Guidelines for Module Creation
2398 • Do similar modules already exist in some form?
2399
2400 If so, please try to reuse the existing modules either in whole or
2401 by inheriting useful features into a new class. If this is not
2402 practical try to get together with the module authors to work on
2403 extending or enhancing the functionality of the existing modules.
2404 A perfect example is the plethora of packages in perl4 for dealing
2405 with command line options.
2406
2407 If you are writing a module to expand an already existing set of
2408 modules, please coordinate with the author of the package. It
2409 helps if you follow the same naming scheme and module interaction
2410 scheme as the original author.
2411
2412 • Try to design the new module to be easy to extend and reuse.
2413
2414 Try to "use warnings;" (or "use warnings qw(...);"). Remember that
2415 you can add "no warnings qw(...);" to individual blocks of code
2416 that need less warnings.
2417
2418 Use blessed references. Use the two argument form of bless to
2419 bless into the class name given as the first parameter of the
2420 constructor, e.g.,:
2421
2422 sub new {
2423 my $class = shift;
2424 return bless {}, $class;
2425 }
2426
2427 or even this if you'd like it to be used as either a static or a
2428 virtual method.
2429
2430 sub new {
2431 my $self = shift;
2432 my $class = ref($self) || $self;
2433 return bless {}, $class;
2434 }
2435
2436 Pass arrays as references so more parameters can be added later
2437 (it's also faster). Convert functions into methods where
2438 appropriate. Split large methods into smaller more flexible ones.
2439 Inherit methods from other modules if appropriate.
2440
2441 Avoid class name tests like: "die "Invalid" unless ref $ref eq
2442 'FOO'". Generally you can delete the "eq 'FOO'" part with no harm
2443 at all. Let the objects look after themselves! Generally, avoid
2444 hard-wired class names as far as possible.
2445
2446 Avoid "$r->Class::func()" where using "@ISA=qw(... Class ...)" and
2447 "$r->func()" would work.
2448
2449 Use autosplit so little used or newly added functions won't be a
2450 burden to programs that don't use them. Add test functions to the
2451 module after __END__ either using AutoSplit or by saying:
2452
2453 eval join('',<main::DATA>) || die $@ unless caller();
2454
2455 Does your module pass the 'empty subclass' test? If you say
2456 "@SUBCLASS::ISA = qw(YOURCLASS);" your applications should be able
2457 to use SUBCLASS in exactly the same way as YOURCLASS. For example,
2458 does your application still work if you change: "$obj =
2459 YOURCLASS->new();" into: "$obj = SUBCLASS->new();" ?
2460
2461 Avoid keeping any state information in your packages. It makes it
2462 difficult for multiple other packages to use yours. Keep state
2463 information in objects.
2464
2465 Always use -w.
2466
2467 Try to "use strict;" (or "use strict qw(...);"). Remember that you
2468 can add "no strict qw(...);" to individual blocks of code that need
2469 less strictness.
2470
2471 Always use -w.
2472
2473 Follow the guidelines in perlstyle.
2474
2475 Always use -w.
2476
2477 • Some simple style guidelines
2478
2479 The perlstyle manual supplied with Perl has many helpful points.
2480
2481 Coding style is a matter of personal taste. Many people evolve
2482 their style over several years as they learn what helps them write
2483 and maintain good code. Here's one set of assorted suggestions
2484 that seem to be widely used by experienced developers:
2485
2486 Use underscores to separate words. It is generally easier to read
2487 $var_names_like_this than $VarNamesLikeThis, especially for non-
2488 native speakers of English. It's also a simple rule that works
2489 consistently with VAR_NAMES_LIKE_THIS.
2490
2491 Package/Module names are an exception to this rule. Perl informally
2492 reserves lowercase module names for 'pragma' modules like integer
2493 and strict. Other modules normally begin with a capital letter and
2494 use mixed case with no underscores (need to be short and portable).
2495
2496 You may find it helpful to use letter case to indicate the scope or
2497 nature of a variable. For example:
2498
2499 $ALL_CAPS_HERE constants only (beware clashes with Perl vars)
2500 $Some_Caps_Here package-wide global/static
2501 $no_caps_here function scope my() or local() variables
2502
2503 Function and method names seem to work best as all lowercase.
2504 e.g., "$obj->as_string()".
2505
2506 You can use a leading underscore to indicate that a variable or
2507 function should not be used outside the package that defined it.
2508
2509 • Select what to export.
2510
2511 Do NOT export method names!
2512
2513 Do NOT export anything else by default without a good reason!
2514
2515 Exports pollute the namespace of the module user. If you must
2516 export try to use @EXPORT_OK in preference to @EXPORT and avoid
2517 short or common names to reduce the risk of name clashes.
2518
2519 Generally anything not exported is still accessible from outside
2520 the module using the ModuleName::item_name (or
2521 "$blessed_ref->method") syntax. By convention you can use a
2522 leading underscore on names to indicate informally that they are
2523 'internal' and not for public use.
2524
2525 (It is actually possible to get private functions by saying: "my
2526 $subref = sub { ... }; &$subref;". But there's no way to call
2527 that directly as a method, because a method must have a name in the
2528 symbol table.)
2529
2530 As a general rule, if the module is trying to be object oriented
2531 then export nothing. If it's just a collection of functions then
2532 @EXPORT_OK anything but use @EXPORT with caution.
2533
2534 • Select a name for the module.
2535
2536 This name should be as descriptive, accurate, and complete as
2537 possible. Avoid any risk of ambiguity. Always try to use two or
2538 more whole words. Generally the name should reflect what is
2539 special about what the module does rather than how it does it.
2540 Please use nested module names to group informally or categorize a
2541 module. There should be a very good reason for a module not to
2542 have a nested name. Module names should begin with a capital
2543 letter.
2544
2545 Having 57 modules all called Sort will not make life easy for
2546 anyone (though having 23 called Sort::Quick is only marginally
2547 better :-). Imagine someone trying to install your module
2548 alongside many others.
2549
2550 If you are developing a suite of related modules/classes it's good
2551 practice to use nested classes with a common prefix as this will
2552 avoid namespace clashes. For example: Xyz::Control, Xyz::View,
2553 Xyz::Model etc. Use the modules in this list as a naming guide.
2554
2555 If adding a new module to a set, follow the original author's
2556 standards for naming modules and the interface to methods in those
2557 modules.
2558
2559 If developing modules for private internal or project specific use,
2560 that will never be released to the public, then you should ensure
2561 that their names will not clash with any future public module. You
2562 can do this either by using the reserved Local::* category or by
2563 using a category name that includes an underscore like Foo_Corp::*.
2564
2565 To be portable each component of a module name should be limited to
2566 11 characters. If it might be used on MS-DOS then try to ensure
2567 each is unique in the first 8 characters. Nested modules make this
2568 easier.
2569
2570 For additional guidance on the naming of modules, please consult:
2571
2572 https://pause.perl.org/pause/query?ACTION=pause_namingmodules
2573
2574 or send mail to the <module-authors@perl.org> mailing list.
2575
2576 • Have you got it right?
2577
2578 How do you know that you've made the right decisions? Have you
2579 picked an interface design that will cause problems later? Have you
2580 picked the most appropriate name? Do you have any questions?
2581
2582 The best way to know for sure, and pick up many helpful
2583 suggestions, is to ask someone who knows. The
2584 <module-authors@perl.org> mailing list is useful for this purpose;
2585 it's also accessible via news interface as perl.module-authors at
2586 nntp.perl.org.
2587
2588 All you need to do is post a short summary of the module, its
2589 purpose and interfaces. A few lines on each of the main methods is
2590 probably enough. (If you post the whole module it might be ignored
2591 by busy people - generally the very people you want to read it!)
2592
2593 Don't worry about posting if you can't say when the module will be
2594 ready - just say so in the message. It might be worth inviting
2595 others to help you, they may be able to complete it for you!
2596
2597 • README and other Additional Files.
2598
2599 It's well known that software developers usually fully document the
2600 software they write. If, however, the world is in urgent need of
2601 your software and there is not enough time to write the full
2602 documentation please at least provide a README file containing:
2603
2604 • A description of the module/package/extension etc.
2605
2606 • A copyright notice - see below.
2607
2608 • Prerequisites - what else you may need to have.
2609
2610 • How to build it - possible changes to Makefile.PL etc.
2611
2612 • How to install it.
2613
2614 • Recent changes in this release, especially
2615 incompatibilities
2616
2617 • Changes / enhancements you plan to make in the future.
2618
2619 If the README file seems to be getting too large you may wish to
2620 split out some of the sections into separate files: INSTALL,
2621 Copying, ToDo etc.
2622
2623 • Adding a Copyright Notice.
2624
2625 How you choose to license your work is a personal decision.
2626 The general mechanism is to assert your Copyright and then make
2627 a declaration of how others may copy/use/modify your work.
2628
2629 Perl, for example, is supplied with two types of licence: The
2630 GNU GPL and The Artistic Licence (see the files README,
2631 Copying, and Artistic, or perlgpl and perlartistic). Larry has
2632 good reasons for NOT just using the GNU GPL.
2633
2634 My personal recommendation, out of respect for Larry, Perl, and
2635 the Perl community at large is to state something simply like:
2636
2637 Copyright (c) 1995 Your Name. All rights reserved.
2638 This program is free software; you can redistribute it and/or
2639 modify it under the same terms as Perl itself.
2640
2641 This statement should at least appear in the README file. You
2642 may also wish to include it in a Copying file and your source
2643 files. Remember to include the other words in addition to the
2644 Copyright.
2645
2646 • Give the module a version/issue/release number.
2647
2648 To be fully compatible with the Exporter and MakeMaker modules
2649 you should store your module's version number in a non-my
2650 package variable called $VERSION. This should be a positive
2651 floating point number with at least two digits after the
2652 decimal (i.e., hundredths, e.g, "$VERSION = "0.01""). Don't
2653 use a "1.3.2" style version. See Exporter for details.
2654
2655 It may be handy to add a function or method to retrieve the
2656 number. Use the number in announcements and archive file names
2657 when releasing the module (ModuleName-1.02.tar.Z). See perldoc
2658 ExtUtils::MakeMaker.pm for details.
2659
2660 • How to release and distribute a module.
2661
2662 If possible, register the module with CPAN. Follow the
2663 instructions and links on:
2664
2665 https://www.cpan.org/modules/04pause.html
2666
2667 and upload to:
2668
2669 https://pause.perl.org/
2670
2671 and notify <modules@perl.org>. This will allow anyone to
2672 install your module using the "cpan" tool distributed with
2673 Perl.
2674
2675 By using the WWW interface you can ask the Upload Server to
2676 mirror your modules from your ftp or WWW site into your own
2677 directory on CPAN!
2678
2679 • Take care when changing a released module.
2680
2681 Always strive to remain compatible with previous released
2682 versions. Otherwise try to add a mechanism to revert to the
2683 old behavior if people rely on it. Document incompatible
2684 changes.
2685
2686 Guidelines for Converting Perl 4 Library Scripts into Modules
2687 • There is no requirement to convert anything.
2688
2689 If it ain't broke, don't fix it! Perl 4 library scripts should
2690 continue to work with no problems. You may need to make some minor
2691 changes (like escaping non-array @'s in double quoted strings) but
2692 there is no need to convert a .pl file into a Module for just that.
2693
2694 • Consider the implications.
2695
2696 All Perl applications that make use of the script will need to be
2697 changed (slightly) if the script is converted into a module. Is it
2698 worth it unless you plan to make other changes at the same time?
2699
2700 • Make the most of the opportunity.
2701
2702 If you are going to convert the script to a module you can use the
2703 opportunity to redesign the interface. The guidelines for module
2704 creation above include many of the issues you should consider.
2705
2706 • The pl2pm utility will get you started.
2707
2708 This utility will read *.pl files (given as parameters) and write
2709 corresponding *.pm files. The pl2pm utilities does the following:
2710
2711 • Adds the standard Module prologue lines
2712
2713 • Converts package specifiers from ' to ::
2714
2715 • Converts die(...) to croak(...)
2716
2717 • Several other minor changes
2718
2719 Being a mechanical process pl2pm is not bullet proof. The converted
2720 code will need careful checking, especially any package statements.
2721 Don't delete the original .pl file till the new .pm one works!
2722
2723 Guidelines for Reusing Application Code
2724 • Complete applications rarely belong in the Perl Module Library.
2725
2726 • Many applications contain some Perl code that could be reused.
2727
2728 Help save the world! Share your code in a form that makes it easy
2729 to reuse.
2730
2731 • Break-out the reusable code into one or more separate module files.
2732
2733 • Take the opportunity to reconsider and redesign the interfaces.
2734
2735 • In some cases the 'application' can then be reduced to a small
2736
2737 fragment of code built on top of the reusable modules. In these
2738 cases the application could invoked as:
2739
2740 % perl -e 'use Module::Name; method(@ARGV)' ...
2741 or
2742 % perl -mModule::Name ... (in perl5.002 or higher)
2743
2745 Perl does not enforce private and public parts of its modules as you
2746 may have been used to in other languages like C++, Ada, or Modula-17.
2747 Perl doesn't have an infatuation with enforced privacy. It would
2748 prefer that you stayed out of its living room because you weren't
2749 invited, not because it has a shotgun.
2750
2751 The module and its user have a contract, part of which is common law,
2752 and part of which is "written". Part of the common law contract is
2753 that a module doesn't pollute any namespace it wasn't asked to. The
2754 written contract for the module (A.K.A. documentation) may make other
2755 provisions. But then you know when you "use RedefineTheWorld" that
2756 you're redefining the world and willing to take the consequences.
2757
2758
2759
2760perl v5.34.1 2022-03-15 PERLMODLIB(1)