Add documentation for the method resolution plugin interface.
[p5sagit/p5-mst-13.2.git] / pod / perlmodlib.PL
index fd39e65..a013d26 100644 (file)
@@ -1,65 +1,92 @@
 #!../miniperl
 
+use strict;
+use warnings;
+
 $ENV{LC_ALL} = 'C';
 
-open (OUT, ">perlmodlib.tmp") or die $!;
-my (@pragma, @mod, @MANIFEST);
+use FindBin;
+chdir $FindBin::Bin or die "$0: Can't chdir $FindBin::Bin: $!";
+
+my $Quiet = @ARGV && $ARGV[0] eq '-q';
+
+open (OUT, ">perlmodlib.pod") or die $!;
+my (@pragma, @mod, @files);
+
+# MANIFEST itself is Unix style filenames, so we have to assume that Unix style
+# filenames will work.
 
 open (MANIFEST, "../MANIFEST") or die $!;
-@MANIFEST = grep !m</(?:t|demo)/>, <MANIFEST>;
-push @MANIFEST, 'lib/Config.pm', 'lib/Errno.pm';
-
-for (@MANIFEST) {
-     my $filename;
-     next unless s|^lib/|| or m|^ext/|;
-     ($filename) = m|^(\S+)|;
-     $filename =~ s|^[^/]+/|| if $filename =~ s|^ext/||;
-     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;
-        }
-     }
-     unless ($foundit) {
-        warn "$filename missing =head1 NAME (okay if there is respective .pod)\n";
-        next;
-     }
-     my $title = <MOD>;
-     chomp($title);
-     close MOD;
-
-     my $perlname = $filename;
-     $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;
-     }
-
-
-     $thing =~ s/^perl pragma to //i;
-     $thing = ucfirst($thing);
-     $title = "=item $perlname\n\n$thing\n\n";
-
-     if ($filename =~ /[A-Z]/) {
-          push @mod, $title;
-     } else {
-          push @pragma, $title;
-     }
+@files = grep m#(?:\.pm|\.pod|_pm\.PL)#, map {s/\s.*//s; $_}
+    grep {m#^lib# || m#^ext#} grep !m#/(?:t|demo)/#, <MANIFEST>;
+
+my %exceptions = (
+    'abbrev' => 'Text::Abbrev',
+    'carp' => 'Carp',
+    'getopt' => 'Getopt::Std',
+    'B<CGI::Carp>' => 'CGI::Carp',
+    'ModuleInfo' => 'Module::Build::ModuleInfo',
+    '$notes_name' => 'Module::Build::Notes',
+    'Encode::MIME::NAME' => 'Encode::MIME::Name',
+    'libnetFAQ' => 'Net::libnetFAQ',
+);
+
+for my $filename (@files) {
+    unless (open MOD, '<', "../$filename") {
+       warn "Couldn't open ../$filename: $!";
+       next;
+    }
+
+    my ($name, $thing);
+    my $foundit = 0;
+    {
+       local $/ = "";
+       while (<MOD>) {
+           next unless /^=head1 NAME/;
+           $foundit++;
+           last;
+       }
+    }
+    unless ($foundit) {
+       warn "$filename missing =head1 NAME (OK if respective .pod exists)\n"
+           unless $Quiet;
+       next;
+    }
+    my $title = <MOD>;
+    chomp $title;
+    close MOD;
+
+    ($name, $thing) = split / --? /, $title, 2;
+
+    unless ($name and $thing) {
+       warn "$filename missing name\n"  unless $name;
+       warn "$filename missing thing\n" unless $thing or $Quiet;
+       next;
+    }
+
+    $name =~ s/[^A-Za-z0-9_:\$<>].*//;
+    $name = $exceptions{$name} || $name;
+    $thing =~ s/^perl pragma to //i;
+    $thing = ucfirst $thing;
+    $title = "=item $name\n\n$thing\n\n";
+
+    if ($name =~ /[A-Z]/) {
+       push @mod, $title;
+    } else {
+       push @pragma, $title;
+    }
 }
 
+# Much easier to special case it like this than special case the depending on
+# and parsing lib/Config.pod, or special case opening configpm and finding its
+# =head1 (which is not found with the $/="" above)
+push @mod, <<'CONFIG';
+=item Config
+
+Access Perl configuration information
+
+CONFIG
+
 print OUT <<'EOF';
 =for maintainers
 Generated by perlmodlib.PL -- DO NOT EDIT!
@@ -68,13 +95,11 @@ Generated by perlmodlib.PL -- DO NOT EDIT!
 
 perlmodlib - constructing new Perl modules and finding existing ones
 
-=head1 DESCRIPTION
-
 =head1 THE PERL MODULE LIBRARY
 
-Many modules are included the Perl distribution.  These are described
+Many modules are included in the Perl distribution.  These are described
 below, and all end in F<.pm>.  You may discover compiled library
-file (usually ending in F<.so>) or small pieces of modules to be
+files (usually ending in F<.so>) or small pieces of modules to be
 autoloaded (ending in F<.al>); these were automatically generated
 by the installation process.  You may also discover files in the
 library directory that end in either F<.pl> or F<.ph>.  These are
@@ -125,6 +150,10 @@ Standard, bundled modules are all expected to behave in a well-defined
 manner with respect to namespace pollution because they use the
 Exporter module.  See their own documentation for details.
 
+It's possible that not all modules listed below are installed on your
+system. For example, the GDBM_File module will not be installed if you
+don't have the gdbm library.
+
 =over 12
 
 EOF
@@ -136,10 +165,14 @@ print OUT <<'EOF';
 
 To find out I<all> modules installed on your system, including
 those without documentation or outside the standard release,
-just do this:
+just use the following command (under the default win32 shell,
+double quotes should be used instead of single quotes).
 
-    % find `perl -e 'print "@INC"'` -name '*.pm' -print
+    % perl -MFile::Find=find -MFile::Spec::Functions -Tlwe \
+      'find { wanted => sub { print canonpath $_ if /\.pm\z/ },
+      no_chdir => 1 }, @INC'
 
