#!/usr/bin/env perl
# "dumpcpanurls" - list the mirrors CPAN.pm is configured to try
$\=qq{\n};
use CPAN ;
CPAN::Config->load ;
print join qq{\n}, @{$CPAN::Config->{'urllist'}} ;
####
perl -MCPAN -le "CPAN::Config->load; print join qq(\n)=> @{ \$CPAN::Config->{urllist} }"
# remove this^ escape for windows shell
##
##
dumpcpanurls | perl -le 'do{s#^\w+p://([^/]+).*#$1#;print} for()' \
| xargs --max-args 1 ping -c 2
##
##
dumpcpanurls | perl -le 'do{s#^\w+p://([^/]+).*#$1#;print} for()' \
| xargs netselect -vv
##
##
perl -MCPAN -le \
'CPAN::Config->load;
system "netselect", "-vv",
map { s#^\w+p://([^/]+).*#$1# && $_ || ""}
@{ $CPAN::Config->{urllist} } '
##
##
perl -MCPAN -le \
'CPAN::Config->load;
my @hosts;
for (@{ $CPAN::Config->{urllist} }) {
s#^\w+p://([^/]+).*#$1# &&
push @hosts => $_ }
system("netselect", "-vv", @hosts) if @hosts'