2 Generated by perlmodlib.PL -- DO NOT EDIT!
6 perlmodlib - constructing new Perl modules and finding existing ones
10 =head1 THE PERL MODULE LIBRARY
12 Many modules are included the Perl distribution. These are described
13 below, and all end in F<.pm>. You may discover compiled library
14 file (usually ending in F<.so>) or small pieces of modules to be
15 autoloaded (ending in F<.al>); these were automatically generated
16 by the installation process. You may also discover files in the
17 library directory that end in either F<.pl> or F<.ph>. These are
18 old libraries supplied so that old programs that use them still
19 run. The F<.pl> files will all eventually be converted into standard
20 modules, and the F<.ph> files made by B<h2ph> will probably end up
21 as extension modules made by B<h2xs>. (Some F<.ph> values may
22 already be available through the POSIX, Errno, or Fcntl modules.)
23 The B<pl2pm> file in the distribution may help in your conversion,
24 but it's just a mechanical process and therefore far from bulletproof.
26 =head2 Pragmatic Modules
28 They work somewhat like compiler directives (pragmata) in that they
29 tend to affect the compilation of your program, and thus will usually
30 work well only when used within a C<use>, or C<no>. Most of these
31 are lexically scoped, so an inner BLOCK may countermand them
38 which lasts until the end of that BLOCK.
40 Some pragmas are lexically scoped--typically those that affect the
41 C<$^H> hints variable. Others affect the current package instead,
42 like C<use vars> and C<use subs>, which allow you to predeclare a
43 variables or subroutines within a particular I<file> rather than
44 just a block. Such declarations are effective for the entire file
45 for which they were declared. You cannot rescind them with C<no
48 The following pragmas are defined (and have their own documentation).
54 Get/set subroutine or variable attributes
58 Set/get attributes of a subroutine (deprecated)
62 Postpone load of modules until a function is used
66 Establish IS-A relationship with base class at compile time
70 Transparent big integer support for Perl
74 Transparent BigNumber support for Perl
78 Transparent BigNumber/BigRational support for Perl
82 Use MakeMaker's uninstalled version of a package
86 Force byte semantics rather than character semantics
90 Define character names for C<\N{named}> string literal escapes
98 Perl compiler pragma to force verbose warning diagnostics
102 Allows you to write your script in non-ascii or non-utf8
106 Compile-time class fields
110 Control the filetest permission operators
114 C<use> a Perl module if a condition holds
118 Use integer arithmetic instead of floating point
122 Request less of something from the compiler
126 Use and avoid POSIX locales for built-in operations
130 Set default disciplines for input and output
134 Restrict unsafe operations when compiling
138 Package for overloading perl operations
142 Alter regular expression behaviour
146 Enable simple signal handling
150 Control sort() behaviour
154 Restrict unsafe constructs
162 Perl extension allowing use of interpreter based threads from perl
166 Enable/disable UTF-8 (or UTF-EBCDIC) in source code
170 Predeclare global variable names (obsolete)
174 Control VMS-specific language features
178 Control optional warnings
180 =item warnings::register
182 Warnings import function
186 =head2 Standard Modules
188 Standard, bundled modules are all expected to behave in a well-defined
189 manner with respect to namespace pollution because they use the
190 Exporter module. See their own documentation for details.
196 Provide framework for multiple DBMs
198 =item Attribute::Handlers
200 Simpler definition of attribute handlers
204 Load subroutines only on demand
208 Split a package for autoloading
216 Autogenerated data about Perl ops, used to generate bytecode
220 Assemble Perl bytecode
228 Perl compiler's bytecode backend
232 Perl compiler's C backend
236 Perl compiler's optimized C translation backend
240 Walk Perl syntax tree, printing concise info about ops
244 Walk Perl syntax tree, printing debug info about ops
248 Perl compiler backend to produce perl code
250 =item B::Disassembler
252 Disassemble Perl bytecode
260 Show lexical variables used in functions or files
264 Helper module for CC backend
268 Show what stashes are loaded
272 Walk Perl syntax tree, printing terse info about ops
276 Generates cross reference reports for Perl programs
280 Benchmark running times of Perl code
284 Load byte compiled perl code
288 Simple Common Gateway Interface Class
292 Backward compatibility module for CGI.pm
296 CGI routines for writing to the HTTPD (or other) error log
300 Interface to Netscape Cookies
304 CGI Interface for Fast CGI
308 Module to produce nicely formatted HTML code
312 Simple Interface to Server Push
316 Backward compatibility module for defunct CGI::Switch
320 Internal utilities used by CGI module
324 Query, download and build perl modules from CPAN sites
326 =item CPAN::FirstTime
328 Utility for CPAN::Config file Initialization
332 Wrapper around CPAN.pm without using any XS module
336 Warn of errors (from perspective of caller)
340 No user serviceable parts inside
344 Report the search path for a class's ISA tree
348 Declare struct-like datatypes as Perl classes
352 Access Perl configuration information
356 Get pathname of current working directory
360 Programmatic interface to the Perl debugging API (draft, subject to
364 Perl5 access to Berkeley DB version 1.x
366 =item Devel::SelfStubber
368 Generate stubs for a SelfLoading module
372 Modules that calculate message digests
376 Supply object methods for directory handles
380 Provides screen dump of Perl data.
388 Use nice English (or awk) names for ugly punctuation variables
392 Perl module that imports environment variables as scalars or arrays
396 System errno constants
400 Implements default import method for modules
402 =item Exporter::Heavy
406 =item ExtUtils::Command
408 Utilities to replace common UNIX commands in Makefiles etc.
410 =item ExtUtils::Command::MM
412 Commands for the MM's to use in Makefiles
414 =item ExtUtils::Constant
416 Generate XS code to import C header constants
418 =item ExtUtils::Embed
420 Utilities for embedding Perl in C/C++ applications
422 =item ExtUtils::Install
424 Install files from here to there
426 =item ExtUtils::Installed
428 Inventory management of installed modules
430 =item ExtUtils::Liblist
432 Determine libraries to use and how to use them
436 OS adjusted ExtUtils::MakeMaker subclass
438 =item ExtUtils::MM_Any
440 Platform agnostic MM methods
442 =item ExtUtils::MM_BeOS
444 Methods to override UN*X behaviour in ExtUtils::MakeMaker
446 =item ExtUtils::MM_Cygwin
448 Methods to override UN*X behaviour in ExtUtils::MakeMaker
450 =item ExtUtils::MM_DOS
452 DOS specific subclass of ExtUtils::MM_Unix
454 =item ExtUtils::MM_MacOS
456 Methods to override UN*X behaviour in ExtUtils::MakeMaker
458 =item ExtUtils::MM_NW5
460 Methods to override UN*X behaviour in ExtUtils::MakeMaker
462 =item ExtUtils::MM_OS2
464 Methods to override UN*X behaviour in ExtUtils::MakeMaker
466 =item ExtUtils::MM_UWIN
468 U/WIN specific subclass of ExtUtils::MM_Unix
470 =item ExtUtils::MM_Unix
472 Methods used by ExtUtils::MakeMaker
474 =item ExtUtils::MM_VMS
476 Methods to override UN*X behaviour in ExtUtils::MakeMaker
478 =item ExtUtils::MM_Win32
480 Methods to override UN*X behaviour in ExtUtils::MakeMaker
482 =item ExtUtils::MM_Win95
484 Method to customize MakeMaker for Win9X
488 ExtUtils::MakeMaker subclass for customization
490 =item ExtUtils::MakeMaker
492 Create an extension Makefile
494 =item ExtUtils::Manifest
496 Utilities to write and check a MANIFEST file
498 =item ExtUtils::Mkbootstrap
500 Make a bootstrap file for use by DynaLoader
502 =item ExtUtils::Mksymlists
504 Write linker options files for dynamic extension
506 =item ExtUtils::Packlist
508 Manage .packlist files
510 =item ExtUtils::testlib
512 Add blib/* directories to @INC
516 Replace functions with equivalents which succeed or die
520 Load the C Fcntl.h defines
524 Split a pathname into pieces
526 =item File::CheckTree
528 Run many filetest checks on a tree
532 Compare files or filehandles
536 Copy files or filehandles
540 DOS like globbing and then some
544 Traverse a directory tree.
548 Create or remove directory trees
552 Portably perform operations on file names
554 =item File::Spec::Cygwin
556 Methods for Cygwin file specs
558 =item File::Spec::Epoc
560 Methods for Epoc file specs
562 =item File::Spec::Functions
564 Portably perform operations on file names
566 =item File::Spec::Mac
568 File::Spec for Mac OS (Classic)
570 =item File::Spec::OS2
572 Methods for OS/2 file specs
574 =item File::Spec::Unix
576 File::Spec for Unix, base for other File::Spec modules
578 =item File::Spec::VMS
580 Methods for VMS file specs
582 =item File::Spec::Win32
584 Methods for Win32 file specs
588 Return name and handle of a temporary file safely
592 By-name interface to Perl's built-in stat() functions
596 Keep more files open than the system permits
600 Supply object methods for filehandles
604 Simplified source filtering
608 Locate directory of original perl script
612 Extended processing of command line options
616 Process single-character switches with switch clustering
620 A selection of general-utility hash subroutines
624 Compare 8-bit scalar data according to the current locale
628 Functions for dealing with RFC3066-style language tags
630 =item I18N::LangTags::List
632 Tags and names for human languages
636 Load various IO modules
640 Open a process for both reading and writing
644 Open a process for reading, writing, and error handling
646 =item Locale::Constants
648 Constants for Locale codes
650 =item Locale::Country
652 ISO codes for country identification (ISO 3166)
654 =item Locale::Currency
656 ISO three letter codes for currency identification (ISO 4217)
658 =item Locale::Language
660 ISO two letter codes for language identification (ISO 639)
662 =item Locale::Maketext
664 Framework for localization
666 =item Locale::Maketext::TPJ13
668 Article about software localization
672 ISO codes for script identification (ISO 15924)
676 Arbitrary size floating point math package
680 Arbitrary size integer math package
682 =item Math::BigInt::Calc
684 Pure Perl module to support Math::BigInt
688 Arbitrarily big rationals
692 Complex numbers and associated mathematical functions
696 Trigonometric functions
700 Make functions faster by trading space for time
702 =item Memoize::AnyDBM_File
704 Glue to provide EXISTS for AnyDBM_File for Storable use
706 =item Memoize::Expire
708 Plug-in module for automatic expiration of memoized values
710 =item Memoize::ExpireFile
712 Test for Memoize expiration semantics
714 =item Memoize::ExpireTest
716 Test for Memoize expiration semantics
718 =item Memoize::NDBM_File
720 Glue to provide EXISTS for NDBM_File for Storable use
722 =item Memoize::SDBM_File
724 Glue to provide EXISTS for SDBM_File for Storable use
726 =item Memoize::Storable
728 Store Memoized data in Storable database
732 Tied access to ndbm files
736 Provide a pseudo-class NEXT that allows method redispatch
740 Network Command class (as used by FTP, SMTP etc)
744 Local configuration data for libnet
748 Attempt to evaluate the current host's internet name and domain
760 OO interface to users netrc file
764 Post Office Protocol 3 Client class (RFC1939)
768 Check a remote host for reachability
772 Simple Mail Transfer Protocol Client
776 Time and daytime network client interface
780 By-name interface to Perl's built-in gethost*() functions
784 Libnet Frequently Asked Questions
788 By-name interface to Perl's built-in getnet*() functions
792 By-name interface to Perl's built-in getproto*() functions
796 By-name interface to Perl's built-in getserv*() functions
800 Generic interface to Perl Compiler backends
804 Tied access to odbm files
808 Disable named opcodes when compiling perl code
812 Perl interface to IEEE Std 1003.1
816 On demand loader for PerlIO layers and root of PerlIO::* name space
820 Check pod documents for syntax errors
824 Find POD documents in directory trees
828 Group Perl's functions a la perlfunc.pod
832 Module to convert pod files to HTML
834 =item Pod::InputObjects
836 Objects representing POD input paragraphs, commands, etc.
840 Convert Pod data to formatted Latex
844 Convert POD data to formatted *roff input
848 Parse an LE<lt>E<gt> formatting code in POD text
850 =item Pod::ParseUtils
852 Helpers for POD parsing and conversion
856 Base class for creating POD filters and translators
860 Perl extension for converting Pod to old style Pod.
864 Extract selected sections of POD from input
868 Convert POD data to formatted ASCII text
870 =item Pod::Text::Color
872 Convert POD data to formatted color ASCII text
874 =item Pod::Text::Overstrike
876 Convert POD data to formatted overstrike text
878 =item Pod::Text::Termcap
880 Convert POD data to ASCII text with format escapes
884 Print a usage message from embedded pod documentation
888 Tied access to sdbm files
892 Compile and execute code in restricted compartments
896 Search for key in dictionary file
900 Save and restore selected file handle
904 Load functions only on demand
908 Run shell commands transparently within perl
912 Load the C socket.h defines and structure manipulators
916 Persistence for Perl data structures
920 A switch statement for Perl
924 Manipulate Perl symbols and their names
926 =item Term::ANSIColor
928 Color screen output using ANSI escape sequences
932 Perl termcap interface
936 Perl word completion module
940 Perl interface to various C<readline> packages. If
944 Provides a simple framework for writing test scripts
948 Backend for building test libraries
952 Run perl standard test scripts with statistics
954 =item Test::Harness::Assert
958 =item Test::Harness::Iterator
960 Internal Test::Harness Iterator
962 =item Test::Harness::Straps
964 Detailed analysis of test results
968 Yet another framework for writing test scripts
972 Basic utilities for writing tests.
976 A tutorial about writing really basic tests
980 Create an abbreviation table from a list
984 Extract delimited text sequences from strings.
986 =item Text::ParseWords
988 Parse text into an array of tokens or array of arrays
992 Implementation of the Soundex Algorithm as Described by Knuth
996 Expand and unexpand tabs per the unix expand(1) and unexpand(1)
1000 Line wrapping to form simple paragraphs
1004 Manipulate threads in Perl (for old code only)
1008 Thread-safe queues (for old code only)
1010 =item Thread::Semaphore
1012 Thread-safe semaphores (for old code only)
1016 Base class for tied arrays
1020 Access the lines of a disk file via a Perl array
1024 Base class definitions for tied handles
1028 Base class definitions for tied hashes
1032 Add data to hash when needed
1036 Use references as hash keys
1040 Base class definitions for tied scalars
1042 =item Tie::SubstrHash
1044 Fixed-table-size, fixed-key-length hashing
1048 Efficiently compute time from local and GMT time
1052 By-name interface to Perl's built-in gmtime() function
1054 =item Time::localtime
1056 By-name interface to Perl's built-in localtime() function
1060 Internal object used by Time::gmtime and Time::localtime
1064 Base class for ALL classes (blessed references)
1066 =item Unicode::Collate
1068 Unicode Collation Algorithm
1072 Unicode character database
1076 By-name interface to Perl's built-in getgr*() functions
1080 By-name interface to Perl's built-in getpw*() functions
1084 Interfaces to some Win32 API Functions
1088 To find out I<all> modules installed on your system, including
1089 those without documentation or outside the standard release,
1092 % find `perl -e 'print "@INC"'` -name '*.pm' -print
1094 They should all have their own documentation installed and accessible
1095 via your system man(1) command. If you do not have a B<find>
1096 program, you can use the Perl B<find2perl> program instead, which
1097 generates Perl code as output you can run through perl. If you
1098 have a B<man> program but it doesn't find your modules, you'll have
1099 to fix your manpath. See L<perl> for details. If you have no
1100 system B<man> command, you might try the B<perldoc> program.
1102 =head2 Extension Modules
1104 Extension modules are written in C (or a mix of Perl and C). They
1105 are usually dynamically loaded into Perl if and when you need them,
1106 but may also be linked in statically. Supported extension modules
1107 include Socket, Fcntl, and POSIX.
1109 Many popular C extension modules do not come bundled (at least, not
1110 completely) due to their sizes, volatility, or simply lack of time
1111 for adequate testing and configuration across the multitude of
1112 platforms on which Perl was beta-tested. You are encouraged to
1113 look for them on CPAN (described below), or using web search engines
1114 like Alta Vista or Deja News.
1118 CPAN stands for Comprehensive Perl Archive Network; it's a globally
1119 replicated trove of Perl materials, including documentation, style
1120 guides, tricks and traps, alternate ports to non-Unix systems and
1121 occasional binary distributions for these. Search engines for
1122 CPAN can be found at http://www.cpan.org/
1124 Most importantly, CPAN includes around a thousand unbundled modules,
1125 some of which require a C compiler to build. Major categories of
1132 Language Extensions and Documentation Tools
1140 Operating System Interfaces
1144 Networking, Device Control (modems) and InterProcess Communication
1148 Data Types and Data Type Utilities
1160 Interfaces to / Emulations of Other Programming Languages
1164 File Names, File Systems and File Locking (see also File Handles)
1168 String Processing, Language Text Processing, Parsing, and Searching
1172 Option, Argument, Parameter, and Configuration File Processing
1176 Internationalization and Locale
1180 Authentication, Security, and Encryption
1184 World Wide Web, HTML, HTTP, CGI, MIME
1188 Server and Daemon Utilities
1192 Archiving and Compression
1196 Images, Pixmap and Bitmap Manipulation, Drawing, and Graphing
1200 Mail and Usenet News
1204 Control Flow Utilities (callbacks and exceptions etc)
1208 File Handle and Input/Output Stream Utilities
1212 Miscellaneous Modules
1216 Registered CPAN sites as of this writing include the following.
1217 You should try to choose one close to you:
1227 ftp://ftp.is.co.za/programming/perl/CPAN/
1228 ftp://ftp.mweb.co.za/pub/mirrors/cpan/
1229 ftp://ftp.saix.net/pub/CPAN/
1230 ftp://ftp.sun.ac.za/CPAN/CPAN/
1242 ftp://freesoft.cei.gov.cn/pub/languages/perl/CPAN/
1243 http://www2.linuxforum.net/mirror/CPAN/
1244 http://cpan.shellhung.org/
1245 ftp://ftp.shellhung.org/pub/CPAN
1251 http://cpan.in.freeos.com
1252 ftp://cpan.in.freeos.com/pub/CPAN/
1258 http://cpan.itb.web.id/
1259 ftp://mirrors.piksi.itb.ac.id/CPAN/
1260 http://CPAN.mweb.co.id/
1261 ftp://ftp.mweb.co.id/pub/languages/perl/CPAN/
1267 http://www.iglu.org.il:/pub/CPAN/
1268 ftp://ftp.iglu.org.il/pub/CPAN/
1269 http://cpan.lerner.co.il/
1270 http://bioinfo.weizmann.ac.il/pub/software/perl/CPAN/
1271 ftp://bioinfo.weizmann.ac.il/pub/software/perl/CPAN/
1277 ftp://ftp.u-aizu.ac.jp/pub/CPAN
1278 ftp://ftp.kddlabs.co.jp/CPAN/
1279 http://mirror.nucba.ac.jp/mirror/Perl/
1280 ftp://mirror.nucba.ac.jp/mirror/Perl/
1281 ftp://ftp.meisei-u.ac.jp/pub/CPAN/
1282 ftp://ftp.ayamura.org/pub/CPAN/
1283 ftp://ftp.jaist.ac.jp/pub/lang/perl/CPAN/
1284 ftp://ftp.dti.ad.jp/pub/lang/CPAN/
1285 ftp://ftp.ring.gr.jp/pub/lang/perl/CPAN/
1291 http://mirror.Mazic.org/pub/CPAN
1292 ftp://mirror.Mazic.org/pub/CPAN
1298 http://www.adzu.edu.ph/CPAN
1304 http://cpan.tomsk.ru
1305 ftp://cpan.tomsk.ru/pub/CPAN
1311 ftp://ftp.isu.net.sa/pub/CPAN/
1317 http://cpan.hjc.edu.sg
1323 http://CPAN.bora.net/
1324 ftp://ftp.bora.net/pub/CPAN/
1325 http://ftp.kornet.net/pub/CPAN/
1326 ftp://ftp.kornet.net/pub/CPAN/
1327 ftp://ftp.nuri.net/pub/CPAN/
1328 http://ftp.xgate.co.kr/cpan/
1329 ftp://ftp.xgate.co.kr/pub/mirror/CPAN
1335 ftp://ftp.ee.ncku.edu.tw/pub/perl/CPAN/
1336 ftp://ftp1.sinica.edu.tw/pub1/perl/CPAN/
1337 http://ftp.tku.edu.tw/pub/CPAN/
1338 ftp://ftp.tku.edu.tw/pub/CPAN/
1344 ftp://ftp.cs.riubon.ac.th/pub/mirrors/CPAN/
1348 =head2 Central America
1356 ftp://ftp.linux.co.cr/mirrors/CPAN/
1357 http://ftp.ucr.ac.cr/Unix/CPAN/
1358 ftp://ftp.ucr.ac.cr/pub/Unix/CPAN/
1370 ftp://ftp.tuwien.ac.at/pub/CPAN/
1376 http://ftp.easynet.be/pub/CPAN/
1377 ftp://ftp.easynet.be/pub/CPAN/
1378 http://cpan.skynet.be
1379 ftp://ftp.skynet.be/pub/CPAN
1380 ftp://ftp.kulnet.kuleuven.ac.be/pub/mirror/CPAN/
1386 http://cpan.lirex.net/
1387 ftp://ftp.lirex.net/pub/mirrors/CPAN
1393 ftp://ftp.linux.hr/pub/CPAN/
1399 http://ftp.fi.muni.cz/pub/CPAN/
1400 ftp://ftp.fi.muni.cz/pub/CPAN/
1401 ftp://sunsite.mff.cuni.cz/MIRRORS/ftp.funet.fi/pub/languages/perl/CPAN/
1407 http://mirrors.sunsite.dk/cpan/
1408 ftp://sunsite.dk/mirrors/cpan/
1409 http://www.cpan.dk/CPAN/
1410 ftp://www.cpan.dk/ftp.cpan.org/CPAN/
1416 ftp://ftp.ut.ee/pub/languages/perl/CPAN/
1422 ftp://ftp.funet.fi/pub/languages/perl/CPAN/
1423 http://cpan.kpnqwest.fi/
1429 http://cpan.mirrors.easynet.fr/
1430 ftp://cpan.mirrors.easynet.fr/pub/ftp.cpan.org/
1431 ftp://ftp.club-internet.fr/pub/perl/CPAN/
1433 ftp://ftp.lip6.fr/pub/perl/CPAN/
1434 ftp://ftp.oleane.net/pub/mirrors/CPAN/
1435 ftp://ftp.pasteur.fr/pub/computing/CPAN/
1436 http://cpan.cict.fr/
1437 ftp://cpan.cict.fr/pub/CPAN/
1438 ftp://ftp.uvsq.fr/pub/perl/CPAN/
1444 ftp://ftp.rz.ruhr-uni-bochum.de/pub/CPAN/
1445 ftp://ftp.freenet.de/pub/ftp.cpan.org/pub/CPAN/
1446 ftp://ftp.uni-erlangen.de/pub/source/CPAN/
1447 ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/CPAN
1448 ftp://ftp.gigabell.net/pub/CPAN/
1449 http://pandemonium.tiscali.de/pub/CPAN/
1450 ftp://pandemonium.tiscali.de/pub/CPAN/
1451 http://ftp.gwdg.de/pub/languages/perl/CPAN/
1452 ftp://ftp.gwdg.de/pub/languages/perl/CPAN/
1453 ftp://ftp.uni-hamburg.de/pub/soft/lang/perl/CPAN/
1454 ftp://ftp.leo.org/pub/CPAN/
1455 http://cpan.noris.de/
1456 ftp://cpan.noris.de/pub/CPAN/
1457 ftp://ftp.mpi-sb.mpg.de/pub/perl/CPAN/
1458 ftp://ftp.gmd.de/mirrors/CPAN/
1464 ftp://ftp.acn.gr/pub/lang/perl/CPAN
1465 ftp://ftp.forthnet.gr/pub/languages/perl/CPAN
1466 ftp://ftp.ntua.gr/pub/lang/perl/
1472 http://cpan.artifact.hu/
1473 ftp://cpan.artifact.hu/CPAN/
1474 http://ftp.kfki.hu/packages/perl/CPAN/
1475 ftp://ftp.kfki.hu/pub/packages/perl/CPAN/
1481 http://ftp.rhnet.is/pub/CPAN/
1482 ftp://ftp.rhnet.is/pub/CPAN/
1488 http://cpan.indigo.ie/
1489 ftp://cpan.indigo.ie/pub/CPAN/
1490 http://sunsite.compapp.dcu.ie/pub/perl/
1491 ftp://sunsite.compapp.dcu.ie/pub/perl/
1497 http://cpan.nettuno.it/
1498 http://gusp.dyndns.org/CPAN/
1499 ftp://gusp.dyndns.org/pub/CPAN
1500 http://softcity.iol.it/cpan
1501 ftp://softcity.iol.it/pub/cpan
1502 ftp://ftp.unina.it/pub/Other/CPAN/CPAN/
1503 ftp://ftp.unipi.it/pub/mirror/perl/CPAN/
1504 ftp://cis.uniRoma2.it/CPAN/
1505 ftp://ftp.edisontel.it/pub/CPAN_Mirror/
1506 ftp://ftp.flashnet.it/pub/CPAN/
1512 http://kvin.lv/pub/CPAN/
1518 ftp://ftp.unix.lt/pub/CPAN/
1524 ftp://download.xs4all.nl/pub/mirror/CPAN/
1525 ftp://ftp.nl.uu.net/pub/CPAN/
1526 ftp://ftp.nluug.nl/pub/languages/perl/CPAN/
1527 ftp://ftp.cpan.nl/pub/CPAN/
1528 http://www.cs.uu.nl/mirror/CPAN/
1529 ftp://ftp.cs.uu.nl/mirror/CPAN/
1535 ftp://ftp.uninett.no/pub/languages/perl/CPAN
1536 ftp://ftp.uit.no/pub/languages/perl/cpan/
1542 ftp://ftp.pk.edu.pl/pub/lang/perl/CPAN/
1543 ftp://ftp.mega.net.pl/pub/mirrors/ftp.perl.com/
1544 ftp://ftp.man.torun.pl/pub/doc/CPAN/
1545 ftp://sunsite.icm.edu.pl/pub/CPAN/
1551 ftp://ftp.ua.pt/pub/CPAN/
1552 ftp://perl.di.uminho.pt/pub/CPAN/
1553 http://cpan.dei.uc.pt/
1554 ftp://ftp.dei.uc.pt/pub/CPAN
1555 ftp://ftp.ist.utl.pt/pub/CPAN/
1557 ftp://cpan.ip.pt/pub/cpan/
1558 ftp://ftp.netc.pt/pub/CPAN/
1559 ftp://ftp.up.pt/pub/CPAN
1565 ftp://ftp.kappa.ro/pub/mirrors/ftp.perl.org/pub/CPAN/
1566 ftp://ftp.dntis.ro/pub/cpan/
1567 ftp://ftp.dnttm.ro/pub/CPAN/
1568 ftp://ftp.lasting.ro/pub/CPAN
1569 ftp://ftp.timisoara.roedu.net/mirrors/CPAN/
1575 ftp://ftp.chg.ru/pub/lang/perl/CPAN/
1576 http://cpan.rinet.ru/
1577 ftp://cpan.rinet.ru/pub/mirror/CPAN/
1578 ftp://ftp.aha.ru/pub/CPAN/
1579 http://cpan.sai.msu.ru/
1580 ftp://ftp.sai.msu.su/pub/lang/perl/CPAN/
1586 http://ftp.cvt.stuba.sk/pub/CPAN/
1587 ftp://ftp.cvt.stuba.sk/pub/CPAN/
1593 ftp://ftp.arnes.si/software/perl/CPAN/
1599 http://cpan.imasd.elmundo.es/
1600 ftp://ftp.rediris.es/mirror/CPAN/
1601 ftp://ftp.etse.urv.es/pub/perl/
1607 http://ftp.du.se/CPAN/
1608 ftp://ftp.du.se/pub/CPAN/
1609 ftp://mirror.dataphone.se/pub/CPAN
1610 ftp://ftp.sunet.se/pub/lang/perl/CPAN/
1616 ftp://ftp.danyk.ch/CPAN/
1617 ftp://sunsite.cnlab-switch.ch/mirror/CPAN/
1623 ftp://sunsite.bilkent.edu.tr/pub/languages/CPAN/
1631 ftp://ftp.perl.org.ua/pub/CPAN/
1637 http://www.mirror.ac.uk/sites/ftp.funet.fi/pub/languages/perl/CPAN
1638 ftp://ftp.mirror.ac.uk/sites/ftp.funet.fi/pub/languages/perl/CPAN/
1639 http://cpan.teleglobe.net/
1640 ftp://cpan.teleglobe.net/pub/CPAN
1641 http://cpan.crazygreek.co.uk
1642 ftp://ftp.demon.co.uk/pub/CPAN/
1643 ftp://ftp.flirble.org/pub/languages/perl/CPAN/
1644 ftp://ftp.plig.org/pub/CPAN/
1645 http://mirror.uklinux.net/CPAN/
1646 ftp://mirror.uklinux.net/pub/CPAN/
1647 http://cpan.mirrors.clockerz.net/
1648 ftp://ftp.clockerz.net/pub/CPAN/
1649 ftp://usit.shef.ac.uk/pub/packages/CPAN/
1653 =head2 North America
1667 http://sunsite.ualberta.ca/pub/Mirror/CPAN/
1668 ftp://sunsite.ualberta.ca/pub/Mirror/CPAN/
1674 http://theoryx5.uwinnipeg.ca/pub/CPAN/
1675 ftp://theoryx5.uwinnipeg.ca/pub/CPAN/
1681 ftp://cpan.chebucto.ns.ca/pub/CPAN/
1687 ftp://ftp.crc.ca/pub/CPAN/
1693 http://cpan.mirror.smartworker.org/
1701 http://cpan.azc.uam.mx
1702 ftp://cpan.azc.uam.mx/mirrors/CPAN
1703 http://cpan.unam.mx/
1704 ftp://cpan.unam.mx/pub/CPAN
1705 http://www.msg.com.mx/CPAN/
1706 ftp://ftp.msg.com.mx/pub/CPAN/
1718 http://mirror.hiwaay.net/CPAN/
1719 ftp://mirror.hiwaay.net/CPAN/
1725 http://www.cpan.org/
1726 ftp://cpan.valueclick.com/pub/CPAN/
1727 http://mirrors.gossamer-threads.com/CPAN
1728 ftp://cpan.nas.nasa.gov/pub/perl/CPAN/
1729 http://mirrors.kernel.org/cpan/
1730 ftp://mirrors.kernel.org/pub/CPAN
1731 http://cpan.digisle.net/
1732 ftp://cpan.digisle.net/pub/CPAN
1733 http://www.perl.com/CPAN/
1734 http://download.sourceforge.net/mirrors/CPAN/
1740 ftp://ftp.cs.colorado.edu/pub/perl/CPAN/
1746 http://ftp.lug.udel.edu/pub/CPAN
1747 ftp://ftp.lug.udel.edu/pub/CPAN
1751 District of Columbia
1753 ftp://ftp.dc.aleron.net/pub/CPAN/
1759 ftp://ftp.cise.ufl.edu/pub/mirrors/CPAN/
1760 http://mirror.csit.fsu.edu/pub/CPAN/
1761 ftp://mirror.csit.fsu.edu/pub/CPAN/
1767 http://uiarchive.uiuc.edu/mirrors/ftp/cpan.cse.msu.edu/
1768 ftp://uiarchive.uiuc.edu/mirrors/ftp/cpan.cse.msu.edu/
1774 ftp://ftp.uwsg.iu.edu/pub/perl/CPAN/
1775 http://cpan.netnitco.net/
1776 ftp://cpan.netnitco.net/pub/mirrors/CPAN/
1777 http://archive.progeny.com/CPAN/
1778 ftp://archive.progeny.com/CPAN/
1779 ftp://cpan.in-span.net/
1780 http://csociety-ftp.ecn.purdue.edu/pub/CPAN
1781 ftp://csociety-ftp.ecn.purdue.edu/pub/CPAN
1787 http://cpan.uky.edu/
1788 ftp://cpan.uky.edu/pub/CPAN/
1794 ftp://ftp.ccs.neu.edu/net/mirrors/ftp.funet.fi/pub/languages/perl/CPAN/
1795 http://cpan.mirrors.netnumina.com/
1796 ftp://mirrors.netnumina.com/cpan/
1802 ftp://cpan.cse.msu.edu/
1808 ftp://ftp.cpanel.net/pub/CPAN/
1809 http://cpan.teleglobe.net/
1810 ftp://cpan.teleglobe.net/pub/CPAN
1816 ftp://ftp.exobit.org/pub/perl/CPAN
1817 http://cpan.belfry.net/
1818 http://cpan.thepirtgroup.com/
1819 ftp://cpan.thepirtgroup.com/
1820 ftp://ftp.stealth.net/pub/CPAN/
1821 http://www.rge.com/pub/languages/perl/
1822 ftp://ftp.rge.com/pub/languages/perl/
1823 ftp://mirrors.cloud9.net/pub/mirrors/CPAN/
1829 ftp://ftp.duke.edu/pub/perl/
1835 ftp://ftp.loaded.net/pub/CPAN/
1841 ftp://ftp.ou.edu/mirrors/CPAN/
1847 ftp://ftp.orst.edu/pub/CPAN
1853 http://ftp.epix.net/CPAN/
1854 ftp://ftp.epix.net/pub/languages/perl/
1855 http://mirrors.phenominet.com/pub/CPAN/
1856 ftp://mirrors.phenominet.com/pub/CPAN/
1857 http://cpan.pair.com/
1858 ftp://cpan.pair.com/pub/CPAN/
1859 ftp://carroll.cac.psu.edu/pub/CPAN/
1865 ftp://ftp.sunsite.utk.edu/pub/CPAN/
1871 http://ftp.sedl.org/pub/mirrors/CPAN/
1872 ftp://mirror.telentente.com/pub/CPAN
1878 ftp://mirror.xmission.com/CPAN/
1884 http://mirrors.rcn.net/pub/lang/CPAN/
1885 ftp://mirrors.rcn.net/pub/lang/CPAN/
1886 http://perl.secsup.org/
1887 ftp://perl.secsup.org/pub/perl/
1888 http://mirrors.phihost.com/CPAN/
1889 ftp://mirrors.phihost.com/CPAN/
1890 ftp://ruff.cs.jmu.edu/pub/CPAN/
1891 http://perl.Liquidation.com/CPAN/
1897 http://cpan.llarian.net/
1898 ftp://cpan.llarian.net/pub/CPAN/
1899 http://cpan.mirrorcentral.com/
1900 ftp://ftp.mirrorcentral.com/pub/CPAN/
1901 ftp://ftp-mirror.internap.com/pub/CPAN/
1907 http://mirror.sit.wisc.edu/pub/CPAN/
1908 ftp://mirror.sit.wisc.edu/pub/CPAN/
1920 http://ftp.planetmirror.com/pub/CPAN/
1921 ftp://ftp.planetmirror.com/pub/CPAN/
1922 ftp://mirror.aarnet.edu.au/pub/perl/CPAN/
1923 ftp://cpan.topend.com.au/pub/CPAN/
1929 ftp://ftp.auckland.ac.nz/pub/perl/CPAN/
1933 =head2 South America
1941 ftp://mirrors.bannerlandia.com.ar/mirrors/CPAN/
1947 ftp://cpan.pop-mg.com.br/pub/CPAN/
1948 ftp://ftp.matrix.com.br/pub/perl/CPAN/
1954 ftp://ftp.psinet.cl/pub/programming/perl/CPAN/
1958 For an up-to-date listing of CPAN sites,
1959 see http://www.cpan.org/SITES or ftp://www.cpan.org/SITES .
1961 =head1 Modules: Creation, Use, and Abuse
1963 (The following section is borrowed directly from Tim Bunce's modules
1964 file, available at your nearest CPAN site.)
1966 Perl implements a class using a package, but the presence of a
1967 package doesn't imply the presence of a class. A package is just a
1968 namespace. A class is a package that provides subroutines that can be
1969 used as methods. A method is just a subroutine that expects, as its
1970 first argument, either the name of a package (for "static" methods),
1971 or a reference to something (for "virtual" methods).
1973 A module is a file that (by convention) provides a class of the same
1974 name (sans the .pm), plus an import method in that class that can be
1975 called to fetch exported symbols. This module may implement some of
1976 its methods by loading dynamic C or C++ objects, but that should be
1977 totally transparent to the user of the module. Likewise, the module
1978 might set up an AUTOLOAD function to slurp in subroutine definitions on
1979 demand, but this is also transparent. Only the F<.pm> file is required to
1980 exist. See L<perlsub>, L<perltoot>, and L<AutoLoader> for details about
1981 the AUTOLOAD mechanism.
1983 =head2 Guidelines for Module Creation
1989 Do similar modules already exist in some form?
1991 If so, please try to reuse the existing modules either in whole or
1992 by inheriting useful features into a new class. If this is not
1993 practical try to get together with the module authors to work on
1994 extending or enhancing the functionality of the existing modules.
1995 A perfect example is the plethora of packages in perl4 for dealing
1996 with command line options.
1998 If you are writing a module to expand an already existing set of
1999 modules, please coordinate with the author of the package. It
2000 helps if you follow the same naming scheme and module interaction
2001 scheme as the original author.
2005 Try to design the new module to be easy to extend and reuse.
2007 Try to C<use warnings;> (or C<use warnings qw(...);>).
2008 Remember that you can add C<no warnings qw(...);> to individual blocks
2009 of code that need less warnings.
2011 Use blessed references. Use the two argument form of bless to bless
2012 into the class name given as the first parameter of the constructor,
2017 return bless {}, $class;
2020 or even this if you'd like it to be used as either a static
2021 or a virtual method.
2025 my $class = ref($self) || $self;
2026 return bless {}, $class;
2029 Pass arrays as references so more parameters can be added later
2030 (it's also faster). Convert functions into methods where
2031 appropriate. Split large methods into smaller more flexible ones.
2032 Inherit methods from other modules if appropriate.
2034 Avoid class name tests like: C<die "Invalid" unless ref $ref eq 'FOO'>.
2035 Generally you can delete the C<eq 'FOO'> part with no harm at all.
2036 Let the objects look after themselves! Generally, avoid hard-wired
2037 class names as far as possible.
2039 Avoid C<< $r->Class::func() >> where using C<@ISA=qw(... Class ...)> and
2040 C<< $r->func() >> would work (see L<perlbot> for more details).
2042 Use autosplit so little used or newly added functions won't be a
2043 burden to programs that don't use them. Add test functions to
2044 the module after __END__ either using AutoSplit or by saying:
2046 eval join('',<main::DATA>) || die $@ unless caller();
2048 Does your module pass the 'empty subclass' test? If you say
2049 C<@SUBCLASS::ISA = qw(YOURCLASS);> your applications should be able
2050 to use SUBCLASS in exactly the same way as YOURCLASS. For example,
2051 does your application still work if you change: C<$obj = new YOURCLASS;>
2052 into: C<$obj = new SUBCLASS;> ?
2054 Avoid keeping any state information in your packages. It makes it
2055 difficult for multiple other packages to use yours. Keep state
2056 information in objects.
2060 Try to C<use strict;> (or C<use strict qw(...);>).
2061 Remember that you can add C<no strict qw(...);> to individual blocks
2062 of code that need less strictness.
2066 Follow the guidelines in the perlstyle(1) manual.
2072 Some simple style guidelines
2074 The perlstyle manual supplied with Perl has many helpful points.
2076 Coding style is a matter of personal taste. Many people evolve their
2077 style over several years as they learn what helps them write and
2078 maintain good code. Here's one set of assorted suggestions that
2079 seem to be widely used by experienced developers:
2081 Use underscores to separate words. It is generally easier to read
2082 $var_names_like_this than $VarNamesLikeThis, especially for
2083 non-native speakers of English. It's also a simple rule that works
2084 consistently with VAR_NAMES_LIKE_THIS.
2086 Package/Module names are an exception to this rule. Perl informally
2087 reserves lowercase module names for 'pragma' modules like integer
2088 and strict. Other modules normally begin with a capital letter and
2089 use mixed case with no underscores (need to be short and portable).
2091 You may find it helpful to use letter case to indicate the scope
2092 or nature of a variable. For example:
2094 $ALL_CAPS_HERE constants only (beware clashes with Perl vars)
2095 $Some_Caps_Here package-wide global/static
2096 $no_caps_here function scope my() or local() variables
2098 Function and method names seem to work best as all lowercase.
2099 e.g., C<< $obj->as_string() >>.
2101 You can use a leading underscore to indicate that a variable or
2102 function should not be used outside the package that defined it.
2106 Select what to export.
2108 Do NOT export method names!
2110 Do NOT export anything else by default without a good reason!
2112 Exports pollute the namespace of the module user. If you must
2113 export try to use @EXPORT_OK in preference to @EXPORT and avoid
2114 short or common names to reduce the risk of name clashes.
2116 Generally anything not exported is still accessible from outside the
2117 module using the ModuleName::item_name (or C<< $blessed_ref->method >>)
2118 syntax. By convention you can use a leading underscore on names to
2119 indicate informally that they are 'internal' and not for public use.
2121 (It is actually possible to get private functions by saying:
2122 C<my $subref = sub { ... }; &$subref;>. But there's no way to call that
2123 directly as a method, because a method must have a name in the symbol
2126 As a general rule, if the module is trying to be object oriented
2127 then export nothing. If it's just a collection of functions then
2128 @EXPORT_OK anything but use @EXPORT with caution.
2132 Select a name for the module.
2134 This name should be as descriptive, accurate, and complete as
2135 possible. Avoid any risk of ambiguity. Always try to use two or
2136 more whole words. Generally the name should reflect what is special
2137 about what the module does rather than how it does it. Please use
2138 nested module names to group informally or categorize a module.
2139 There should be a very good reason for a module not to have a nested name.
2140 Module names should begin with a capital letter.
2142 Having 57 modules all called Sort will not make life easy for anyone
2143 (though having 23 called Sort::Quick is only marginally better :-).
2144 Imagine someone trying to install your module alongside many others.
2145 If in any doubt ask for suggestions in comp.lang.perl.misc.
2147 If you are developing a suite of related modules/classes it's good
2148 practice to use nested classes with a common prefix as this will
2149 avoid namespace clashes. For example: Xyz::Control, Xyz::View,
2150 Xyz::Model etc. Use the modules in this list as a naming guide.
2152 If adding a new module to a set, follow the original author's
2153 standards for naming modules and the interface to methods in
2156 If developing modules for private internal or project specific use,
2157 that will never be released to the public, then you should ensure
2158 that their names will not clash with any future public module. You
2159 can do this either by using the reserved Local::* category or by
2160 using a category name that includes an underscore like Foo_Corp::*.
2162 To be portable each component of a module name should be limited to
2163 11 characters. If it might be used on MS-DOS then try to ensure each is
2164 unique in the first 8 characters. Nested modules make this easier.
2168 Have you got it right?
2170 How do you know that you've made the right decisions? Have you
2171 picked an interface design that will cause problems later? Have
2172 you picked the most appropriate name? Do you have any questions?
2174 The best way to know for sure, and pick up many helpful suggestions,
2175 is to ask someone who knows. Comp.lang.perl.misc is read by just about
2176 all the people who develop modules and it's the best place to ask.
2178 All you need to do is post a short summary of the module, its
2179 purpose and interfaces. A few lines on each of the main methods is
2180 probably enough. (If you post the whole module it might be ignored
2181 by busy people - generally the very people you want to read it!)
2183 Don't worry about posting if you can't say when the module will be
2184 ready - just say so in the message. It might be worth inviting
2185 others to help you, they may be able to complete it for you!
2189 README and other Additional Files.
2191 It's well known that software developers usually fully document the
2192 software they write. If, however, the world is in urgent need of
2193 your software and there is not enough time to write the full
2194 documentation please at least provide a README file containing:
2200 A description of the module/package/extension etc.
2204 A copyright notice - see below.
2208 Prerequisites - what else you may need to have.
2212 How to build it - possible changes to Makefile.PL etc.
2220 Recent changes in this release, especially incompatibilities
2224 Changes / enhancements you plan to make in the future.
2228 If the README file seems to be getting too large you may wish to
2229 split out some of the sections into separate files: INSTALL,
2236 Adding a Copyright Notice.
2238 How you choose to license your work is a personal decision.
2239 The general mechanism is to assert your Copyright and then make
2240 a declaration of how others may copy/use/modify your work.
2242 Perl, for example, is supplied with two types of licence: The GNU
2243 GPL and The Artistic Licence (see the files README, Copying, and
2244 Artistic). Larry has good reasons for NOT just using the GNU GPL.
2246 My personal recommendation, out of respect for Larry, Perl, and the
2247 Perl community at large is to state something simply like:
2249 Copyright (c) 1995 Your Name. All rights reserved.
2250 This program is free software; you can redistribute it and/or
2251 modify it under the same terms as Perl itself.
2253 This statement should at least appear in the README file. You may
2254 also wish to include it in a Copying file and your source files.
2255 Remember to include the other words in addition to the Copyright.
2259 Give the module a version/issue/release number.
2261 To be fully compatible with the Exporter and MakeMaker modules you
2262 should store your module's version number in a non-my package
2263 variable called $VERSION. This should be a floating point
2264 number with at least two digits after the decimal (i.e., hundredths,
2265 e.g, C<$VERSION = "0.01">). Don't use a "1.3.2" style version.
2266 See L<Exporter> for details.
2268 It may be handy to add a function or method to retrieve the number.
2269 Use the number in announcements and archive file names when
2270 releasing the module (ModuleName-1.02.tar.Z).
2271 See perldoc ExtUtils::MakeMaker.pm for details.
2275 How to release and distribute a module.
2277 It's good idea to post an announcement of the availability of your
2278 module (or the module itself if small) to the comp.lang.perl.announce
2279 Usenet newsgroup. This will at least ensure very wide once-off
2282 If possible, register the module with CPAN. You should
2283 include details of its location in your announcement.
2285 Some notes about ftp archives: Please use a long descriptive file
2286 name that includes the version number. Most incoming directories
2287 will not be readable/listable, i.e., you won't be able to see your
2288 file after uploading it. Remember to send your email notification
2289 message as soon as possible after uploading else your file may get
2290 deleted automatically. Allow time for the file to be processed
2291 and/or check the file has been processed before announcing its
2294 FTP Archives for Perl Modules:
2296 Follow the instructions and links on:
2298 http://www.cpan.org/modules/00modlist.long.html
2299 http://www.cpan.org/modules/04pause.html
2301 or upload to one of these sites:
2303 https://pause.kbx.de/pause/
2304 http://pause.perl.org/pause/
2306 and notify <modules@perl.org>.
2308 By using the WWW interface you can ask the Upload Server to mirror
2309 your modules from your ftp or WWW site into your own directory on
2312 Please remember to send me an updated entry for the Module list!
2316 Take care when changing a released module.
2318 Always strive to remain compatible with previous released versions.
2319 Otherwise try to add a mechanism to revert to the
2320 old behavior if people rely on it. Document incompatible changes.
2326 =head2 Guidelines for Converting Perl 4 Library Scripts into Modules
2332 There is no requirement to convert anything.
2334 If it ain't broke, don't fix it! Perl 4 library scripts should
2335 continue to work with no problems. You may need to make some minor
2336 changes (like escaping non-array @'s in double quoted strings) but
2337 there is no need to convert a .pl file into a Module for just that.
2341 Consider the implications.
2343 All Perl applications that make use of the script will need to
2344 be changed (slightly) if the script is converted into a module. Is
2345 it worth it unless you plan to make other changes at the same time?
2349 Make the most of the opportunity.
2351 If you are going to convert the script to a module you can use the
2352 opportunity to redesign the interface. The guidelines for module
2353 creation above include many of the issues you should consider.
2357 The pl2pm utility will get you started.
2359 This utility will read *.pl files (given as parameters) and write
2360 corresponding *.pm files. The pl2pm utilities does the following:
2366 Adds the standard Module prologue lines
2370 Converts package specifiers from ' to ::
2374 Converts die(...) to croak(...)
2378 Several other minor changes
2382 Being a mechanical process pl2pm is not bullet proof. The converted
2383 code will need careful checking, especially any package statements.
2384 Don't delete the original .pl file till the new .pm one works!
2388 =head2 Guidelines for Reusing Application Code
2394 Complete applications rarely belong in the Perl Module Library.
2398 Many applications contain some Perl code that could be reused.
2400 Help save the world! Share your code in a form that makes it easy
2405 Break-out the reusable code into one or more separate module files.
2409 Take the opportunity to reconsider and redesign the interfaces.
2413 In some cases the 'application' can then be reduced to a small
2415 fragment of code built on top of the reusable modules. In these cases
2416 the application could invoked as:
2418 % perl -e 'use Module::Name; method(@ARGV)' ...
2420 % perl -mModule::Name ... (in perl5.002 or higher)
2426 Perl does not enforce private and public parts of its modules as you may
2427 have been used to in other languages like C++, Ada, or Modula-17. Perl
2428 doesn't have an infatuation with enforced privacy. It would prefer
2429 that you stayed out of its living room because you weren't invited, not
2430 because it has a shotgun.
2432 The module and its user have a contract, part of which is common law,
2433 and part of which is "written". Part of the common law contract is
2434 that a module doesn't pollute any namespace it wasn't asked to. The
2435 written contract for the module (A.K.A. documentation) may make other
2436 provisions. But then you know when you C<use RedefineTheWorld> that
2437 you're redefining the world and willing to take the consequences.