+(The -T is here to prevent '.' from being listed in @INC.)
 They should all have their own documentation installed and accessible
 via your system man(1) command.  If you do not have a B<find>
 program, you can use the Perl B<find2perl> program instead, which
@@ -148,6 +181,11 @@ have a B<man> program but it doesn't find your modules, you'll have
 to fix your manpath.  See L<perl> for details.  If you have no
 system B<man> command, you might try the B<perldoc> program.
 
+Note also that the command C<perldoc perllocal> gives you a (possibly
+incomplete) list of the modules that have been further installed on
+your system. (The perllocal.pod file is updated by the standard MakeMaker
+install process.)
+
 =head2 Extension Modules
 
 Extension modules are written in C (or a mix of Perl and C).  They
@@ -160,7 +198,7 @@ completely) due to their sizes, volatility, or simply lack of time
 for adequate testing and configuration across the multitude of
 platforms on which Perl was beta-tested.  You are encouraged to
 look for them on CPAN (described below), or using web search engines
-like Alta Vista or Deja News.
+like Alta Vista or Google.
 
 =head1 CPAN
 
@@ -262,21 +300,35 @@ Miscellaneous Modules
 
 =back
 
-Registered CPAN sites as of this writing include the following.
-You should try to choose one close to you:
+The list of the registered CPAN sites as of this writing follows.
+Please note that the sorting order is alphabetical on fields:
+
+Continent
+   |
+   |-->Country
+         |
+         |-->[state/province]
+                   |
+                   |-->ftp
+                   |
+                   |-->[http]
+
+and thus the North American servers happen to be listed between the
+European and the South American sites.
+
+You should try to choose one close to you.
 
 =head2 Africa
 
 =over 4
 
-=item *
-
-South Africa
+=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/CPAN/
+                      http://ftp.rucus.ru.ac.za/pub/perl/CPAN/
+                      ftp://ftp.rucus.ru.ac.za/pub/perl/CPAN/
+                      ftp://ftp.is.co.za/programming/perl/CPAN/
+                      ftp://ftp.saix.net/pub/CPAN/
+                      ftp://ftp.sun.ac.za/CPAN/CPAN/
 
 =back
 
@@ -284,113 +336,83 @@ South Africa
 
 =over 4
 
-=item *
-
-China
-
-    ftp://freesoft.cei.gov.cn/pub/languages/perl/CPAN/
-    http://www2.linuxforum.net/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.ayamura.org/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 *
+=item China
 
-Korea
+                      http://cpan.linuxforum.net/
+                      http://cpan.shellhung.org/
+                      ftp://ftp.shellhung.org/pub/CPAN
+                      ftp://mirrors.hknet.com/CPAN
 
-    http://mirror.Mazic.org/pub/CPAN
-    ftp://mirror.Mazic.org/pub/CPAN
+=item Indonesia
 
-=item *
+                      http://mirrors.tf.itb.ac.id/cpan/
+                      http://cpan.cbn.net.id/
+                      ftp://ftp.cbn.net.id/mirror/CPAN
 
-Philippines
+=item Israel
 
-    http://www.adzu.edu.ph/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 *
+=item Japan
 
-Russian Federation
+                      ftp://ftp.u-aizu.ac.jp/pub/CPAN
+                      ftp://ftp.kddlabs.co.jp/CPAN/
+                      ftp://ftp.ayamura.org/pub/CPAN/
+                      ftp://ftp.jaist.ac.jp/pub/lang/perl/CPAN/
+                      http://ftp.cpan.jp/
+                      ftp://ftp.cpan.jp/CPAN/
+                      ftp://ftp.dti.ad.jp/pub/lang/CPAN/
+                      ftp://ftp.ring.gr.jp/pub/lang/perl/CPAN/
 
-    http://cpan.tomsk.ru
-    ftp://cpan.tomsk.ru/pub/CPAN
+=item Malaysia
 
-=item *
+                      http://cpan.MyBSD.org.my
+                      http://mirror.leafbug.org/pub/CPAN
+                      http://ossig.mncc.com.my/mirror/pub/CPAN
 
-Saudi Arabia
-
-    ftp://ftp.isu.net.sa/pub/CPAN/
-
-=item *
+=item Russian Federation
 
