#!/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'