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 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
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
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
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)