-Singapore
+                      http://cpan.tomsk.ru
+                      ftp://cpan.tomsk.ru/
 
-    http://cpan.hjc.edu.sg
+=item Saudi Arabia
 
-=item *
+                      ftp://ftp.isu.net.sa/pub/CPAN/
 
-South Korea
+=item Singapore
 
-    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/
-    http://ftp.xgate.co.kr/cpan/
-    ftp://ftp.xgate.co.kr/pub/mirror/CPAN
+                      http://CPAN.en.com.sg/
+                      ftp://cpan.en.com.sg/
+                      http://mirror.averse.net/pub/CPAN
+                      ftp://mirror.averse.net/pub/CPAN
+                      http://cpan.oss.eznetsols.org
+                      ftp://ftp.oss.eznetsols.org/cpan
 
-=item *
+=item South Korea
 
-Taiwan
+                      http://CPAN.bora.net/
+                      ftp://ftp.bora.net/pub/CPAN/
+                      http://mirror.kr.FreeBSD.org/CPAN
+                      ftp://ftp.kr.FreeBSD.org/pub/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 Taiwan
 
-=item *
+                      ftp://ftp.nctu.edu.tw/UNIX/perl/CPAN
+                      http://cpan.cdpa.nsysu.edu.tw/
+                      ftp://cpan.cdpa.nsysu.edu.tw/pub/CPAN
+                      http://ftp.isu.edu.tw/pub/CPAN
+                      ftp://ftp.isu.edu.tw/pub/CPAN
+                      ftp://ftp1.sinica.edu.tw/pub1/perl/CPAN/
+                      http://ftp.tku.edu.tw/pub/CPAN/
+                      ftp://ftp.tku.edu.tw/pub/CPAN/
 
-Thailand
+=item Thailand
 
-    ftp://ftp.cs.riubon.ac.th/pub/mirrors/CPAN/
+                      ftp://ftp.loxinfo.co.th/pub/cpan/
+                      ftp://ftp.cs.riubon.ac.th/pub/mirrors/CPAN/
 
 =back
 
@@ -398,13 +420,10 @@ Thailand
 
 =over 4
 
-=item *
+=item Costa Rica
 
-Costa Rica
-
-    ftp://ftp.linux.co.cr/mirrors/CPAN/
-    http://ftp.ucr.ac.cr/Unix/CPAN/
-    ftp://ftp.ucr.ac.cr/pub/Unix/CPAN/
+                      http://ftp.ucr.ac.cr/Unix/CPAN/
+                      ftp://ftp.ucr.ac.cr/pub/Unix/CPAN/
 
 =back
 
@@ -412,290 +431,270 @@ Costa Rica
 
 =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
-
-    http://cpan.lirex.net/
-    ftp://ftp.lirex.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 *
-
-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
-
-    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://pandemonium.tiscali.de/pub/CPAN/
-    ftp://pandemonium.tiscali.de/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.acn.gr/pub/lang/perl/CPAN
-    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/packages/perl/CPAN/
-    ftp://ftp.kfki.hu/pub/packages/perl/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/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/
-    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/
-    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 Austria
 
-=item *
-
-Portugal
-
-    ftp://ftp.ua.pt/pub/CPAN/
-    ftp://perl.di.uminho.pt/pub/CPAN/
-    http://cpan.dei.uc.pt/
-    ftp://ftp.dei.uc.pt/pub/CPAN
-    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://ftp.kappa.ro/pub/mirrors/ftp.perl.org/pub/CPAN/
-    ftp://ftp.dntis.ro/pub/cpan/
-    ftp://ftp.dnttm.ro/pub/CPAN/
-    ftp://ftp.lasting.ro/pub/CPAN
-    ftp://ftp.timisoara.roedu.net/mirrors/CPAN/
+                      http://cpan.inode.at/
+                      ftp://cpan.inode.at
+                      ftp://ftp.tuwien.ac.at/pub/CPAN/
 
-=item *
-
-Russia
+=item Belgium
 
-    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 *
+                      http://ftp.easynet.be/pub/CPAN/
+                      ftp://ftp.easynet.be/pub/CPAN/
+                      http://cpan.skynet.be
+                      ftp://ftp.cpan.skynet.be/pub/CPAN
+                      ftp://ftp.kulnet.kuleuven.ac.be/pub/mirror/CPAN/
 
-Slovakia
-
-    http://ftp.cvt.stuba.sk/pub/CPAN/
-    ftp://ftp.cvt.stuba.sk/pub/CPAN/
-
-=item *
+=item Bosnia and Herzegovina
 
-Slovenia
+                      http://cpan.blic.net/
 
-    ftp://ftp.arnes.si/software/perl/CPAN/
+=item Bulgaria
 
-=item *
+                      http://cpan.online.bg
+                      ftp://cpan.online.bg/cpan
+                      http://cpan.zadnik.org
+                      ftp://ftp.zadnik.org/mirrors/CPAN/
+                      http://cpan.lirex.net/
+                      ftp://ftp.lirex.net/pub/mirrors/CPAN
 
