This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Real patch from SADAHIRO Tomoyuki to remove the HZ tests.
[perl5.git] / pod / perlmodlib.PL
index a594d72..9a62369 100644 (file)
@@ -1,41 +1,56 @@
 #!../miniperl
 
+$ENV{LC_ALL} = 'C';
+
 open (OUT, ">perlmodlib.tmp") or die $!;
-my (@pragma, @mod);
+my (@pragma, @mod, @MANIFEST);
 open (MANIFEST, "../MANIFEST") or die $!;
 
 while (<MANIFEST>) {
      my $filename;
      next unless s|^lib/|| or m|^ext/|;
-     ($filename) = /(\S+)/;
+     ($filename) = m|^(\S+)|;
      $filename =~ s|^[^/]+/|| if $filename =~ s|^ext/||;
-     next unless $filename =~ /\.pm$/;
+     next unless $filename =~ m!\.p(m|od)$!;
      next unless open (MOD, "../lib/$filename");
+
+
      my ($name, $thing);
      my $foundit=0;
-     {local $/="";
-     while (<MOD>) {
-          next unless /^=head1 NAME/;
-          $foundit++;
-          last;
+     {
+        local $/="";
+        while (<MOD>) {
+            next unless /^=head1 NAME/;
+            $foundit++;
+            last;
+        }
      }
+     unless ($foundit) {
+        warn "$filename missing =head1 NAME (okay if there is respective .pod)\n";
+        next;
      }
-     next unless $foundit;
      my $title = <MOD>;
      chomp($title);
      close MOD;
 
      my $perlname = $filename;
-     $perlname =~ s|\.pm$||;
-     $perlname =~ s|/|::|g;
+     $perlname =~ s!\.p(m|od)$!!;
+     $perlname =~ s!/!::!g;
+
+     ($name, $thing) = split / --? /, $title, 2;
+
+     unless ($name and $thing) {
+        warn "$filename missing name\n"  unless $name;
+        warn "$filename missing thing\n" unless $thing;
+        next;
+     }
+
 
-     ($name, $thing) = split / - /, $title,2;
-     next unless $name and $thing;
-     $thing=~s/^perl pragma to //i;
-     $thing=ucfirst($thing);
+     $thing =~ s/^perl pragma to //i;
+     $thing = ucfirst($thing);
      $title = "=item $perlname\n\n$thing\n\n";
 
-     if ($filename=~/[A-Z]/) {
+     if ($filename =~ /[A-Z]/) {
           push @mod, $title;
      } else {
           push @pragma, $title;
@@ -43,6 +58,9 @@ while (<MANIFEST>) {
 }
 
 print OUT <<'EOF';
+=for maintainers
+Generated by perlmodlib.PL -- DO NOT EDIT!
+
 =head1 NAME
 
 perlmodlib - constructing new Perl modules and finding existing ones
@@ -115,7 +133,7 @@ print OUT <<'EOF';
 
 To find out I<all> modules installed on your system, including
 those without documentation or outside the standard release,
-jus tdo this:
+jusdo this:
 
     % find `perl -e 'print "@INC"'` -name '*.pm' -print
 
@@ -131,7 +149,7 @@ system B<man> command, you might try the B<perldoc> program.
 
 Extension modules are written in C (or a mix of Perl and C).  They
 are usually dynamically loaded into Perl if and when you need them,
-but may also be be linked in statically.  Supported extension modules
+but may also be linked in statically.  Supported extension modules
 include Socket, Fcntl, and POSIX.
 
 Many popular C extension modules do not come bundled (at least, not
@@ -147,8 +165,7 @@ CPAN stands for Comprehensive Perl Archive Network; it's a globally
 replicated trove of Perl materials, including documentation, style
 guides, tricks and traps, alternate ports to non-Unix systems and
 occasional binary distributions for these.   Search engines for
-CPAN can be found at http://cpan.perl.com/ and at
-http://theory.uwinnipeg.ca/mod_perl/cpan-search.pl .
+CPAN can be found at http://www.cpan.org/.
 
 Most importantly, CPAN includes around a thousand unbundled modules,
 some of which require a C compiler to build.  Major categories of
@@ -157,66 +174,87 @@ modules are:
 =over
 
 =item *
+
 Language Extensions and Documentation Tools
 
 =item *
+
 Development Support
 
 =item *
+
 Operating System Interfaces
 
 =item *
+
 Networking, Device Control (modems) and InterProcess Communication
 
 =item *
+
 Data Types and Data Type Utilities
 
 =item *
+
 Database Interfaces
 
 =item *
+
 User Interfaces
 
 =item *
+
 Interfaces to / Emulations of Other Programming Languages
 
 =item *
+
 File Names, File Systems and File Locking (see also File Handles)
 
 =item *
+
 String Processing, Language Text Processing, Parsing, and Searching
 
 =item *
+
 Option, Argument, Parameter, and Configuration File Processing
 
 =item *
+
 Internationalization and Locale
 
 =item *
+
 Authentication, Security, and Encryption
 
 =item *
+
 World Wide Web, HTML, HTTP, CGI, MIME
 
 =item *
+
 Server and Daemon Utilities
 
 =item *
+
 Archiving and Compression
 
 =item *
+
 Images, Pixmap and Bitmap Manipulation, Drawing, and Graphing
 
 =item *
+
 Mail and Usenet News
 
 =item *
+
 Control Flow Utilities (callbacks and exceptions etc)
 
 =item *
+
 File Handle and Input/Output Stream Utilities
 
 =item *
+
 Miscellaneous Modules
 
 =back
@@ -224,176 +262,729 @@ Miscellaneous Modules
 Registered CPAN sites as of this writing include the following.
 You should try to choose one close to you:
 
-=over
+=head2 Africa
+
+=over 4
+
+=item *
+
+South Africa
+
+    ftp://ftp.is.co.za/programming/perl/CPAN/
+    ftp://ftp.mweb.co.za/pub/mirrors/cpan/
+    ftp://ftp.saix.net/pub/CPAN/
+    ftp://ftp.sun.ac.za/CPAN/
+
+=back
+
+=head2 Asia
+
+=over 4
+
+=item *
+
+China
+
+    ftp://freesoft.cei.gov.cn/pub/languages/perl/CPAN/
+    http://www2.linuxforum.net/mirror/CPAN/
+    http://CPAN.pacific.net.hk/
+    ftp://ftp.pacific.net.hk/pub/mirror/CPAN/
+    http://cpan.shellhung.org/
+    ftp://ftp.shellhung.org/pub/CPAN
+
+=item *
+
+India
+
+    http://cpan.in.freeos.com
+    ftp://cpan.in.freeos.com/pub/CPAN/
+
+=item *
+
+Indonesia
+
+    http://cpan.itb.web.id/
+    ftp://mirrors.piksi.itb.ac.id/CPAN/
+    http://CPAN.mweb.co.id/
+    ftp://ftp.mweb.co.id/pub/languages/perl/CPAN/
+
+=item *
+
+Israel
+
+    http://www.iglu.org.il:/pub/CPAN/
+    ftp://ftp.iglu.org.il/pub/CPAN/
+    http://cpan.lerner.co.il/
+    http://bioinfo.weizmann.ac.il/pub/software/perl/CPAN/
+    ftp://bioinfo.weizmann.ac.il/pub/software/perl/CPAN/
+
+=item *
+
+Japan
+
+    ftp://ftp.u-aizu.ac.jp/pub/CPAN
+    ftp://ftp.kddlabs.co.jp/CPAN/
+    http://mirror.nucba.ac.jp/mirror/Perl/
+    ftp://mirror.nucba.ac.jp/mirror/Perl/
+    ftp://ftp.meisei-u.ac.jp/pub/CPAN/
+    ftp://ftp.jaist.ac.jp/pub/lang/perl/CPAN/
+    ftp://ftp.dti.ad.jp/pub/lang/CPAN/
+    ftp://ftp.ring.gr.jp/pub/lang/perl/CPAN/
+
+=item *
+
+Korea
+
+    http://mirror.Mazic.org/pub/CPAN
+    ftp://mirror.Mazic.org/pub/CPAN
+
+=item *
+
+Philippines
+
+    http://www.adzu.edu.ph/CPAN
+
+=item *
+
+Russian Federation
+
+    http://cpan.tomsk.ru
+    ftp://cpan.tomsk.ru/pub/CPAN
+
+=item *
+
+Saudi Arabia
+
+    ftp://ftp.isu.net.sa/pub/CPAN/
+
+=item *
+
+Singapore
+
+    http://cpan.hjc.edu.sg
+
+=item *
+
+South Korea
+
+    http://CPAN.bora.net/
+    ftp://ftp.bora.net/pub/CPAN/
+    http://ftp.kornet.net/pub/CPAN/
+    ftp://ftp.kornet.net/pub/CPAN/
+    ftp://ftp.nuri.net/pub/CPAN/
+
+=item *
+
+Taiwan
+
+    ftp://coda.nctu.edu.tw/UNIX/perl/CPAN
+    ftp://ftp.ee.ncku.edu.tw/pub/perl/CPAN/
+    ftp://ftp1.sinica.edu.tw/pub1/perl/CPAN/
+    http://ftp.tku.edu.tw/pub/CPAN/
+    ftp://ftp.tku.edu.tw/pub/CPAN/
+
+=item *
+
+Thailand
+
+    http://download.nectec.or.th/CPAN/
+    ftp://ftp.nectec.or.th/pub/languages/CPAN/
+    ftp://ftp.cs.riubon.ac.th/pub/mirrors/CPAN/
+
+=back
+
+=head2 Central America
+
+=over 4
+
+=item *
+
+Costa Rica
+
+    ftp://ftp.linux.co.cr/mirrors/CPAN/
+    http://ftp.ucr.ac.cr/Unix/CPAN/
+    ftp://ftp.ucr.ac.cr/pub/Unix/CPAN/
+
+=back
+
+=head2 Europe
+
+=over 4
+
+=item *
+
+Austria
+
+    ftp://ftp.tuwien.ac.at/pub/CPAN/
+
+=item *
+
+Belgium
+
+    http://ftp.easynet.be/pub/CPAN/
+    ftp://ftp.easynet.be/pub/CPAN/
+    http://cpan.skynet.be
+    ftp://ftp.skynet.be/pub/CPAN
+    ftp://ftp.kulnet.kuleuven.ac.be/pub/mirror/CPAN/
+
+=item *
+
+Bulgaria
+
+    ftp://ftp.ntrl.net/pub/mirrors/CPAN/
+
+=item *
+
+Croatia
+
+    ftp://ftp.linux.hr/pub/CPAN/
+
+=item *
+
+Czech Republic
+
+    http://ftp.fi.muni.cz/pub/CPAN/
+    ftp://ftp.fi.muni.cz/pub/CPAN/
+    ftp://sunsite.mff.cuni.cz/MIRRORS/ftp.funet.fi/pub/languages/perl/CPAN/
+
+=item *
+
+Denmark
+
+    http://mirrors.sunsite.dk/cpan/
+    ftp://sunsite.dk/mirrors/cpan/
+    http://www.cpan.dk/CPAN/
+    ftp://www.cpan.dk/ftp.cpan.org/CPAN/
+
+=item *
+
+England
+
+    http://www.mirror.ac.uk/sites/ftp.funet.fi/pub/languages/perl/CPAN
+    ftp://ftp.mirror.ac.uk/sites/ftp.funet.fi/pub/languages/perl/CPAN/
+    http://cpan.crazygreek.co.uk
+    ftp://ftp.demon.co.uk/pub/CPAN/
+    ftp://ftp.flirble.org/pub/languages/perl/CPAN/
+    ftp://ftp.plig.org/pub/CPAN/
+    ftp://sunsite.doc.ic.ac.uk/packages/CPAN/
+    http://mirror.uklinux.net/CPAN/
+    ftp://mirror.uklinux.net/pub/CPAN/
+    ftp://usit.shef.ac.uk/pub/packages/CPAN/
+
+=item *
+
+Estonia
+
+    ftp://ftp.ut.ee/pub/languages/perl/CPAN/
+
+=item *
+
+Finland
+
+    ftp://ftp.funet.fi/pub/languages/perl/CPAN/
+    http://cpan.kpnqwest.fi/
+
+=item *
+
+France
+
+    ftp://cpan.ftp.worldonline.fr/pub/CPAN/
+    http://cpan.mirrors.easynet.fr/
+    ftp://cpan.mirrors.easynet.fr/pub/ftp.cpan.org/
+    ftp://ftp.club-internet.fr/pub/perl/CPAN/
+    http://fr.cpan.org/
+    ftp://ftp.lip6.fr/pub/perl/CPAN/
+    ftp://ftp.oleane.net/pub/mirrors/CPAN/
+    ftp://ftp.pasteur.fr/pub/computing/CPAN/
+    http://cpan.cict.fr/
+    ftp://cpan.cict.fr/pub/CPAN/
+    ftp://ftp.uvsq.fr/pub/perl/CPAN/
+
+=item *
+
+Germany
+
+    ftp://ftp.rz.ruhr-uni-bochum.de/pub/CPAN/
+    ftp://ftp.freenet.de/pub/ftp.cpan.org/pub/CPAN/
+    ftp://ftp.uni-erlangen.de/pub/source/CPAN/
+    ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/CPAN
+    ftp://ftp.gigabell.net/pub/CPAN/
+    http://ftp.gwdg.de/pub/languages/perl/CPAN/
+    ftp://ftp.gwdg.de/pub/languages/perl/CPAN/
+    ftp://ftp.uni-hamburg.de/pub/soft/lang/perl/CPAN/
+    ftp://ftp.leo.org/pub/CPAN/
+    http://cpan.noris.de/
+    ftp://cpan.noris.de/pub/CPAN/
+    ftp://ftp.mpi-sb.mpg.de/pub/perl/CPAN/
+    ftp://ftp.gmd.de/mirrors/CPAN/
+
+=item *
+
+Greece
+
+    ftp://ftp.forthnet.gr/pub/languages/perl/CPAN
+    ftp://ftp.ntua.gr/pub/lang/perl/
+
+=item *
+
+Hungary
+
+    http://cpan.artifact.hu/
+    ftp://cpan.artifact.hu/CPAN/
+    http://ftp.kfki.hu/pub/CPAN/
+    ftp://ftp.kfki.hu/pub/CPAN/
+
+=item *
+
+Iceland
+
+    http://ftp.rhnet.is/pub/CPAN/
+    ftp://ftp.rhnet.is/pub/CPAN/
+
+=item *
+
+Ireland
+
+    http://cpan.indigo.ie/
+    ftp://cpan.indigo.ie/pub/CPAN/
+    http://sunsite.compapp.dcu.ie/pub/perl/
+    ftp://sunsite.compapp.dcu.ie/pub/perl/
+
+=item *
+
+Italy
+
+    http://cpan.nettuno.it/
+    http://gusp.dyndns.org/CPAN/
+    ftp://gusp.dyndns.org/pub/CPAN
+    http://softcity.iol.it/cpan
+    ftp://softcity.iol.it/pub/cpan
+    ftp://ftp.unina.it/pub/Other/CPAN/
+    ftp://ftp.unipi.it/pub/mirror/perl/CPAN/
+    ftp://cis.uniRoma2.it/CPAN/
+    ftp://ftp.edisontel.it/pub/CPAN_Mirror/
+    ftp://ftp.flashnet.it/pub/CPAN/
+
+=item *
+
+Latvia
+
+    http://kvin.lv/pub/CPAN/
+
+=item *
+
+Lithuania
+
+    ftp://ftp.unix.lt/pub/CPAN/
+
+=item *
+
+Netherlands
+
+    ftp://download.xs4all.nl/pub/mirror/CPAN/
+    ftp://ftp.nl.uu.net/pub/CPAN/
+    ftp://ftp.nluug.nl/pub/languages/perl/CPAN/
+    http://cpan.cybercomm.nl/
+    ftp://mirror.cybercomm.nl/pub/cpan/
+    ftp://ftp.cpan.nl/pub/CPAN/
+    http://www.cs.uu.nl/mirror/CPAN/
+    ftp://ftp.cs.uu.nl/mirror/CPAN/
+
+=item *
+
+Norway
+
+    ftp://ftp.uninett.no/pub/languages/perl/CPAN
+    ftp://ftp.uit.no/pub/languages/perl/cpan/
+
+=item *
+
+Poland
+
+    ftp://ftp.pk.edu.pl/pub/lang/perl/CPAN/
+    http://www.fic.uni.lodz.pl/pub/CPAN
+    ftp://ftp.fic.uni.lodz.pl/pub/CPAN
+    ftp://ftp.mega.net.pl/pub/mirrors/ftp.perl.com/
+    ftp://ftp.man.torun.pl/pub/doc/CPAN/
+    ftp://sunsite.icm.edu.pl/pub/CPAN/
+
+=item *
+
+Portugal
+
+    ftp://ftp.ua.pt/pub/CPAN/
+    ftp://perl.di.uminho.pt/pub/CPAN/
+    http://cpan.ip.pt/
+    ftp://cpan.ip.pt/pub/perl/
+    ftp://ftp.ist.utl.pt/pub/CPAN/
+    http://cpan.ip.pt/
+    ftp://cpan.ip.pt/pub/cpan/
+    ftp://ftp.netc.pt/pub/CPAN/
+    ftp://ftp.up.pt/pub/CPAN
+
+=item *
+
+Romania
+
+    ftp://archive.logicnet.ro/mirrors/ftp.cpan.org/CPAN/
+    ftp://ftp.kappa.ro/pub/mirrors/ftp.perl.org/pub/CPAN/
+    ftp://ftp.dntis.ro/pub/cpan/
+    ftp://ftp.opsynet.com/cpan/
+    ftp://ftp.dnttm.ro/pub/CPAN/
+    ftp://ftp.lasting.ro/pub/CPAN
+    ftp://ftp.timisoara.roedu.net/mirrors/CPAN/
+
+=item *
+
+Russia
+
+    ftp://ftp.chg.ru/pub/lang/perl/CPAN/
+    http://cpan.rinet.ru/
+    ftp://cpan.rinet.ru/pub/mirror/CPAN/
+    ftp://ftp.aha.ru/pub/CPAN/
+    http://cpan.sai.msu.ru/
+    ftp://ftp.sai.msu.su/pub/lang/perl/CPAN/
+
+=item *
+
+Slovakia
+
+    ftp://ftp.entry.sk/pub/languages/perl/CPAN/
+
+=item *
+
+Slovenia
+
+    ftp://ftp.arnes.si/software/perl/CPAN/
 
-=item Africa
-
-    South Africa   ftp://ftp.is.co.za/programming/perl/CPAN/
-                   ftp://ftp.saix.net/pub/CPAN/
-                   ftp://ftp.sun.ac.za/CPAN/
-                   ftp://ftpza.co.za/pub/mirrors/cpan/
-
-
-=item Asia
-
-    China          ftp://freesoft.cei.gov.cn/pub/languages/perl/CPAN/
-    Hong Kong      ftp://ftp.pacific.net.hk/pub/mirror/CPAN/
-    Indonesia      ftp://malone.piksi.itb.ac.id/pub/CPAN/
-    Israel         ftp://bioinfo.weizmann.ac.il/pub/software/perl/CPAN/
-    Japan          ftp://ftp.dti.ad.jp/pub/lang/CPAN/
-                   ftp://ftp.jaist.ac.jp/pub/lang/perl/CPAN/
-                   ftp://ftp.lab.kdd.co.jp/lang/perl/CPAN/
-                   ftp://ftp.meisei-u.ac.jp/pub/CPAN/
-                   ftp://ftp.ring.gr.jp/pub/lang/perl/CPAN/
-                   ftp://mirror.nucba.ac.jp/mirror/Perl/
-    Saudi-Arabia   ftp://ftp.isu.net.sa/pub/CPAN/
-    Singapore      ftp://ftp.nus.edu.sg/pub/unix/perl/CPAN/
-    South Korea    ftp://ftp.bora.net/pub/CPAN/
-                   ftp://ftp.kornet.net/pub/CPAN/
-                   ftp://ftp.nuri.net/pub/CPAN/
-    Taiwan         ftp://coda.nctu.edu.tw/computer-languages/perl/CPAN/
-                   ftp://ftp.ee.ncku.edu.tw/pub3/perl/CPAN/
-                   ftp://ftp1.sinica.edu.tw/pub1/perl/CPAN/
-    Thailand       ftp://ftp.nectec.or.th/pub/mirrors/CPAN/
-
-
-=item Australasia
-
-    Australia      ftp://cpan.topend.com.au/pub/CPAN/
-                   ftp://ftp.labyrinth.net.au/pub/perl-CPAN/
-                   ftp://ftp.sage-au.org.au/pub/compilers/perl/CPAN/
-                   ftp://mirror.aarnet.edu.au/pub/perl/CPAN/
-    New Zealand    ftp://ftp.auckland.ac.nz/pub/perl/CPAN/
-                   ftp://sunsite.net.nz/pub/languages/perl/CPAN/
-
-
-=item Central America
-
-    Costa Rica     ftp://ftp.ucr.ac.cr/pub/Unix/CPAN/
-
-
-=item Europe
-
-    Austria        ftp://ftp.tuwien.ac.at/pub/languages/perl/CPAN/
-    Belgium        ftp://ftp.kulnet.kuleuven.ac.be/pub/mirror/CPAN/
-    Bulgaria       ftp://ftp.ntrl.net/pub/mirrors/CPAN/
-    Croatia        ftp://ftp.linux.hr/pub/CPAN/
-    Czech Republic ftp://ftp.fi.muni.cz/pub/perl/
-                   ftp://sunsite.mff.cuni.cz/Languages/Perl/CPAN/
-    Denmark        ftp://sunsite.auc.dk/pub/languages/perl/CPAN/
-    Estonia        ftp://ftp.ut.ee/pub/languages/perl/CPAN/
-    Finland        ftp://ftp.funet.fi/pub/languages/perl/CPAN/
-    France         ftp://ftp.grolier.fr/pub/perl/CPAN/
-                   ftp://ftp.lip6.fr/pub/perl/CPAN/
-                   ftp://ftp.oleane.net/pub/mirrors/CPAN/
-                   ftp://ftp.pasteur.fr/pub/computing/CPAN/
-                   ftp://ftp.uvsq.fr/pub/perl/CPAN/
-    German         ftp://ftp.gigabell.net/pub/CPAN/
-    Germany        ftp://ftp.archive.de.uu.net/pub/CPAN/
-                   ftp://ftp.freenet.de/pub/ftp.cpan.org/pub/
-                   ftp://ftp.gmd.de/packages/CPAN/
-                   ftp://ftp.gwdg.de/pub/languages/perl/CPAN/
-
-ftp://ftp.leo.org/pub/comp/general/programming/languages/script/perl/CPAN/
-                   ftp://ftp.mpi-sb.mpg.de/pub/perl/CPAN/
-                   ftp://ftp.rz.ruhr-uni-bochum.de/pub/CPAN/
-                   ftp://ftp.uni-erlangen.de/pub/source/CPAN/
-                   ftp://ftp.uni-hamburg.de/pub/soft/lang/perl/CPAN/
-    Germany        ftp://ftp.archive.de.uu.net/pub/CPAN/
-                   ftp://ftp.freenet.de/pub/ftp.cpan.org/pub/
-                   ftp://ftp.gmd.de/packages/CPAN/
-                   ftp://ftp.gwdg.de/pub/languages/perl/CPAN/
-
-ftp://ftp.leo.org/pub/comp/general/programming/languages/script/perl/CPAN/
-                   ftp://ftp.mpi-sb.mpg.de/pub/perl/CPAN/
-                   ftp://ftp.rz.ruhr-uni-bochum.de/pub/CPAN/
-                   ftp://ftp.uni-erlangen.de/pub/source/CPAN/
-                   ftp://ftp.uni-hamburg.de/pub/soft/lang/perl/CPAN/
-    Greece         ftp://ftp.ntua.gr/pub/lang/perl/
-    Hungary        ftp://ftp.kfki.hu/pub/packages/perl/CPAN/
-    Iceland        ftp://ftp.gm.is/pub/CPAN/
-    Ireland        ftp://cpan.indigo.ie/pub/CPAN/
-                   ftp://sunsite.compapp.dcu.ie/pub/perl/
-    Italy          ftp://cis.uniRoma2.it/CPAN/
-                   ftp://ftp.flashnet.it/pub/CPAN/
-                   ftp://ftp.unina.it/pub/Other/CPAN/
-                   ftp://ftp.unipi.it/pub/mirror/perl/CPAN/
-    Netherlands    ftp://ftp.cs.uu.nl/mirror/CPAN/
-                   ftp://ftp.nluug.nl/pub/languages/perl/CPAN/
-    Norway         ftp://ftp.uit.no/pub/languages/perl/cpan/
-                   ftp://sunsite.uio.no/pub/languages/perl/CPAN/
-    Poland         ftp://ftp.man.torun.pl/pub/CPAN/
-                   ftp://ftp.pk.edu.pl/pub/lang/perl/CPAN/
-                   ftp://sunsite.icm.edu.pl/pub/CPAN/
-    Portugal       ftp://ftp.ci.uminho.pt/pub/mirrors/cpan/
-                   ftp://ftp.ist.utl.pt/pub/CPAN/
-                   ftp://ftp.ua.pt/pub/CPAN/
-    Romania        ftp://ftp.dnttm.ro/pub/CPAN/
-    Russia         ftp://ftp.chg.ru/pub/lang/perl/CPAN/
-                   ftp://ftp.sai.msu.su/pub/lang/perl/CPAN/
-    Slovakia       ftp://ftp.entry.sk/pub/languages/perl/CPAN/
-    Slovenia       ftp://ftp.arnes.si/software/perl/CPAN/
-    Spain          ftp://ftp.etse.urv.es/pub/perl/
-                   ftp://ftp.rediris.es/mirror/CPAN/
-    Sweden         ftp://ftp.sunet.se/pub/lang/perl/CPAN/
-    Switzerland    ftp://sunsite.cnlab-switch.ch/mirror/CPAN/
-    Turkey         ftp://sunsite.bilkent.edu.tr/pub/languages/CPAN/
-    United Kingdom ftp://ftp.demon.co.uk/pub/mirrors/perl/CPAN/
-                   ftp://ftp.flirble.org/pub/languages/perl/CPAN/
-
-ftp://ftp.mirror.ac.uk/sites/ftp.funet.fi/pub/languages/perl/CPAN/
-                   ftp://ftp.plig.org/pub/CPAN/
-                   ftp://sunsite.doc.ic.ac.uk/packages/CPAN/
-
-
-=item North America
-
-    Alberta        ftp://sunsite.ualberta.ca/pub/Mirror/CPAN/
-    California     ftp://cpan.nas.nasa.gov/pub/perl/CPAN/
-                   ftp://cpan.valueclick.com/CPAN/
-                   ftp://ftp.cdrom.com/pub/perl/CPAN/
-                   http://download.sourceforge.net/mirrors/CPAN/
-    Colorado       ftp://ftp.cs.colorado.edu/pub/perl/CPAN/
-    Florida        ftp://ftp.cise.ufl.edu/pub/perl/CPAN/
-    Georgia        ftp://ftp.twoguys.org/CPAN/
-    Illinois       ftp://uiarchive.uiuc.edu/pub/lang/perl/CPAN/
-    Indiana        ftp://csociety-ftp.ecn.purdue.edu/pub/CPAN/
-                   ftp://ftp.uwsg.indiana.edu/pub/perl/CPAN/
-    Kentucky       ftp://ftp.uky.edu/CPAN/
-    Manitoba       ftp://theoryx5.uwinnipeg.ca/pub/CPAN/
-    Massachusetts
-ftp://ftp.ccs.neu.edu/net/mirrors/ftp.funet.fi/pub/languages/perl/CPAN/
-                   ftp://ftp.iguide.com/pub/mirrors/packages/perl/CPAN/
-    Mexico         ftp://ftp.msg.com.mx/pub/CPAN/
-    New York       ftp://ftp.deao.net/pub/CPAN/
-                   ftp://ftp.rge.com/pub/languages/perl/
-    North Carolina ftp://ftp.duke.edu/pub/perl/
-    Nova Scotia    ftp://cpan.chebucto.ns.ca/pub/CPAN/
-    Oklahoma       ftp://ftp.ou.edu/mirrors/CPAN/
-    Ontario        ftp://ftp.crc.ca/pub/packages/lang/perl/CPAN/
-    Oregon         ftp://ftp.orst.edu/pub/packages/CPAN/
-    Pennsylvania   ftp://ftp.epix.net/pub/languages/perl/
-    Tennessee      ftp://ftp.sunsite.utk.edu/pub/CPAN/
-    Texas          ftp://ftp.sedl.org/pub/mirrors/CPAN/
-                   ftp://jhcloos.com/pub/mirror/CPAN/
-    Utah           ftp://mirror.xmission.com/CPAN/
-    Virginia       ftp://ftp.perl.org/pub/perl/CPAN/
-                   ftp://ruff.cs.jmu.edu/pub/CPAN/
-    Washington     ftp://ftp-mirror.internap.com/pub/CPAN/
-                   ftp://ftp.llarian.net/pub/CPAN/
-                   ftp://ftp.spu.edu/pub/CPAN/
-
-
-=item South America
-
-    Brazil         ftp://cpan.if.usp.br/pub/mirror/CPAN/
-                   ftp://ftp.matrix.com.br/pub/perl/
-    Chile          ftp://sunsite.dcc.uchile.cl/pub/Lang/PERL/
+=item *
+
+Spain
+
+    ftp://ftp.rediris.es/mirror/CPAN/
+    ftp://ftp.etse.urv.es/pub/perl/
+
+=item *
+
+Sweden
+
+    http://ftp.du.se/CPAN/
+    ftp://ftp.du.se/pub/CPAN/
+    ftp://mirror.dataphone.se/pub/CPAN
+    ftp://ftp.sunet.se/pub/lang/perl/CPAN/
+
+=item *
+
+Switzerland
+
+    ftp://ftp.danyk.ch/CPAN/
+    ftp://sunsite.cnlab-switch.ch/mirror/CPAN/
+
+=item *
+
+Turkey
+
+    ftp://sunsite.bilkent.edu.tr/pub/languages/CPAN/
+
+=item *
+
+Ukraine
+
+    http://cpan.org.ua/
+    ftp://cpan.org.ua/
+    ftp://ftp.perl.org.ua/pub/CPAN/
+
+=back
+
+=head2 North America
+
+=over 4
+
+=item *
+
+Canada
+
+=over 8
+
+=item *
+
+Alberta
+
+    http://sunsite.ualberta.ca/pub/Mirror/CPAN/
+    ftp://sunsite.ualberta.ca/pub/Mirror/CPAN/
+
+=item *
+
+Manitoba
+
+    http://theoryx5.uwinnipeg.ca/pub/CPAN/
+    ftp://theoryx5.uwinnipeg.ca/pub/CPAN/
+
+=item *
+
+Nova Scotia
+
+    ftp://cpan.chebucto.ns.ca/pub/CPAN/
+
+=item *
+
+Ontario
+
+    ftp://ftp.crc.ca/pub/CPAN/
+
+=item *
+
+Quebec
+
+    http://cpan.mirror.smartworker.org/
+    ftp://cpan.mirror.smartworker.org/pub/CPAN
+
+=back
+
+=item *
+
+Mexico
+
+    http://cpan.azc.uam.mx
+    ftp://cpan.azc.uam.mx/mirrors/CPAN
+    http://cpan.unam.mx/
+    ftp://cpan.unam.mx/pub/CPAN
+    http://www.msg.com.mx/CPAN/
+    ftp://ftp.msg.com.mx/pub/CPAN/
+
+=item *
+
+United States
+
+=over 8
+
+=item *
+
+Alabama
+
+    http://mirror.hiwaay.net/CPAN/
+    ftp://mirror.hiwaay.net/CPAN/
+
+=item *
+
+California
+
+    http://www.cpan.org/
+    ftp://cpan.valueclick.com/pub/CPAN/
+    http://mirrors.gossamer-threads.com/CPAN
+    ftp://cpan.nas.nasa.gov/pub/perl/CPAN/
+    ftp://ftp.digital.com/pub/plan/perl/CPAN/
+    http://mirrors.kernel.org/cpan/
+    ftp://mirrors.kernel.org/pub/CPAN
+    http://cpan.digisle.net/
+    ftp://cpan.digisle.net/pub/CPAN
+    http://www.linuxjar.com/CPAN
+    ftp://linuxjar.com/pub/CPAN
+    http://www.perl.com/CPAN/
+    http://download.sourceforge.net/mirrors/CPAN/
+
+=item *
+
+Colorado
+
+    ftp://ftp.cs.colorado.edu/pub/perl/CPAN/
+
+=item *
+
+District of Columbia
+
+    ftp://ftp.dc.us.telia.net/pub/cpan/
+
+=item *
+
+Florida
+
+    ftp://ftp.cise.ufl.edu/pub/mirrors/CPAN/
+    http://mirror.csit.fsu.edu/pub/CPAN/
+    ftp://mirror.csit.fsu.edu/pub/CPAN/
+
+=item *
+
+Illinois
+
+    http://uiarchive.uiuc.edu/mirrors/ftp/cpan.cse.msu.edu/
+    ftp://uiarchive.uiuc.edu/mirrors/ftp/cpan.cse.msu.edu/
+
+=item *
+
+Indiana
+
+    ftp://ftp.uwsg.indiana.edu/pub/perl/CPAN/
+    http://cpan.nitco.com/
+    ftp://cpan.nitco.com/pub/CPAN/
+    http://archive.progeny.com/CPAN/
+    ftp://archive.progeny.com/CPAN/
+    ftp://cpan.in-span.net/
+    http://csociety-ftp.ecn.purdue.edu/pub/CPAN
+    ftp://csociety-ftp.ecn.purdue.edu/pub/CPAN
+
+=item *
+
+Kentucky
+
+    http://cpan.uky.edu/
+    ftp://cpan.uky.edu/pub/CPAN/
+
+=item *
+
+Massachusetts
+
+    ftp://ftp.ccs.neu.edu/net/mirrors/ftp.funet.fi/pub/languages/perl/CPAN/
+    http://cpan.mirrors.netnumina.com/
+    ftp://mirrors.netnumina.com/cpan/
+    ftp://ftp.iguide.com/pub/mirrors/packages/perl/CPAN/
+
+=item *
+
+Michigan
+
+    ftp://cpan.cse.msu.edu/
+
+=item *
+
+New Jersey
+
+    ftp://ftp.cpanel.net/pub/CPAN/
+
+=item *
+
+New York
+
+    ftp://ftp.freesoftware.com/pub/perl/CPAN/
+    ftp://ftp.stealth.net/pub/CPAN/
+    http://www.rge.com/pub/languages/perl/
+    ftp://ftp.rge.com/pub/languages/perl/
+    ftp://mirrors.cloud9.net/pub/mirrors/CPAN/
+
+=item *
+
+North Carolina
+
+    ftp://ftp.duke.edu/pub/perl/
+
+=item *
+
+Ohio
+
+    ftp://ftp.loaded.net/pub/CPAN/
+
+=item *
+
+Oklahoma
+
+    ftp://ftp.ou.edu/mirrors/CPAN/
+
+=item *
+
+Oregon
+
+    ftp://ftp.orst.edu/pub/CPAN
+
+=item *
+
+Pennsylvania
+
+    http://ftp.epix.net/CPAN/
+    ftp://ftp.epix.net/pub/languages/perl/
+    http://mirrors.phenominet.com/pub/CPAN/
+    ftp://mirrors.phenominet.com/pub/CPAN/
+    ftp://carroll.cac.psu.edu/pub/CPAN/
+
+=item *
+
+Tennessee
+
+    ftp://ftp.sunsite.utk.edu/pub/CPAN/
+
+=item *
+
+Texas
+
+    http://ftp.sedl.org/pub/mirrors/CPAN/
+
+=item *
+
+Utah
+
+    ftp://mirror.xmission.com/CPAN/
+
+=item *
+
+Virginia
+
+    http://mirrors.rcn.net/pub/lang/CPAN/
+    ftp://mirrors.rcn.net/pub/lang/CPAN/
+    ftp://ruff.cs.jmu.edu/pub/CPAN/
+    http://perl.Liquidation.com/CPAN/
+
+=item *
+
+Washington
+
+    http://cpan.llarian.net/
+    ftp://cpan.llarian.net/pub/CPAN/
+    http://cpan.mirrorcentral.com/
+    ftp://ftp.mirrorcentral.com/pub/CPAN/
+    ftp://ftp-mirror.internap.com/pub/CPAN/
 
 =back
 
+=back
+
+=head2 Oceania
+
+=over 4
+
+=item *
+
+Australia
+
+    http://ftp.planetmirror.com/pub/CPAN/
+    ftp://ftp.planetmirror.com/pub/CPAN/
+    ftp://mirror.aarnet.edu.au/pub/perl/CPAN/
+    ftp://cpan.topend.com.au/pub/CPAN/
+
+=item *
+
+New Zealand
+    ftp://ftp.auckland.ac.nz/pub/perl/CPAN/
+
+=back
+
+=head2 South America
+
+=over 4
+
+=item *
+
+Argentina
+
+    ftp://mirrors.bannerlandia.com.ar/mirrors/CPAN/
+
+=item *
+
+Brazil
+
+    ftp://cpan.pop-mg.com.br/pub/CPAN/
+    ftp://ftp.matrix.com.br/pub/perl/CPAN/
+
+=item *
+
+Chile
+
+    ftp://ftp.psinet.cl/pub/programming/perl/CPAN/
+    ftp://sunsite.dcc.uchile.cl/pub/lang/perl/
+
+=back
+
+
 For an up-to-date listing of CPAN sites,
-see http://www.perl.com/perl/CPAN/SITES or ftp://www.perl.com/CPAN/SITES .
+see http://www.cpan.org/SITES or ftp://www.cpan.org/SITES .
 
 =head1 Modules: Creation, Use, and Abuse
 
@@ -421,7 +1012,9 @@ the AUTOLOAD mechanism.
 
 =over 4
 
-=item Do similar modules already exist in some form?
+=item  *
+
+Do similar modules already exist in some form?
 
 If so, please try to reuse the existing modules either in whole or
 by inheriting useful features into a new class.  If this is not
@@ -435,7 +1028,9 @@ modules, please coordinate with the author of the package.  It
 helps if you follow the same naming scheme and module interaction
 scheme as the original author.
 
-=item Try to design the new module to be easy to extend and reuse.
+=item  *
+
+Try to design the new module to be easy to extend and reuse.
 
 Try to C<use warnings;> (or C<use warnings qw(...);>).
 Remember that you can add C<no warnings qw(...);> to individual blocks
@@ -500,7 +1095,9 @@ Follow the guidelines in the perlstyle(1) manual.
 
 Always use B<-w>.
 
-=item Some simple style guidelines
+=item  *
+
+Some simple style guidelines
 
 The perlstyle manual supplied with Perl has many helpful points.
 
@@ -532,7 +1129,9 @@ e.g., C<< $obj->as_string() >>.
 You can use a leading underscore to indicate that a variable or
 function should not be used outside the package that defined it.
 
-=item Select what to export.
+=item  *
+
+Select what to export.
 
 Do NOT export method names!
 
@@ -556,7 +1155,9 @@ As a general rule, if the module is trying to be object oriented
 then export nothing. If it's just a collection of functions then
 @EXPORT_OK anything but use @EXPORT with caution.
 
-=item Select a name for the module.
+=item  *
+
+Select a name for the module.
 
 This name should be as descriptive, accurate, and complete as
 possible.  Avoid any risk of ambiguity. Always try to use two or
@@ -580,11 +1181,19 @@ If adding a new module to a set, follow the original author's
 standards for naming modules and the interface to methods in
 those modules.
 
+If developing modules for private internal or project specific use,
+that will never be released to the public, then you should ensure
+that their names will not clash with any future public module. You
+can do this either by using the reserved Local::* category or by
+using a category name that includes an underscore like Foo_Corp::*.
+
 To be portable each component of a module name should be limited to
 11 characters. If it might be used on MS-DOS then try to ensure each is
 unique in the first 8 characters. Nested modules make this easier.
 
-=item Have you got it right?
+=item  *
+
+Have you got it right?
 
 How do you know that you've made the right decisions? Have you
 picked an interface design that will cause problems later? Have
@@ -603,7 +1212,9 @@ Don't worry about posting if you can't say when the module will be
 ready - just say so in the message. It might be worth inviting
 others to help you, they may be able to complete it for you!
 
-=item README and other Additional Files.
+=item  *
+
+README and other Additional Files.
 
 It's well known that software developers usually fully document the
 software they write. If, however, the world is in urgent need of
@@ -613,24 +1224,31 @@ documentation please at least provide a README file containing:
 =over 10
 
 =item *
+
 A description of the module/package/extension etc.
 
 =item *
+
 A copyright notice - see below.
 
 =item *
+
 Prerequisites - what else you may need to have.
 
 =item *
+
 How to build it - possible changes to Makefile.PL etc.
 
 =item *
+
 How to install it.
 
 =item *
+
 Recent changes in this release, especially incompatibilities
 
 =item *
+
 Changes / enhancements you plan to make in the future.
 
 =back
@@ -641,7 +1259,9 @@ Copying, ToDo etc.
 
 =over 4
 
-=item Adding a Copyright Notice.
+=item *
+
+Adding a Copyright Notice.
 
 How you choose to license your work is a personal decision.
 The general mechanism is to assert your Copyright and then make
@@ -662,7 +1282,9 @@ This statement should at least appear in the README file. You may
 also wish to include it in a Copying file and your source files.
 Remember to include the other words in addition to the Copyright.
 
-=item Give the module a version/issue/release number.
+=item  *
+
+Give the module a version/issue/release number.
 
 To be fully compatible with the Exporter and MakeMaker modules you
 should store your module's version number in a non-my package
@@ -676,7 +1298,9 @@ Use the number in announcements and archive file names when
 releasing the module (ModuleName-1.02.tar.Z).
 See perldoc ExtUtils::MakeMaker.pm for details.
 
-=item How to release and distribute a module.
+=item  *
+
+How to release and distribute a module.
 
 It's good idea to post an announcement of the availability of your
 module (or the module itself if small) to the comp.lang.perl.announce
@@ -699,8 +1323,8 @@ FTP Archives for Perl Modules:
 
 Follow the instructions and links on:
 
-   http://www.perl.com/CPAN/modules/00modlist.long.html
-   http://www.perl.com/CPAN/modules/04pause.html
+   http://www.cpan.org/modules/00modlist.long.html
+   http://www.cpan.org/modules/04pause.html
 
 or upload to one of these sites:
 
@@ -715,7 +1339,9 @@ CPAN!
 
 Please remember to send me an updated entry for the Module list!
 
-=item Take care when changing a released module.
+=item  *
+
+Take care when changing a released module.
 
 Always strive to remain compatible with previous released versions.
 Otherwise try to add a mechanism to revert to the
@@ -729,26 +1355,34 @@ old behavior if people rely on it.  Document incompatible changes.
 
 =over 4
 
-=item There is no requirement to convert anything.
+=item  *
+
+There is no requirement to convert anything.
 
 If it ain't broke, don't fix it! Perl 4 library scripts should
 continue to work with no problems. You may need to make some minor
 changes (like escaping non-array @'s in double quoted strings) but
 there is no need to convert a .pl file into a Module for just that.
 
-=item Consider the implications.
+=item  *
+
+Consider the implications.
 
 All Perl applications that make use of the script will need to
 be changed (slightly) if the script is converted into a module.  Is
 it worth it unless you plan to make other changes at the same time?
 
-=item Make the most of the opportunity.
+=item  *
+
+Make the most of the opportunity.
 
 If you are going to convert the script to a module you can use the
 opportunity to redesign the interface.  The guidelines for module
 creation above include many of the issues you should consider.
 
-=item The pl2pm utility will get you started.
+=item  *
+
+The pl2pm utility will get you started.
 
 This utility will read *.pl files (given as parameters) and write
 corresponding *.pm files. The pl2pm utilities does the following:
@@ -756,15 +1390,19 @@ corresponding *.pm files. The pl2pm utilities does the following:
 =over 10
 
 =item *
+
 Adds the standard Module prologue lines
 
 =item *
+
 Converts package specifiers from ' to ::
 
 =item *
+
 Converts die(...) to croak(...)
 
 =item *
+
 Several other minor changes
 
 =back
@@ -779,18 +1417,28 @@ Don't delete the original .pl file till the new .pm one works!
 
 =over 4
 
-=item Complete applications rarely belong in the Perl Module Library.
+=item  *
+
+Complete applications rarely belong in the Perl Module Library.
+
+=item  *
 
-=item Many applications contain some Perl code that could be reused.
+Many applications contain some Perl code that could be reused.
 
 Help save the world! Share your code in a form that makes it easy
 to reuse.
 
-=item Break-out the reusable code into one or more separate module files.
+=item  *
+
+Break-out the reusable code into one or more separate module files.
+
+=item  *
+
+Take the opportunity to reconsider and redesign the interfaces.
 
-=item Take the opportunity to reconsider and redesign the interfaces.
+=item  *
 
-=item In some cases the 'application' can then be reduced to a small
+In some cases the 'application' can then be reduced to a small
 
 fragment of code built on top of the reusable modules. In these cases
 the application could invoked as: