diff options
author | Chris 'BinGOs' Williams <chris@bingosnet.co.uk> | 2016-06-17 13:21:37 +0100 |
---|---|---|
committer | Chris 'BinGOs' Williams <chris@bingosnet.co.uk> | 2016-06-17 13:21:37 +0100 |
commit | 9ed2d9d9590c246380663caa818775c693b29fb0 (patch) | |
tree | 272735a2e11c7c37757d6321d19591297c940304 | |
parent | 3bcfc7b32c9b00b9bf0355e7261883faed76aa08 (diff) | |
download | perl-9ed2d9d9590c246380663caa818775c693b29fb0.tar.gz |
[perl #128422] Refactor mirror list generation script
As per [perl #128422] the mirror list in perlmodlib is out of date
with regards the master list.
The master list is no longer a text file so refactored generator to
parse JSON mirror list.
Updated perlmodlib in the process.
-rw-r--r-- | Porting/make_modlib_cpan.pl | 117 | ||||
-rw-r--r-- | pod/perlmodlib.PL | 751 |
2 files changed, 455 insertions, 413 deletions
diff --git a/Porting/make_modlib_cpan.pl b/Porting/make_modlib_cpan.pl index ea0878bda0..39f4ff9751 100644 --- a/Porting/make_modlib_cpan.pl +++ b/Porting/make_modlib_cpan.pl @@ -7,26 +7,35 @@ use warnings; use 5.14.0; use autodie; use HTTP::Tiny; +use JSON::PP; + +$|=1; my $http = HTTP::Tiny->new; -my $url = 'http://www.cpan.org/SITES'; -my $filename = 'SITES'; -my $response = $http->mirror( $url, $filename ); +my $url = 'http://www.cpan.org/indices/mirrors.json'; + +my $response = $http->get($url); + unless ( $response->{success} ) { die "Error downloading $url"; } -my $fh = IO::File->new($filename); +die "No content" unless $response->{content}; -while ( my $line = <$fh> ) { - chomp $line; - last - if $line eq - '[Africa] [Asia] [Australasia] [Central America] [Europe] [North America] [South America]'; -} +my $json = JSON::PP->new->utf8; +my $mirrors = $json->decode( $response->{content} ); +my %sorted; +my @rsync; -my $line = <$fh>; +foreach my $mirror ( sort { $a->{continent} cmp $b->{continent} || $a->{country} cmp $b->{country} } @{ $mirrors } ) { + if ( $mirror->{country} eq 'United States' ) { + push @{ $sorted{ $mirror->{continent} }{ $mirror->{country} }{ $mirror->{region} } }, $mirror; + } + else { + push @{ $sorted{ $mirror->{continent} }{ $mirror->{country} } }, $mirror; + } +} say 'Registered CPAN sites'; say ''; @@ -34,58 +43,48 @@ say '=for maintainers'; say 'Generated by Porting/make_modlib_cpan.pl'; say ''; -my $continent; -my $country; -my $state; - -while ( my $line = <$fh> ) { - chomp $line; - next if $line =~ /^\s+$/; - last if $line eq 'Feedback'; - - if ( $line =~ /^(?<continent>\w.+)$/ ) { - if ($continent) { - say ''; - if ($continent) { - say "=back"; - say ''; - } - if ( $continent eq 'North America' ) { - say "=back"; - say ''; - } - } - $continent = $+{continent}; - undef $country; - say "=head2 $continent"; - say ''; - say '=over 4'; - say ''; - } elsif ( $line =~ /^\s{3}(?<country>\w.+)$/ ) { - if ($country) { - say ''; - } - $country = $+{country}; - undef $state; - say "=item $country"; +foreach my $continent ( sort { $a cmp $b } keys %sorted ) { + say "=head2 $continent"; + say ''; + say '=over 4'; + say ''; + foreach my $country ( sort { $a cmp $b } keys %{ $sorted{ $continent } } ) { + say "=item $country"; + say ''; + if ( $country eq 'United States' ) { + say '=over 8'; + say ''; + foreach my $state ( sort { $a cmp $b } keys %{ $sorted{ $continent }{ $country } } ) { + say "=item $state"; say ''; - if ( $country eq 'United States' ) { - say '=over 8'; - say ''; - } - } elsif ( $line =~ /^\s{5}(?<state>\w.+)$/ ) { - if ($state) { - say ''; + foreach my $mirror ( @{ $sorted{ $continent }{ $country }{ $state } } ) { + say " " . $mirror->{http} if $mirror->{http}; + say " " . $mirror->{ftp} if $mirror->{ftp}; + push @rsync, $mirror->{rsync} if $mirror->{rsync}; } - $state = $+{state}; - say "=item $state"; say ''; - } elsif ( $line =~ /^\s{22}(?<site>\w.+$)/ ) { - say " $+{site}"; - } else { - die "Unknown line: $line"; + } + say '=back'; + say ''; + } + else { + foreach my $mirror ( @{ $sorted{ $continent }{ $country } } ) { + say " " . $mirror->{http} if $mirror->{http}; + say " " . $mirror->{ftp} if $mirror->{ftp}; + push @rsync, $mirror->{rsync} if $mirror->{rsync}; + } + say ''; } + } + say '=back'; + say ''; +} + +say '=head2 RSYNC Mirrors'; +say ''; + +foreach my $rsync ( @rsync ) { + say "\t\t$rsync"; } say ''; -say '=back'; diff --git a/pod/perlmodlib.PL b/pod/perlmodlib.PL index aa6b18cd3c..3c5be81c9f 100644 --- a/pod/perlmodlib.PL +++ b/pod/perlmodlib.PL @@ -341,11 +341,23 @@ Generated by Porting/make_modlib_cpan.pl =item South Africa - http://cpan.mirror.ac.za/ - ftp://cpan.mirror.ac.za/ http://mirror.is.co.za/pub/cpan/ ftp://ftp.is.co.za/pub/cpan/ + http://cpan.mirror.ac.za/ + ftp://cpan.mirror.ac.za/ + http://cpan.saix.net/ ftp://ftp.saix.net/pub/CPAN/ + http://ftp.wa.co.za/pub/CPAN/ + ftp://ftp.wa.co.za/pub/CPAN/ + +=item Uganda + + http://mirror.ucu.ac.ug/cpan/ + +=item Zimbabwe + + http://mirror.zol.co.zw/CPAN/ + ftp://mirror.zol.co.zw/CPAN/ =back @@ -353,103 +365,123 @@ Generated by Porting/make_modlib_cpan.pl =over 4 -=item China +=item Bangladesh - http://cpan.wenzk.com/ + http://mirror.dhakacom.com/CPAN/ + ftp://mirror.dhakacom.com/CPAN/ -=item Hong Kong +=item China + http://cpan.communilink.net/ http://ftp.cuhk.edu.hk/pub/packages/perl/CPAN/ ftp://ftp.cuhk.edu.hk/pub/packages/perl/CPAN/ - http://mirrors.geoexpat.com/cpan/ + http://mirrors.hust.edu.cn/CPAN/ + http://mirrors.neusoft.edu.cn/cpan/ + http://mirror.lzu.edu.cn/CPAN/ + http://mirrors.163.com/cpan/ + http://mirrors.sohu.com/CPAN/ + http://mirrors.ustc.edu.cn/CPAN/ + ftp://mirrors.ustc.edu.cn/CPAN/ + http://mirrors.xmu.edu.cn/CPAN/ + ftp://mirrors.xmu.edu.cn/CPAN/ + http://mirrors.zju.edu.cn/CPAN/ =item India + http://cpan.excellmedia.net/ http://perlmirror.indialinks.com/ =item Indonesia - http://cpan.biz.net.id/ - http://komo.vlsm.org/CPAN/ - ftp://komo.vlsm.org/CPAN/ - http://cpan.cermin.lipi.go.id/ - ftp://cermin.lipi.go.id/pub/CPAN/ + http://kambing.ui.ac.id/cpan/ http://cpan.pesat.net.id/ + http://mirror.poliwangi.ac.id/CPAN/ + http://kartolo.sby.datautama.net.id/CPAN/ + http://mirror.wanxp.id/cpan/ + +=item Iran + + http://mirror.yazd.ac.ir/cpan/ + +=item Israel + + http://biocourse.weizmann.ac.il/CPAN/ =item Japan - ftp://ftp.u-aizu.ac.jp/pub/CPAN + http://ftp.jaist.ac.jp/pub/CPAN/ + ftp://ftp.jaist.ac.jp/pub/CPAN/ + http://mirror.jre655.com/CPAN/ + ftp://mirror.jre655.com/CPAN/ ftp://ftp.kddilabs.jp/CPAN/ http://ftp.nara.wide.ad.jp/pub/CPAN/ ftp://ftp.nara.wide.ad.jp/pub/CPAN/ - http://ftp.jaist.ac.jp/pub/CPAN/ - ftp://ftp.jaist.ac.jp/pub/CPAN/ - ftp://ftp.dti.ad.jp/pub/lang/CPAN/ - ftp://ftp.ring.gr.jp/pub/lang/perl/CPAN/ http://ftp.riken.jp/lang/CPAN/ ftp://ftp.riken.jp/lang/CPAN/ + ftp://ftp.u-aizu.ac.jp/pub/CPAN/ http://ftp.yz.yamagata-u.ac.jp/pub/lang/cpan/ ftp://ftp.yz.yamagata-u.ac.jp/pub/lang/cpan/ +=item Kazakhstan + + http://mirror.neolabs.kz/CPAN/ + ftp://mirror.neolabs.kz/CPAN/ + +=item Philippines + + http://mirror.pregi.net/CPAN/ + ftp://mirror.pregi.net/CPAN/ + http://mirror.rise.ph/cpan/ + ftp://mirror.rise.ph/cpan/ + +=item Qatar + + http://mirror.qnren.qa/CPAN/ + ftp://mirror.qnren.qa/CPAN/ + =item Republic of Korea - http://ftp.kaist.ac.kr/pub/CPAN - ftp://ftp.kaist.ac.kr/pub/CPAN http://cpan.mirror.cdnetworks.com/ ftp://cpan.mirror.cdnetworks.com/CPAN/ - http://cpan.sarang.net/ - ftp://cpan.sarang.net/CPAN/ - -=item Russia - - http://cpan.tomsk.ru/ - ftp://cpan.tomsk.ru/ + http://ftp.kaist.ac.kr/pub/CPAN/ + ftp://ftp.kaist.ac.kr/CPAN/ + http://ftp.kr.freebsd.org/pub/CPAN/ + ftp://ftp.kr.freebsd.org/pub/CPAN/ + http://mirror.navercorp.com/CPAN/ + http://ftp.neowiz.com/CPAN/ + ftp://ftp.neowiz.com/CPAN/ =item Singapore - http://mirror.averse.net/pub/CPAN - ftp://mirror.averse.net/pub/CPAN http://cpan.mirror.choon.net/ - http://cpan.oss.eznetsols.org - ftp://ftp.oss.eznetsols.org/cpan + http://mirror.0x.sg/CPAN/ + ftp://mirror.0x.sg/CPAN/ =item Taiwan - http://ftp.cse.yzu.edu.tw/pub/CPAN/ - ftp://ftp.cse.yzu.edu.tw/pub/CPAN/ + http://cpan.cdpa.nsysu.edu.tw/Unix/Lang/CPAN/ + ftp://cpan.cdpa.nsysu.edu.tw/Unix/Lang/CPAN/ + http://cpan.stu.edu.tw/ + ftp://ftp.stu.edu.tw/CPAN/ + http://ftp.yzu.edu.tw/CPAN/ + ftp://ftp.yzu.edu.tw/CPAN/ http://cpan.nctu.edu.tw/ ftp://cpan.nctu.edu.tw/ - ftp://ftp.ncu.edu.tw/CPAN/ - http://cpan.cdpa.nsysu.edu.tw/ - ftp://cpan.cdpa.nsysu.edu.tw/Unix/Lang/CPAN/ - http://cpan.stu.edu.tw - ftp://ftp.stu.edu.tw/CPAN - http://ftp.stu.edu.tw/CPAN - ftp://ftp.stu.edu.tw/pub/CPAN - http://cpan.cs.pu.edu.tw/ - ftp://cpan.cs.pu.edu.tw/pub/CPAN - -=item Thailand - - http://mirrors.issp.co.th/cpan/ - ftp://mirrors.issp.co.th/cpan/ - http://mirror.yourconnect.com/CPAN/ - ftp://mirror.yourconnect.com/CPAN/ + http://ftp.ubuntu-tw.org/mirror/CPAN/ + ftp://ftp.ubuntu-tw.org/mirror/CPAN/ =item Turkey - http://cpan.gazi.edu.tr/ - -=back - -=head2 Central America - -=over 4 + http://cpan.ulak.net.tr/ + ftp://ftp.ulak.net.tr/pub/perl/CPAN/ + http://mirror.vit.com.tr/mirror/CPAN/ + ftp://mirror.vit.com.tr/CPAN/ -=item Costa Rica +=item Viet Nam - http://mirrors.ucr.ac.cr/CPAN/ - ftp://mirrors.ucr.ac.cr/CPAN/ + http://mirrors.digipower.vn/CPAN/ + http://mirror.downloadvn.com/cpan/ + http://mirrors.vinahost.vn/CPAN/ =back @@ -460,27 +492,38 @@ Generated by Porting/make_modlib_cpan.pl =item Austria http://cpan.inode.at/ - ftp://cpan.inode.at + ftp://cpan.inode.at/ + http://mirror.easyname.at/cpan/ + ftp://mirror.easyname.at/cpan/ http://gd.tuwien.ac.at/languages/perl/CPAN/ ftp://gd.tuwien.ac.at/pub/CPAN/ +=item Belarus + + http://ftp.byfly.by/pub/CPAN/ + ftp://ftp.byfly.by/pub/CPAN/ + http://mirror.datacenter.by/pub/CPAN/ + ftp://mirror.datacenter.by/pub/CPAN/ + =item Belgium - http://ftp.belnet.be/mirror/ftp.cpan.org/ + http://ftp.belnet.be/ftp.cpan.org/ ftp://ftp.belnet.be/mirror/ftp.cpan.org/ - http://ftp.easynet.be/pub/CPAN/ - http://cpan.weepee.org/ + http://cpan.cu.be/ + http://lib.ugent.be/CPAN/ + http://cpan.weepeetelecom.be/ =item Bosnia and Herzegovina - http://cpan.blic.net/ + http://cpan.mirror.ba/ + ftp://ftp.mirror.ba/CPAN/ =item Bulgaria - http://cpan.cbox.biz/ - ftp://cpan.cbox.biz/cpan/ - http://cpan.digsys.bg/ - ftp://ftp.digsys.bg/pub/CPAN + http://mirrors.neterra.net/CPAN/ + ftp://mirrors.neterra.net/CPAN/ + http://mirrors.netix.net/CPAN/ + ftp://mirrors.netix.net/CPAN/ =item Croatia @@ -489,104 +532,100 @@ Generated by Porting/make_modlib_cpan.pl =item Czech Republic + http://mirror.dkm.cz/cpan/ + ftp://mirror.dkm.cz/cpan/ ftp://ftp.fi.muni.cz/pub/CPAN/ - http://archive.cpan.cz/ + http://mirrors.nic.cz/CPAN/ + ftp://mirrors.nic.cz/pub/CPAN/ + http://cpan.mirror.vutbr.cz/ + ftp://mirror.vutbr.cz/cpan/ =item Denmark - http://mirrors.dotsrc.org/cpan - ftp://mirrors.dotsrc.org/cpan/ http://www.cpan.dk/ - http://mirror.uni-c.dk/pub/CPAN/ + http://mirrors.dotsrc.org/cpan/ + ftp://mirrors.dotsrc.org/cpan/ =item Finland ftp://ftp.funet.fi/pub/languages/perl/CPAN/ - http://mirror.eunet.fi/CPAN =item France - http://cpan.enstimac.fr/ - ftp://ftp.inria.fr/pub/CPAN/ + http://ftp.ciril.fr/pub/cpan/ + ftp://ftp.ciril.fr/pub/cpan/ http://distrib-coffee.ipsl.jussieu.fr/pub/mirrors/cpan/ ftp://distrib-coffee.ipsl.jussieu.fr/pub/mirrors/cpan/ + http://ftp.lip6.fr/pub/perl/CPAN/ ftp://ftp.lip6.fr/pub/perl/CPAN/ - http://mir2.ovh.net/ftp.cpan.org - ftp://mir1.ovh.net/ftp.cpan.org + http://mirror.ibcp.fr/pub/CPAN/ ftp://ftp.oleane.net/pub/CPAN/ - 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 - http://cpan.cict.fr/ - ftp://cpan.cict.fr/pub/CPAN/ + http://cpan.mirrors.ovh.net/ftp.cpan.org/ + ftp://cpan.mirrors.ovh.net/ftp.cpan.org/ + http://cpan.enstimac.fr/ =item Germany - ftp://ftp.fu-berlin.de/unix/languages/perl/ - http://mirrors.softliste.de/cpan/ - ftp://ftp.rub.de/pub/CPAN/ - http://www.planet-elektronik.de/CPAN/ + http://mirror.23media.de/cpan/ + ftp://mirror.23media.de/cpan/ + http://artfiles.org/cpan.org/ + ftp://artfiles.org/cpan.org/ + http://mirror.bibleonline.ru/cpan/ + http://mirror.checkdomain.de/CPAN/ + ftp://mirror.checkdomain.de/CPAN/ + http://cpan.noris.de/ + http://mirror.de.leaseweb.net/CPAN/ + ftp://mirror.de.leaseweb.net/CPAN/ + http://cpan.mirror.euserv.net/ + ftp://mirror.euserv.net/cpan/ + http://ftp-stud.hs-esslingen.de/pub/Mirrors/CPAN/ + ftp://mirror.fraunhofer.de/CPAN/ + ftp://ftp.freenet.de/pub/ftp.cpan.org/pub/CPAN/ http://ftp.hosteurope.de/pub/CPAN/ ftp://ftp.hosteurope.de/pub/CPAN/ - http://www.mirrorspace.org/cpan/ - http://mirror.netcologne.de/cpan/ - ftp://mirror.netcologne.de/cpan/ - ftp://ftp.freenet.de/pub/ftp.cpan.org/pub/CPAN/ - http://ftp-stud.hs-esslingen.de/pub/Mirrors/CPAN/ - ftp://ftp-stud.hs-esslingen.de/pub/Mirrors/CPAN/ - http://mirrors.zerg.biz/cpan/ + ftp://ftp.fu-berlin.de/unix/languages/perl/ http://ftp.gwdg.de/pub/languages/perl/CPAN/ ftp://ftp.gwdg.de/pub/languages/perl/CPAN/ - http://dl.ambiweb.de/mirrors/ftp.cpan.org/ - http://cpan.mirror.clusters.kg/ + http://ftp.hawo.stw.uni-erlangen.de/CPAN/ + ftp://ftp.hawo.stw.uni-erlangen.de/CPAN/ http://cpan.mirror.iphh.net/ ftp://cpan.mirror.iphh.net/pub/CPAN/ - http://cpan.mirroring.de/ - http://mirror.informatik.uni-mannheim.de/pub/mirrors/CPAN/ - ftp://mirror.informatik.uni-mannheim.de/pub/mirrors/CPAN/ - http://www.chemmedia.de/mirrors/CPAN/ - http://ftp.cw.net/pub/CPAN/ - ftp://ftp.cw.net/pub/CPAN/ - http://cpan.cpantesters.org/ - ftp://cpan.cpantesters.org/CPAN/ - http://cpan.mirrored.de/ + ftp://ftp.mpi-inf.mpg.de/pub/perl/CPAN/ + http://cpan.netbet.org/ + http://mirror.netcologne.de/cpan/ + ftp://mirror.netcologne.de/cpan/ ftp://mirror.petamem.com/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/ + http://www.planet-elektronik.de/CPAN/ + http://ftp.halifax.rwth-aachen.de/cpan/ + ftp://ftp.halifax.rwth-aachen.de/cpan/ + http://mirror.softaculous.com/cpan/ + http://ftp.u-tx.net/CPAN/ + ftp://ftp.u-tx.net/CPAN/ + http://mirror.reismil.ch/CPAN/ =item Greece - ftp://ftp.forthnet.gr/pub/languages/perl/CPAN - ftp://ftp.ntua.gr/pub/lang/perl/ - http://cpan.cc.uoc.gr/ + http://cpan.cc.uoc.gr/mirrors/CPAN/ ftp://ftp.cc.uoc.gr/mirrors/CPAN/ + http://ftp.ntua.gr/pub/lang/perl/ + ftp://ftp.ntua.gr/pub/lang/perl/ =item Hungary - http://cpan.mirrors.enexis.hu/ - ftp://cpan.mirrors.enexis.hu/mirrors/cpan/ - http://cpan.hu/ - -=item Iceland - - http://ftp.rhnet.is/pub/CPAN/ - ftp://ftp.rhnet.is/pub/CPAN/ + http://mirror.met.hu/CPAN/ =item Ireland - http://ftp.esat.net/pub/languages/perl/CPAN/ - ftp://ftp.esat.net/pub/languages/perl/CPAN/ - http://ftp.heanet.ie/mirrors/ftp.perl.org/pub/CPAN - ftp://ftp.heanet.ie/mirrors/ftp.perl.org/pub/CPAN + http://ftp.heanet.ie/mirrors/ftp.perl.org/pub/CPAN/ + ftp://ftp.heanet.ie/mirrors/ftp.perl.org/pub/CPAN/ =item Italy http://bo.mirror.garr.it/mirrors/CPAN/ + ftp://ftp.eutelia.it/CPAN_Mirror/ http://cpan.panu.it/ ftp://ftp.panu.it/pub/mirrors/perl/CPAN/ + http://cpan.muzzy.it/ =item Latvia @@ -597,136 +636,133 @@ Generated by Porting/make_modlib_cpan.pl http://ftp.litnet.lt/pub/CPAN/ ftp://ftp.litnet.lt/pub/CPAN/ -=item Malta +=item Moldova - http://cpan.waldonet.net.mt/ + http://mirror.as43289.net/pub/CPAN/ + ftp://mirror.as43289.net/pub/CPAN/ =item Netherlands - ftp://ftp.quicknet.nl/pub/CPAN/ - http://mirror.hostfuss.com/CPAN/ - ftp://mirror.hostfuss.com/CPAN/ - http://mirrors3.kernel.org/cpan/ - ftp://mirrors3.kernel.org/pub/CPAN/ - http://cpan.mirror.versatel.nl/ - ftp://ftp.mirror.versatel.nl/cpan/ + http://cpan.cs.uu.nl/ + ftp://ftp.cs.uu.nl/pub/CPAN/ + http://mirror.nl.leaseweb.net/CPAN/ + ftp://mirror.nl.leaseweb.net/CPAN/ + http://ftp.nluug.nl/languages/perl/CPAN/ + ftp://ftp.nluug.nl/pub/languages/perl/CPAN/ + http://mirror.transip.net/CPAN/ + ftp://mirror.transip.net/CPAN/ + http://cpan.mirror.triple-it.nl/ + http://ftp.tudelft.nl/cpan/ + ftp://ftp.tudelft.nl/pub/CPAN/ ftp://download.xs4all.nl/pub/mirror/CPAN/ - http://mirror.leaseweb.com/CPAN/ - ftp://mirror.leaseweb.com/CPAN/ - ftp://ftp.cpan.nl/pub/CPAN/ - http://archive.cs.uu.nl/mirror/CPAN/ - ftp://ftp.cs.uu.nl/mirror/CPAN/ - http://luxitude.net/cpan/ =item Norway - ftp://ftp.uninett.no/pub/languages/perl/CPAN - ftp://ftp.uit.no/pub/languages/perl/cpan/ + http://cpan.uib.no/ + ftp://cpan.uib.no/pub/CPAN/ + ftp://ftp.uninett.no/pub/languages/perl/CPAN/ + http://cpan.vianett.no/ =item Poland - http://piotrkosoft.net/pub/mirrors/CPAN/ + http://ftp.agh.edu.pl/CPAN/ + ftp://ftp.agh.edu.pl/CPAN/ + http://ftp.piotrkosoft.net/pub/mirrors/CPAN/ ftp://ftp.piotrkosoft.net/pub/mirrors/CPAN/ - http://ftp.man.poznan.pl/pub/CPAN - ftp://ftp.man.poznan.pl/pub/CPAN ftp://ftp.ps.pl/pub/CPAN/ + http://sunsite.icm.edu.pl/pub/CPAN/ ftp://sunsite.icm.edu.pl/pub/CPAN/ - ftp://ftp.tpnet.pl/d4/CPAN/ =item Portugal - http://cpan.dei.uc.pt/ - ftp://ftp.dei.uc.pt/pub/CPAN - ftp://ftp.ist.utl.pt/pub/CPAN/ - http://cpan.perl.pt/ - http://cpan.ip.pt/ - ftp://cpan.ip.pt/pub/cpan/ - http://mirrors.nfsi.pt/CPAN/ - ftp://mirrors.nfsi.pt/pub/CPAN/ http://cpan.dcc.fc.up.pt/ + http://mirrors.fe.up.pt/pub/CPAN/ + http://cpan.perl-hackers.net/ + http://cpan.perl.pt/ =item Romania - http://ftp.astral.ro/pub/CPAN/ - ftp://ftp.astral.ro/pub/CPAN/ - ftp://ftp.lug.ro/CPAN + http://mirrors.hostingromania.ro/cpan.org/ + ftp://ftp.lug.ro/CPAN/ + http://mirrors.m247.ro/CPAN/ + http://mirrors.evowise.com/CPAN/ + http://mirrors.teentelecom.net/CPAN/ + ftp://mirrors.teentelecom.net/CPAN/ http://mirrors.xservers.ro/CPAN/ - http://mirrors.hostingromania.ro/ftp.cpan.org/ - ftp://ftp.hostingromania.ro/mirrors/ftp.cpan.org/ - ftp://ftp.iasi.roedu.net/pub/mirrors/ftp.cpan.org/ -=item Russia +=item Russian Federation ftp://ftp.aha.ru/CPAN/ http://cpan.rinet.ru/ ftp://cpan.rinet.ru/pub/mirror/CPAN/ - ftp://ftp.SpringDaemons.com/pub/CPAN/ + http://cpan-mirror.rbc.ru/pub/CPAN/ http://mirror.rol.ru/CPAN/ - http://ftp.silvernet.ru/CPAN/ - http://ftp.spbu.ru/CPAN/ - ftp://ftp.spbu.ru/CPAN/ + http://cpan.uni-altai.ru/ + http://cpan.webdesk.ru/ + ftp://cpan.webdesk.ru/cpan/ + http://mirror.yandex.ru/mirrors/cpan/ + ftp://mirror.yandex.ru/mirrors/cpan/ + +=item Serbia + + http://mirror.sbb.rs/CPAN/ + ftp://mirror.sbb.rs/CPAN/ =item Slovakia - http://cpan.fyxm.net/ + http://cpan.lnx.sk/ + http://tux.rainside.sk/CPAN/ + ftp://tux.rainside.sk/CPAN/ =item Slovenia - http://www.klevze.si/cpan + http://ftp.arnes.si/software/perl/CPAN/ + ftp://ftp.arnes.si/software/perl/CPAN/ =item Spain + http://mirrors.evowise.com/CPAN/ http://osl.ugr.es/CPAN/ + http://ftp.rediris.es/mirror/CPAN/ ftp://ftp.rediris.es/mirror/CPAN/ - http://ftp.gui.uva.es/sites/cpan.org/ - ftp://ftp.gui.uva.es/sites/cpan.org/ =item Sweden - http://mirrors4.kernel.org/cpan/ - ftp://mirrors4.kernel.org/pub/CPAN/ + http://ftp.acc.umu.se/mirror/CPAN/ + ftp://ftp.acc.umu.se/mirror/CPAN/ =item Switzerland - http://cpan.mirror.solnet.ch/ - ftp://ftp.solnet.ch/mirror/CPAN/ - ftp://ftp.adwired.ch/CPAN/ + http://www.pirbot.com/mirrors/cpan/ http://mirror.switch.ch/ftp/mirror/CPAN/ ftp://mirror.switch.ch/mirror/CPAN/ =item Ukraine - http://cpan.makeperl.org/ - ftp://cpan.makeperl.org/pub/CPAN - http://cpan.org.ua/ - http://cpan.gafol.net/ - ftp://ftp.gafol.net/pub/cpan/ + http://cpan.ip-connect.vn.ua/ + ftp://cpan.ip-connect.vn.ua/mirror/cpan/ =item United Kingdom - http://www.mirrorservice.org/sites/ftp.funet.fi/pub/languages/perl/CPAN/ - ftp://ftp.mirrorservice.org/sites/ftp.funet.fi/pub/languages/perl/CPAN/ - http://mirror.tje.me.uk/pub/mirrors/ftp.cpan.org/ - ftp://mirror.tje.me.uk/pub/mirrors/ftp.cpan.org/ - http://www.mirror.8086.net/sites/CPAN/ - ftp://ftp.mirror.8086.net/sites/CPAN/ http://cpan.mirror.anlx.net/ ftp://ftp.mirror.anlx.net/CPAN/ http://mirror.bytemark.co.uk/CPAN/ ftp://mirror.bytemark.co.uk/CPAN/ + http://mirrors.coreix.net/CPAN/ http://cpan.etla.org/ - ftp://cpan.etla.org/pub/CPAN - ftp://ftp.demon.co.uk/pub/CPAN/ + ftp://cpan.etla.org/pub/CPAN/ + http://cpan.cpantesters.org/ + http://mirror.sax.uk.as61049.net/CPAN/ http://mirror.sov.uk.goscomb.net/CPAN/ - ftp://mirror.sov.uk.goscomb.net/pub/CPAN/ - http://ftp.plig.net/pub/CPAN/ - ftp://ftp.plig.net/pub/CPAN/ + http://www.mirrorservice.org/sites/cpan.perl.org/CPAN/ + ftp://ftp.mirrorservice.org/sites/cpan.perl.org/CPAN/ + http://mirror.ox.ac.uk/sites/www.cpan.org/ + ftp://mirror.ox.ac.uk/sites/www.cpan.org/ http://ftp.ticklers.org/pub/CPAN/ ftp://ftp.ticklers.org/pub/CPAN/ http://cpan.mirrors.uk2.net/ ftp://mirrors.uk2.net/pub/CPAN/ - http://mirror.ox.ac.uk/sites/www.cpan.org/ - ftp://mirror.ox.ac.uk/sites/www.cpan.org/ + http://mirror.ukhost4u.com/CPAN/ =back @@ -734,25 +770,20 @@ Generated by Porting/make_modlib_cpan.pl =over 4 -=item Bahamas - - http://www.securehost.com/mirror/CPAN/ - =item Canada - http://cpan.arcticnetwork.ca - ftp://mirror.arcticnetwork.ca/pub/CPAN - http://cpan.sunsite.ualberta.ca/ - ftp://cpan.sunsite.ualberta.ca/pub/CPAN/ - http://theoryx5.uwinnipeg.ca/pub/CPAN/ - ftp://theoryx5.uwinnipeg.ca/pub/CPAN/ - http://arwen.cs.dal.ca/mirror/CPAN/ - ftp://arwen.cs.dal.ca/pub/mirror/CPAN/ http://CPAN.mirror.rafal.ca/ ftp://CPAN.mirror.rafal.ca/pub/CPAN/ - ftp://ftp.nrc.ca/pub/CPAN/ - http://mirror.csclub.uwaterloo.ca/pub/CPAN/ - ftp://mirror.csclub.uwaterloo.ca/pub/CPAN/ + http://mirror.csclub.uwaterloo.ca/CPAN/ + ftp://mirror.csclub.uwaterloo.ca/CPAN/ + http://mirrors.gossamer-threads.com/CPAN/ + http://mirror.its.dal.ca/cpan/ + ftp://mirror.its.dal.ca/cpan/ + ftp://ftp.ottix.net/pub/CPAN/ + +=item Costa Rica + + http://mirrors.ucr.ac.cr/CPAN/ =item Mexico @@ -765,58 +796,43 @@ Generated by Porting/make_modlib_cpan.pl =item Alabama - http://mirror.hiwaay.net/CPAN/ - ftp://mirror.hiwaay.net/CPAN/ + http://mirror.teklinks.com/CPAN/ =item Arizona - http://cpan.ezarticleinformation.com/ + http://mirror.n5tech.com/CPAN/ + http://mirrors.namecheap.com/CPAN/ + ftp://mirrors.namecheap.com/CPAN/ =item California - http://cpan.knowledgematters.net/ - http://cpan.binkerton.com/ http://cpan.develooper.com/ - http://mirrors.gossamer-threads.com/CPAN - http://cpan.schatt.com/ - http://mirrors.kernel.org/cpan/ - ftp://mirrors.kernel.org/pub/CPAN - http://mirrors2.kernel.org/cpan/ - ftp://mirrors2.kernel.org/pub/CPAN/ - http://cpan.mirror.facebook.net/ - http://mirrors1.kernel.org/cpan/ - ftp://mirrors1.kernel.org/pub/CPAN/ - http://cpan-sj.viaverio.com/ - ftp://cpan-sj.viaverio.com/pub/CPAN/ + http://httpupdate127.cpanel.net/CPAN/ + http://mirrors.sonic.net/cpan/ + ftp://mirrors.sonic.net/cpan/ http://www.perl.com/CPAN/ - -=item Florida - - ftp://ftp.cise.ufl.edu/pub/mirrors/CPAN/ - http://mirror.atlantic.net/pub/CPAN/ - ftp://mirror.atlantic.net/pub/CPAN/ + http://cpan.yimg.com/ =item Idaho - http://mirror.its.uidaho.edu/pub/cpan/ - ftp://mirror.its.uidaho.edu/cpan/ + http://mirrors.syringanetworks.net/CPAN/ + ftp://mirrors.syringanetworks.net/CPAN/ =item Illinois http://cpan.mirrors.hoobly.com/ - http://cpan.uchicago.edu/pub/CPAN/ - ftp://cpan.uchicago.edu/pub/CPAN/ - http://mirrors.servercentral.net/CPAN/ - http://www.stathy.com/CPAN/ - ftp://www.stathy.com/CPAN/ + http://mirror.team-cymru.org/CPAN/ + ftp://mirror.team-cymru.org/CPAN/ =item Indiana - ftp://ftp.uwsg.iu.edu/pub/perl/CPAN/ http://cpan.netnitco.net/ ftp://cpan.netnitco.net/pub/mirrors/CPAN/ - http://ftp.ndlug.nd.edu/pub/perl/ - ftp://ftp.ndlug.nd.edu/pub/perl/ + ftp://ftp.uwsg.iu.edu/pub/perl/CPAN/ + +=item Kansas + + http://mirrors.concertpass.com/cpan/ =item Massachusetts @@ -824,22 +840,27 @@ Generated by Porting/make_modlib_cpan.pl =item Michigan - http://ftp.wayne.edu/cpan/ - ftp://ftp.wayne.edu/cpan/ + http://cpan.cse.msu.edu/ + ftp://cpan.cse.msu.edu/ + http://httpupdate118.cpanel.net/CPAN/ + http://mirrors-usa.go-parts.com/cpan/ + http://ftp.wayne.edu/CPAN/ + ftp://ftp.wayne.edu/CPAN/ -=item Minnesota +=item New Hampshire - http://cpan.msi.umn.edu/ + http://mirror.metrocast.net/cpan/ =item New Jersey http://mirror.datapipe.net/CPAN/ ftp://mirror.datapipe.net/pub/CPAN/ + http://www.hoovism.com/CPAN/ + ftp://ftp.hoovism.com/CPAN/ + http://cpan.mirror.nac.net/ =item New York - http://mirrors.24-7-solutions.net/pub/CPAN/ - ftp://mirrors.24-7-solutions.net/pub/CPAN/ http://mirror.cc.columbia.edu/pub/software/cpan/ ftp://mirror.cc.columbia.edu/pub/software/cpan/ http://cpan.belfry.net/ @@ -847,63 +868,62 @@ Generated by Porting/make_modlib_cpan.pl ftp://cpan.erlbaum.net/CPAN/ http://cpan.hexten.net/ ftp://cpan.hexten.net/ - ftp://mirror.nyi.net/CPAN/ - http://mirror.rit.edu/CPAN/ - ftp://mirror.rit.edu/CPAN/ + http://mirror.nyi.net/CPAN/ + ftp://mirror.nyi.net/pub/CPAN/ + http://noodle.portalus.net/CPAN/ + ftp://noodle.portalus.net/CPAN/ + http://mirrors.rit.edu/CPAN/ + ftp://mirrors.rit.edu/CPAN/ =item North Carolina - http://www.ibiblio.org/pub/mirrors/CPAN - ftp://ftp.ncsu.edu/pub/mirror/CPAN/ + http://httpupdate140.cpanel.net/CPAN/ + http://mirrors.ibiblio.org/CPAN/ =item Oregon http://ftp.osuosl.org/pub/CPAN/ ftp://ftp.osuosl.org/pub/CPAN/ + http://mirror.uoregon.edu/CPAN/ =item Pennsylvania - http://ftp.epix.net/CPAN/ - ftp://ftp.epix.net/pub/languages/perl/ http://cpan.pair.com/ ftp://cpan.pair.com/pub/CPAN/ + http://cpan.mirrors.ionfish.org/ =item South Carolina http://cpan.mirror.clemson.edu/ -=item Tennessee - - http://mira.sunsite.utk.edu/CPAN/ - =item Texas - http://mirror.uta.edu/CPAN + http://mirror.uta.edu/CPAN/ =item Utah + http://cpan.cs.utah.edu/ + ftp://cpan.cs.utah.edu/CPAN/ ftp://mirror.xmission.com/CPAN/ =item Virginia - http://cpan-du.viaverio.com/ - ftp://cpan-du.viaverio.com/pub/CPAN/ - http://perl.secsup.org/ - ftp://perl.secsup.org/pub/perl/ + http://mirror.cogentco.com/pub/CPAN/ ftp://mirror.cogentco.com/pub/CPAN/ + http://mirror.jmu.edu/pub/CPAN/ + ftp://mirror.jmu.edu/pub/CPAN/ + http://mirror.us.leaseweb.net/CPAN/ + ftp://mirror.us.leaseweb.net/CPAN/ =item Washington http://cpan.llarian.net/ ftp://cpan.llarian.net/pub/CPAN/ - ftp://ftp-mirror.internap.com/pub/CPAN/ =item Wisconsin - http://cpan.mirrors.tds.net - ftp://cpan.mirrors.tds.net/pub/CPAN - http://mirror.sit.wisc.edu/pub/CPAN/ - ftp://mirror.sit.wisc.edu/pub/CPAN/ + http://cpan.mirrors.tds.net/ + ftp://cpan.mirrors.tds.net/pub/CPAN/ =back @@ -915,19 +935,32 @@ Generated by Porting/make_modlib_cpan.pl =item Australia - http://mirror.internode.on.net/pub/cpan/ + http://mirror.as24220.net/pub/cpan/ + ftp://mirror.as24220.net/pub/cpan/ + http://cpan.mirrors.ilisys.com.au/ + http://cpan.mirror.digitalpacific.com.au/ ftp://mirror.internode.on.net/pub/cpan/ - http://cpan.mirror.aussiehq.net.au/ - http://mirror.as24220.net/cpan/ - ftp://mirror.as24220.net/cpan/ + http://mirror.optusnet.com.au/CPAN/ + http://cpan.mirror.serversaustralia.com.au/ + http://cpan.uberglobalmirror.com/ + http://mirror.waia.asn.au/pub/cpan/ + +=item New Caledonia + + http://cpan.lagoon.nc/pub/CPAN/ + ftp://cpan.lagoon.nc/pub/CPAN/ + http://cpan.nautile.nc/CPAN/ + ftp://cpan.nautile.nc/CPAN/ =item New Zealand ftp://ftp.auckland.ac.nz/pub/perl/CPAN/ - http://cpan.inspire.net.nz - ftp://cpan.inspire.net.nz/cpan http://cpan.catalyst.net.nz/CPAN/ ftp://cpan.catalyst.net.nz/pub/CPAN/ + http://cpan.inspire.net.nz/ + ftp://cpan.inspire.net.nz/cpan/ + http://mirror.webtastix.net/CPAN/ + ftp://mirror.webtastix.net/CPAN/ =back @@ -937,107 +970,117 @@ Generated by Porting/make_modlib_cpan.pl =item Argentina - http://cpan.patan.com.ar/ - http://cpan.localhost.net.ar - ftp://mirrors.localhost.net.ar/pub/mirrors/CPAN + http://cpan.mmgdesigns.com.ar/ =item Brazil - ftp://cpan.pop-mg.com.br/pub/CPAN/ - http://ftp.pucpr.br/CPAN - ftp://ftp.pucpr.br/CPAN http://cpan.kinghost.net/ + http://linorg.usp.br/CPAN/ + http://mirror.nbtelecom.com.br/CPAN/ =item Chile http://cpan.dcc.uchile.cl/ ftp://cpan.dcc.uchile.cl/pub/lang/cpan/ -=item Colombia - - http://www.laqee.unal.edu.co/CPAN/ - =back =head2 RSYNC Mirrors - mirror.as24220.net::cpan - cpan.inode.at::CPAN - gd.tuwien.ac.at::CPAN - ftp.belnet.be::packages/cpan - rsync.linorg.usp.br::CPAN - rsync.arcticnetwork.ca::CPAN - CPAN.mirror.rafal.ca::CPAN - mirror.csclub.uwaterloo.ca::CPAN - theoryx5.uwinnipeg.ca::CPAN - www.laqee.unal.edu.co::CPAN - mirror.uni-c.dk::CPAN - rsync.nic.funet.fi::CPAN - rsync://distrib-coffee.ipsl.jussieu.fr/pub/mirrors/cpan/ - mir1.ovh.net::CPAN - miroir-francais.fr::cpan - ftp.crihan.fr::CPAN - rsync://mirror.cict.fr/cpan/ - rsync://mirror.netcologne.de/cpan/ - ftp-stud.hs-esslingen.de::CPAN/ - ftp.gwdg.de::FTP/languages/perl/CPAN/ - cpan.mirror.iphh.net::CPAN - cpan.cpantesters.org::cpan - cpan.hu::CPAN - komo.vlsm.org::CPAN - mirror.unej.ac.id::cpan - ftp.esat.net::/pub/languages/perl/CPAN - ftp.heanet.ie::mirrors/ftp.perl.org/pub/CPAN - rsync.panu.it::CPAN - cpan.fastbull.org::CPAN - ftp.kddilabs.jp::cpan - ftp.nara.wide.ad.jp::cpan/ - rsync://ftp.jaist.ac.jp/pub/CPAN/ - rsync://ftp.riken.jp/cpan/ - mirror.linuxiso.kz::CPAN - rsync://mirrors3.kernel.org/mirrors/CPAN/ - rsync://rsync.osmirror.nl/cpan/ - mirror.leaseweb.com::CPAN - cpan.nautile.nc::CPAN - mirror.icis.pcz.pl::CPAN - piotrkosoft.net::mirrors/CPAN - rsync://cpan.perl.pt/ - ftp.kaist.ac.kr::cpan - cpan.sarang.net::CPAN - mirror.averse.net::cpan - rsync.oss.eznetsols.org - mirror.ac.za::cpan - ftp.is.co.za::IS-Mirror/ftp.cpan.org/ - rsync://ftp.gui.uva.es/cpan/ - rsync://mirrors4.kernel.org/mirrors/CPAN/ - ftp.solnet.ch::CPAN - ftp.ulak.net.tr::CPAN - gafol.net::cpan - rsync.mirrorservice.org::ftp.funet.fi/pub/ - rsync://rsync.mirror.8086.net/CPAN/ - rsync.mirror.anlx.net::CPAN - mirror.bytemark.co.uk::CPAN - ftp.plig.net::CPAN - rsync://ftp.ticklers.org:CPAN/ - mirrors.ibiblio.org::CPAN - cpan-du.viaverio.com::CPAN - mirror.hiwaay.net::CPAN - rsync://mira.sunsite.utk.edu/CPAN/ - cpan.mirrors.tds.net::CPAN - mirror.its.uidaho.edu::cpan - rsync://mirror.cc.columbia.edu::cpan/ - ftp.fxcorporate.com::CPAN - rsync.atlantic.net::CPAN - mirrors.kernel.org::mirrors/CPAN - rsync://mirrors2.kernel.org/mirrors/CPAN/ - cpan.pair.com::CPAN - rsync://mirror.rit.edu/CPAN/ - rsync://mirror.facebook.net/cpan/ - rsync://mirrors1.kernel.org/mirrors/CPAN/ - cpan-sj.viaverio.com::CPAN + rsync://ftp.is.co.za/IS-Mirror/ftp.cpan.org/ + rsync://mirror.ac.za/CPAN/ + rsync://mirror.zol.co.zw/CPAN/ + rsync://mirror.dhakacom.com/CPAN/ + rsync://mirrors.ustc.edu.cn/CPAN/ + rsync://mirrors.xmu.edu.cn/CPAN/ + rsync://kambing.ui.ac.id/CPAN/ + rsync://ftp.jaist.ac.jp/pub/CPAN/ + rsync://mirror.jre655.com/CPAN/ + rsync://ftp.kddilabs.jp/cpan/ + rsync://ftp.nara.wide.ad.jp/cpan/ + rsync://ftp.riken.jp/cpan/ + rsync://mirror.neolabs.kz/CPAN/ + rsync://mirror.qnren.qa/CPAN/ + rsync://ftp.neowiz.com/CPAN/ + rsync://mirror.0x.sg/CPAN/ + rsync://ftp.yzu.edu.tw/pub/CPAN/ + rsync://ftp.ubuntu-tw.org/CPAN/ + rsync://mirrors.digipower.vn/CPAN/ + rsync://cpan.inode.at/CPAN/ + rsync://ftp.byfly.by/CPAN/ + rsync://mirror.datacenter.by/CPAN/ + rsync://ftp.belnet.be/cpan/ + rsync://cpan.mirror.ba/CPAN/ + rsync://mirrors.neterra.net/CPAN/ + rsync://mirrors.netix.net/CPAN/ + rsync://mirror.dkm.cz/cpan/ + rsync://mirrors.nic.cz/CPAN/ + rsync://cpan.mirror.vutbr.cz/cpan/ + rsync://rsync.nic.funet.fi/CPAN/ + rsync://ftp.ciril.fr/pub/cpan/ + rsync://distrib-coffee.ipsl.jussieu.fr/pub/mirrors/cpan/ + rsync://cpan.mirrors.ovh.net/CPAN/ + rsync://mirror.de.leaseweb.net/CPAN/ + rsync://mirror.euserv.net/cpan/ + rsync://ftp-stud.hs-esslingen.de/CPAN/ + rsync://ftp.gwdg.de/pub/languages/perl/CPAN/ + rsync://ftp.hawo.stw.uni-erlangen.de/CPAN/ + rsync://cpan.mirror.iphh.net/CPAN/ + rsync://mirror.netcologne.de/cpan/ + rsync://ftp.halifax.rwth-aachen.de/cpan/ + rsync://ftp.ntua.gr/CPAN/ + rsync://mirror.met.hu/CPAN/ + rsync://ftp.heanet.ie/mirrors/ftp.perl.org/pub/CPAN/ + rsync://rsync.panu.it/CPAN/ + rsync://mirror.as43289.net/CPAN/ + rsync://rsync.cs.uu.nl/CPAN/ + rsync://mirror.nl.leaseweb.net/CPAN/ + rsync://ftp.nluug.nl/CPAN/ + rsync://mirror.transip.net/CPAN/ + rsync://cpan.uib.no/cpan/ + rsync://cpan.vianett.no/CPAN/ + rsync://cpan.perl-hackers.net/CPAN/ + rsync://cpan.perl.pt/cpan/ + rsync://mirrors.m247.ro/CPAN/ + rsync://mirrors.teentelecom.net/CPAN/ + rsync://cpan.webdesk.ru/CPAN/ + rsync://mirror.yandex.ru/mirrors/cpan/ + rsync://mirror.sbb.rs/CPAN/ + rsync://ftp.acc.umu.se/mirror/CPAN/ + rsync://rsync.pirbot.com/ftp/cpan/ + rsync://cpan.ip-connect.vn.ua/CPAN/ + rsync://rsync.mirror.anlx.net/CPAN/ + rsync://mirror.bytemark.co.uk/CPAN/ + rsync://mirror.sax.uk.as61049.net/CPAN/ + rsync://rsync.mirrorservice.org/cpan.perl.org/CPAN/ + rsync://ftp.ticklers.org/CPAN/ + rsync://mirrors.uk2.net/CPAN/ + rsync://CPAN.mirror.rafal.ca/CPAN/ + rsync://mirror.csclub.uwaterloo.ca/CPAN/ + rsync://mirrors.namecheap.com/CPAN/ + rsync://mirrors.syringanetworks.net/CPAN/ + rsync://mirror.team-cymru.org/CPAN/ + rsync://debian.cse.msu.edu/cpan/ + rsync://mirrors-usa.go-parts.com/mirrors/cpan/ + rsync://rsync.hoovism.com/CPAN/ + rsync://mirror.cc.columbia.edu/cpan/ + rsync://noodle.portalus.net/CPAN/ + rsync://mirrors.rit.edu/cpan/ + rsync://mirrors.ibiblio.org/CPAN/ + rsync://cpan.pair.com/CPAN/ + rsync://cpan.cs.utah.edu/CPAN/ + rsync://mirror.cogentco.com/CPAN/ + rsync://mirror.jmu.edu/CPAN/ + rsync://mirror.us.leaseweb.net/CPAN/ + rsync://cpan.mirror.digitalpacific.com.au/cpan/ + rsync://mirror.internode.on.net/cpan/ + rsync://uberglobalmirror.com/cpan/ + rsync://cpan.lagoon.nc/cpan/ + rsync://mirrors.mmgdesigns.com.ar/CPAN/ + For an up-to-date listing of CPAN sites, -see http://www.cpan.org/SITES or ftp://www.cpan.org/SITES . +see L<http://www.cpan.org/SITES> or L<ftp://www.cpan.org/SITES>. =head1 Modules: Creation, Use, and Abuse |