-Spain
+=item Croatia
 
-    http://cpan.imasd.elmundo.es/
-    ftp://ftp.rediris.es/mirror/CPAN/
-    ftp://ftp.etse.urv.es/pub/perl/
+                      http://ftp.linux.hr/pub/CPAN/
+                      ftp://ftp.linux.hr/pub/CPAN/
 
-=item *
+=item Czech Republic
 
-Sweden
+                      ftp://ftp.fi.muni.cz/pub/CPAN/
+                      ftp://sunsite.mff.cuni.cz/MIRRORS/ftp.funet.fi/pub/languages/perl/CPAN/
 
-    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 Denmark
 
-=item *
+                      http://mirrors.sunsite.dk/cpan/
+                      ftp://sunsite.dk/mirrors/cpan/
+                      http://cpan.cybercity.dk
+                      http://www.cpan.dk/CPAN/
+                      ftp://www.cpan.dk/ftp.cpan.org/CPAN/
 
-Switzerland
+=item Estonia
 
-    ftp://ftp.danyk.ch/CPAN/
-    ftp://sunsite.cnlab-switch.ch/mirror/CPAN/
+                      ftp://ftp.ut.ee/pub/languages/perl/CPAN/
 
-=item *
+=item Finland
 
-Turkey
+                      ftp://ftp.funet.fi/pub/languages/perl/CPAN/
+                      http://mirror.eunet.fi/CPAN
 
-    ftp://sunsite.bilkent.edu.tr/pub/languages/CPAN/
+=item France
 
-=item *
+                      http://www.enstimac.fr/Perl/CPAN
+                      http://ftp.u-paris10.fr/perl/CPAN
+                      ftp://ftp.u-paris10.fr/perl/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://mir2.ovh.net/ftp.cpan.org
+                      ftp://mir1.ovh.net/ftp.cpan.org
+                      http://ftp.crihan.fr/mirrors/ftp.cpan.org/
+                      ftp://ftp.crihan.fr/mirrors/ftp.cpan.org/
+                      http://ftp.u-strasbg.fr/CPAN
+                      ftp://ftp.u-strasbg.fr/CPAN
+                      ftp://cpan.cict.fr/pub/CPAN/
+                      ftp://ftp.uvsq.fr/pub/perl/CPAN/
 
-Ukraine
+=item Germany
 
-    http://cpan.org.ua/
-    ftp://cpan.org.ua/
-    ftp://ftp.perl.org.ua/pub/CPAN/
+                      ftp://ftp.rub.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
+                      http://pandemonium.tiscali.de/pub/CPAN/
+                      ftp://pandemonium.tiscali.de/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
 
-=item *
+                      ftp://ftp.acn.gr/pub/lang/perl
+                      ftp://ftp.forthnet.gr/pub/languages/perl/CPAN
+                      ftp://ftp.ntua.gr/pub/lang/perl/
+
+=item Hungary
+
+                      http://ftp.kfki.hu/packages/perl/CPAN/
+                      ftp://ftp.kfki.hu/pub/packages/perl/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://ftp.heanet.ie/mirrors/ftp.perl.org/pub/CPAN
+                      ftp://ftp.heanet.ie/mirrors/ftp.perl.org/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/CPAN/
+                      ftp://ftp.unipi.it/pub/mirror/perl/CPAN/
+                      ftp://cis.uniRoma2.it/CPAN/
+                      ftp://ftp.edisontel.it/pub/CPAN_Mirror/
+                      http://cpan.flashnet.it/
+                      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://mirror.vuurwerk.nl/pub/CPAN/
+                      ftp://ftp.cpan.nl/pub/CPAN/
+                      http://ftp.easynet.nl/mirror/CPAN
+                      ftp://ftp.easynet.nl/mirror/CPAN
+                      http://archive.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.mega.net.pl/CPAN
+                      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.dei.uc.pt/
+                      ftp://ftp.dei.uc.pt/pub/CPAN
+                      ftp://ftp.nfsi.pt/pub/CPAN
+                      http://ftp.linux.pt/pub/mirrors/CPAN
+                      ftp://ftp.linux.pt/pub/mirrors/CPAN
+                      http://cpan.ip.pt/
+                      ftp://cpan.ip.pt/pub/cpan/
+                      http://cpan.telepac.pt/
+                      ftp://ftp.telepac.pt/pub/cpan/
+
+=item Romania
+
+                      ftp://ftp.bio-net.ro/pub/CPAN
+                      ftp://ftp.kappa.ro/pub/mirrors/ftp.perl.org/pub/CPAN/
+                      ftp://ftp.lug.ro/CPAN
+                      ftp://ftp.roedu.net/pub/CPAN/
+                      ftp://ftp.dntis.ro/pub/cpan/
+                      ftp://ftp.iasi.roedu.net/pub/mirrors/ftp.cpan.org/
+                      http://cpan.ambra.ro/
+                      ftp://ftp.ambra.ro/pub/CPAN
+                      ftp://ftp.dnttm.ro/pub/CPAN/
+                      ftp://ftp.lasting.ro/pub/CPAN
+                      ftp://ftp.timisoara.roedu.net/mirrors/CPAN/
 
-United Kingdom
-
-    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.teleglobe.net/
-    ftp://cpan.teleglobe.net/pub/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/
-    http://mirror.uklinux.net/CPAN/
-    ftp://mirror.uklinux.net/pub/CPAN/
-    http://cpan.mirrors.clockerz.net/
-    ftp://ftp.clockerz.net/pub/CPAN/
-    ftp://usit.shef.ac.uk/pub/packages/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/
+                      ftp://ftp.corbina.ru/pub/CPAN/
+                      http://cpan.sai.msu.ru/
+                      ftp://ftp.sai.msu.su/pub/lang/perl/CPAN/
+
+=item Slovakia
+
+                      ftp://ftp.cvt.stuba.sk/pub/CPAN/
+
+=item Slovenia
+
+                      ftp://ftp.arnes.si/software/perl/CPAN/
+
+=item Spain
+
+                      http://cpan.imasd.elmundo.es/
+                      ftp://ftp.rediris.es/mirror/CPAN/
+                      ftp://ftp.ri.telefonica-data.net/CPAN
+                      ftp://ftp.etse.urv.es/pub/perl/
+
+=item Sweden
+
+                      http://ftp.du.se/CPAN/
+                      ftp://ftp.du.se/pub/CPAN/
+                      http://mirror.dataphone.se/CPAN
+                      ftp://mirror.dataphone.se/pub/CPAN
+                      ftp://ftp.sunet.se/pub/lang/perl/CPAN/
+
+=item Switzerland
+
+                      http://cpan.mirror.solnet.ch/
+                      ftp://ftp.solnet.ch/mirror/CPAN/
+                      ftp://ftp.danyk.ch/CPAN/
+                      ftp://sunsite.cnlab-switch.ch/mirror/CPAN/
+
+=item Turkey
+
+                      http://ftp.ulak.net.tr/perl/CPAN/
+                      ftp://ftp.ulak.net.tr/perl/CPAN
+                      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/
+                      http://no-more.kiev.ua/CPAN/
+                      ftp://no-more.kiev.ua/pub/CPAN/
+
+=item United Kingdom
+
+                      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.teleglobe.net/
+                      ftp://cpan.teleglobe.net/pub/CPAN
+                      http://cpan.mirror.anlx.net/
+                      ftp://ftp.mirror.anlx.net/CPAN/
+                      http://cpan.etla.org/
+                      ftp://cpan.etla.org/pub/CPAN
+                      ftp://ftp.demon.co.uk/pub/CPAN/
+                      http://cpan.m.flirble.org/
+                      ftp://ftp.flirble.org/pub/languages/perl/CPAN/
+                      ftp://ftp.plig.org/pub/CPAN/
+                      http://cpan.hambule.co.uk/
+                      http://cpan.mirrors.clockerz.net/
+                      ftp://ftp.clockerz.net/pub/CPAN/
+                      ftp://usit.shef.ac.uk/pub/packages/CPAN/
 
 =back
 
@@ -703,258 +702,207 @@ United Kingdom
 
 =over 4
 
-=item *
-
-Canada
+=item Canada
 
 =over 8
 
-=item *
-
-Alberta
-
-    http://sunsite.ualberta.ca/pub/Mirror/CPAN/
-    ftp://sunsite.ualberta.ca/pub/Mirror/CPAN/
-
-=item *
-
-Manitoba
+=item Alberta
 
-    http://theoryx5.uwinnipeg.ca/pub/CPAN/
-    ftp://theoryx5.uwinnipeg.ca/pub/CPAN/
+                      http://cpan.sunsite.ualberta.ca/
+                      ftp://cpan.sunsite.ualberta.ca/pub/CPAN/
 
-=item *
-
-Nova Scotia
+=item Manitoba
 
-    ftp://cpan.chebucto.ns.ca/pub/CPAN/
+                      http://theoryx5.uwinnipeg.ca/pub/CPAN/
+                      ftp://theoryx5.uwinnipeg.ca/pub/CPAN/
 
-=item *
+=item Nova Scotia
 
-Ontario
+                      ftp://cpan.chebucto.ns.ca/pub/CPAN/
 
-    ftp://ftp.crc.ca/pub/CPAN/
+=item Ontario
 
-=item *
-
-Quebec
-
-    http://cpan.mirror.smartworker.org/
+                      ftp://ftp.nrc.ca/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 Mexico
 
-=item *
+                      http://cpan.azc.uam.mx
+                      ftp://cpan.azc.uam.mx/mirrors/CPAN
+                      http://www.cpan.unam.mx/
+                      ftp://ftp.unam.mx/pub/CPAN
+                      http://www.msg.com.mx/CPAN/
+                      ftp://ftp.msg.com.mx/pub/CPAN/
 
-United States
+=item United States
 
 =over 8
 
-=item *
+=item Alabama
 
-Alabama
+                      http://mirror.hiwaay.net/CPAN/
+                      ftp://mirror.hiwaay.net/CPAN/
 
-    http://mirror.hiwaay.net/CPAN/
-    ftp://mirror.hiwaay.net/CPAN/
+=item California
 
-=item *
+                      http://cpan.develooper.com/
+                      http://www.cpan.org/
+                      ftp://cpan.valueclick.com/pub/CPAN/
+                      http://www.mednor.net/ftp/pub/mirrors/CPAN/
+                      ftp://ftp.mednor.net/pub/mirrors/CPAN/
+                      http://mirrors.gossamer-threads.com/CPAN
+                      ftp://cpan.nas.nasa.gov/pub/perl/CPAN/
+                      http://mirrors.kernel.org/cpan/
+                      ftp://mirrors.kernel.org/pub/CPAN
+                      http://cpan-sj.viaverio.com/
+                      ftp://cpan-sj.viaverio.com/pub/CPAN/
+                      http://cpan.digisle.net/
+                      ftp://cpan.digisle.net/pub/CPAN
+                      http://www.perl.com/CPAN/
+                      http://www.uberlan.net/CPAN
 
-California
+=item Colorado
 
-    http://www.cpan.org/
-    ftp://cpan.valueclick.com/pub/CPAN/
-    http://mirrors.gossamer-threads.com/CPAN
-    ftp://cpan.nas.nasa.gov/pub/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.perl.com/CPAN/
-    http://download.sourceforge.net/mirrors/CPAN/
+                      ftp://ftp.cs.colorado.edu/pub/perl/CPAN/
+                      http://cpan.four10.com
 
-=item *
+=item Delaware
 
-Colorado
+                      http://ftp.lug.udel.edu/pub/CPAN
+                      ftp://ftp.lug.udel.edu/pub/CPAN
 
-    ftp://ftp.cs.colorado.edu/pub/perl/CPAN/
+=item District of Columbia
 
-=item *
+                      ftp://ftp.dc.aleron.net/pub/CPAN/
 
-Delaware
+=item Florida
 
-    http://ftp.lug.udel.edu/pub/CPAN
-    ftp://ftp.lug.udel.edu/pub/CPAN
+                      ftp://ftp.cise.ufl.edu/pub/mirrors/CPAN/
+                      http://mirror.csit.fsu.edu/pub/CPAN/
+                      ftp://mirror.csit.fsu.edu/pub/CPAN/
+                      http://cpan.mirrors.nks.net/
 
-=item *
-
-District of Columbia
-
-    ftp://ftp.dc.aleron.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
+=item Indiana
 
-    ftp://ftp.uwsg.iu.edu/pub/perl/CPAN/
-    http://cpan.netnitco.net/
-    ftp://cpan.netnitco.net/pub/mirrors/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
+                      ftp://ftp.uwsg.iu.edu/pub/perl/CPAN/
+                      http://cpan.netnitco.net/
+                      ftp://cpan.netnitco.net/pub/mirrors/CPAN/
+                      http://archive.progeny.com/CPAN/
+                      ftp://archive.progeny.com/CPAN/
+                      http://fx.saintjoe.edu/pub/CPAN
+                      ftp://ftp.saintjoe.edu/pub/CPAN
+                      http://csociety-ftp.ecn.purdue.edu/pub/CPAN
+                      ftp://csociety-ftp.ecn.purdue.edu/pub/CPAN
 
-=item *
+=item Kentucky
 
-Kentucky
+                      http://cpan.uky.edu/
+                      ftp://cpan.uky.edu/pub/CPAN/
+                      http://slugsite.louisville.edu/cpan
+                      ftp://slugsite.louisville.edu/CPAN
 
-    http://cpan.uky.edu/
-    ftp://cpan.uky.edu/pub/CPAN/
+=item Massachusetts
 
-=item *
+                      http://mirrors.towardex.com/CPAN
+                      ftp://mirrors.towardex.com/pub/CPAN
+                      ftp://ftp.ccs.neu.edu/net/mirrors/ftp.funet.fi/pub/languages/perl/CPAN/
 
-Massachusetts
+=item Michigan
 
-    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://cpan.cse.msu.edu/
+                      http://cpan.calvin.edu/pub/CPAN
+                      ftp://cpan.calvin.edu/pub/CPAN
 
-=item *
+=item Nevada
 
-Michigan
+                      http://www.oss.redundant.com/pub/CPAN
+                      ftp://www.oss.redundant.com/pub/CPAN
 
-    ftp://cpan.cse.msu.edu/
+=item New Jersey
 
-=item *
+                      http://ftp.cpanel.net/pub/CPAN/
+                      ftp://ftp.cpanel.net/pub/CPAN/
+                      http://cpan.teleglobe.net/
+                      ftp://cpan.teleglobe.net/pub/CPAN
 
-New Jersey
-
-    ftp://ftp.cpanel.net/pub/CPAN/
-    http://cpan.teleglobe.net/
-    ftp://cpan.teleglobe.net/pub/CPAN
-
-=item *
+=item New York
 
-New York
+                      http://cpan.belfry.net/
+                      http://cpan.erlbaum.net/
+                      ftp://cpan.erlbaum.net/
+                      http://cpan.thepirtgroup.com/
+                      ftp://cpan.thepirtgroup.com/
+                      ftp://ftp.stealth.net/pub/CPAN/
+                      http://www.rge.com/pub/languages/perl/
+                      ftp://ftp.rge.com/pub/languages/perl/
 
-    ftp://ftp.exobit.org/pub/perl/CPAN
-    http://cpan.belfry.net/
-    http://cpan.thepirtgroup.com/
-    ftp://cpan.thepirtgroup.com/
-    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
 
-=item *
+                      http://www.ibiblio.org/pub/languages/perl/CPAN
+                      ftp://ftp.ibiblio.org/pub/languages/perl/CPAN
+                      ftp://ftp.duke.edu/pub/perl/
+                      ftp://ftp.ncsu.edu/pub/mirror/CPAN/
 
-North Carolina
+=item Oklahoma
 
-    ftp://ftp.duke.edu/pub/perl/
+                      ftp://ftp.ou.edu/mirrors/CPAN/
 
-=item *
+=item Oregon
 
-Ohio
+                      ftp://ftp.orst.edu/pub/CPAN
 
-    ftp://ftp.loaded.net/pub/CPAN/
+=item Pennsylvania
 
-=item *
+                      http://ftp.epix.net/CPAN/
+                      ftp://ftp.epix.net/pub/languages/perl/
+                      http://mirrors.phenominet.com/pub/CPAN/
+                      ftp://mirrors.phenominet.com/pub/CPAN/
+                      http://cpan.pair.com/
+                      ftp://cpan.pair.com/pub/CPAN/
+                      ftp://carroll.cac.psu.edu/pub/CPAN/
 
-Oklahoma
+=item Tennessee
 
-    ftp://ftp.ou.edu/mirrors/CPAN/
+                      ftp://ftp.sunsite.utk.edu/pub/CPAN/
 
-=item *
+=item Texas
 
-Oregon
+                      http://ftp.sedl.org/pub/mirrors/CPAN/
+                      http://www.binarycode.org/cpan
+                      ftp://mirror.telentente.com/pub/CPAN
+                      http://mirrors.theonlinerecordstore.com/CPAN
 
-    ftp://ftp.orst.edu/pub/CPAN
+=item Utah
 
-=item *
+                      ftp://mirror.xmission.com/CPAN/
 
-Pennsylvania
+=item Virginia
 
-    http://ftp.epix.net/CPAN/
-    ftp://ftp.epix.net/pub/languages/perl/
-    http://mirrors.phenominet.com/pub/CPAN/
-    ftp://mirrors.phenominet.com/pub/CPAN/
-    http://cpan.pair.com/
-    ftp://cpan.pair.com/pub/CPAN/
-    ftp://carroll.cac.psu.edu/pub/CPAN/
+                      http://cpan-du.viaverio.com/
+                      ftp://cpan-du.viaverio.com/pub/CPAN/
+                      http://mirrors.rcn.net/pub/lang/CPAN/
+                      ftp://mirrors.rcn.net/pub/lang/CPAN/
+                      http://perl.secsup.org/
+                      ftp://perl.secsup.org/pub/perl/
+                      http://noc.cvaix.com/mirrors/CPAN/
 
-=item *
+=item Washington
 
-Tennessee
+                      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/
 
-    ftp://ftp.sunsite.utk.edu/pub/CPAN/
+=item Wisconsin
 
-=item *
+                      http://mirror.sit.wisc.edu/pub/CPAN/
+                      ftp://mirror.sit.wisc.edu/pub/CPAN/
+                      http://mirror.aphix.com/CPAN
+                      ftp://mirror.aphix.com/pub/CPAN
 
-Texas
-
-    http://ftp.sedl.org/pub/mirrors/CPAN/
-    ftp://mirror.telentente.com/pub/CPAN
-
-=item *
-
-Utah
-
-    ftp://mirror.xmission.com/CPAN/
-
-=item *
-
-Virginia
-
-    http://mirrors.rcn.net/pub/lang/CPAN/
-    ftp://mirrors.rcn.net/pub/lang/CPAN/
-    http://perl.secsup.org/
-    ftp://perl.secsup.org/pub/perl/
-    http://mirrors.phihost.com/CPAN/
-    ftp://mirrors.phihost.com/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/
-
-=item *
-
-Wisconsin
-
-    http://mirror.sit.wisc.edu/pub/CPAN/
-    ftp://mirror.sit.wisc.edu/pub/CPAN/
+=back
 
 =back
 
@@ -962,20 +910,22 @@ Wisconsin
 
 =over 4
 
-=item *
+=item Australia
 
-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/
+                      http://cpan.mirrors.ilisys.com.au
 
-    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
 
-=item *
+                      ftp://ftp.auckland.ac.nz/pub/perl/CPAN/
 
-New Zealand
+=item United States
 
-    ftp://ftp.auckland.ac.nz/pub/perl/CPAN/
+                      http://aniani.ifa.hawaii.edu/CPAN/
+                      ftp://aniani.ifa.hawaii.edu/CPAN/
 
 =back
 
@@ -983,27 +933,68 @@ New Zealand
 
 =over 4
 
-=item *
+=item Argentina
 
-Argentina
+                      ftp://mirrors.bannerlandia.com.ar/mirrors/CPAN/
+                      http://www.linux.org.ar/mirrors/cpan
+                      ftp://ftp.linux.org.ar/mirrors/cpan
 
-    ftp://mirrors.bannerlandia.com.ar/mirrors/CPAN/
+=item Brazil
 
-=item *
-
-Brazil
-
-    ftp://cpan.pop-mg.com.br/pub/CPAN/
-    ftp://ftp.matrix.com.br/pub/perl/CPAN/
+                      ftp://cpan.pop-mg.com.br/pub/CPAN/
+                      ftp://ftp.matrix.com.br/pub/perl/CPAN/
+                      http://cpan.hostsul.com.br/
+                      ftp://cpan.hostsul.com.br/
 
-=item *
-
-Chile
+=item Chile
 
-    ftp://ftp.psinet.cl/pub/programming/perl/CPAN/
+                      http://cpan.netglobalis.net/
+                      ftp://cpan.netglobalis.net/pub/CPAN/
 
 =back
 
+=head2 RSYNC Mirrors
+
+                      www.linux.org.ar::cpan
+                      theoryx5.uwinnipeg.ca::CPAN
+                      ftp.shellhung.org::CPAN
+                      rsync.nic.funet.fi::CPAN
+                      ftp.u-paris10.fr::CPAN
+                      mir1.ovh.net::CPAN
+                      rsync://ftp.crihan.fr::CPAN
+                      ftp.gwdg.de::FTP/languages/perl/CPAN/
+                      ftp.leo.org::CPAN
+                      ftp.cbn.net.id::CPAN
+                      rsync://ftp.heanet.ie/mirrors/ftp.perl.org/pub/CPAN
+                      ftp.iglu.org.il::CPAN
+                      gusp.dyndns.org::cpan
+                      ftp.kddlabs.co.jp::cpan
+                      ftp.ayamura.org::pub/CPAN/
+                      mirror.leafbug.org::CPAN
+                      rsync.en.com.sg::CPAN
+                      mirror.averse.net::cpan
+                      rsync.oss.eznetsols.org
+                      ftp.kr.FreeBSD.org::CPAN
+                      ftp.solnet.ch::CPAN
+                      cpan.cdpa.nsysu.edu.tw::CPAN
+                      cpan.teleglobe.net::CPAN
+                      rsync://rsync.mirror.anlx.net::CPAN
+                      ftp.sedl.org::cpan
+                      ibiblio.org::CPAN
+                      cpan-du.viaverio.com::CPAN
+                      aniani.ifa.hawaii.edu::CPAN
+                      archive.progeny.com::CPAN
+                      rsync://slugsite.louisville.edu::CPAN
+                      mirror.aphix.com::CPAN
+                      cpan.teleglobe.net::CPAN
+                      ftp.lug.udel.edu::cpan
+                      mirrors.kernel.org::mirrors/CPAN
+                      mirrors.phenominet.com::CPAN
+                      cpan.pair.com::CPAN
+                      cpan-sj.viaverio.com::CPAN
+                      mirror.csit.fsu.edu::CPAN
+                      csociety-ftp.ecn.purdue.edu::CPAN
+
 For an up-to-date listing of CPAN sites,
 see http://www.cpan.org/SITES or ftp://www.cpan.org/SITES .
 
@@ -1097,8 +1088,8 @@ the module after __END__ either using AutoSplit or by saying:
 Does your module pass the 'empty subclass' test? If you say
 C<@SUBCLASS::ISA = qw(YOURCLASS);> your applications should be able
 to use SUBCLASS in exactly the same way as YOURCLASS.  For example,
-does your application still work if you change:  C<$obj = new YOURCLASS;>
-into: C<$obj = new SUBCLASS;> ?
+does your application still work if you change:  C<< $obj = YOURCLASS->new(); >>
+into: C<< $obj = SUBCLASS->new(); >> ?
 
 Avoid keeping any state information in your packages. It makes it
 difficult for multiple other packages to use yours. Keep state
@@ -1288,9 +1279,10 @@ How you choose to license your work is a personal decision.
 The general mechanism is to assert your Copyright and then make
 a declaration of how others may copy/use/modify your work.
 
-Perl, for example, is supplied with two types of licence: The GNU
-GPL and The Artistic Licence (see the files README, Copying, and
-Artistic).  Larry has good reasons for NOT just using the GNU GPL.
+Perl, for example, is supplied with two types of licence: The GNU GPL
+and The Artistic Licence (see the files README, Copying, and Artistic,
+or L<perlgpl> and L<perlartistic>).  Larry has good reasons for NOT
+just using the GNU GPL.
 
 My personal recommendation, out of respect for Larry, Perl, and the
 Perl community at large is to state something simply like:
@@ -1487,5 +1479,5 @@ you're redefining the world and willing to take the consequences.
 EOF
 
 close MANIFEST or warn "$0: failed to close MANIFEST (../MANIFEST): $!";
-close OUT      or warn "$0: failed to close OUT (perlmodlib.tmp): $!";
+close OUT      or warn "$0: failed to close OUT (perlmodlib.pod): $!";