App-SpeedTest
view release on metacpan or search on metacpan
my $m = $ENV{NO_COLOR} ? "Pod::Text" : "Pod::Text::Color";
my $p = $m->new ();
open my $fh, ">", \my $out;
$p->parse_from_file ($0, $fh);
close $fh;
print $out;
exit 0;
} # pod_text
sub pod_nroff {
first { -x "$_/nroff" } grep { -d } split m/:+/ => $ENV{PATH} or pod_text ();
require Pod::Man;
my $p = Pod::Man->new ();
open my $fh, "|-", "nroff", "-man";
$p->parse_from_file ($0, $fh);
close $fh;
exit 0;
} # pod_nroff
# Debugging. Prefer Data::Peek over Data::Dumper if available
cos (deg2rad ($lat_c)) * cos (deg2rad ($lat_s)) *
sin ($dlon / 2) * sin ($dlon / 2);
return $rad * 2 * atan2 (sqrt ($x), sqrt (1 - $x)); # km
} # distance
sub servers {
my %list = get_servers ();
if (my $iid = $config->{"server-config"}{ignoreids}) {
$opt_v > 3 and warn "Removing servers $iid from server list\n";
delete @list{split m/\s*,\s*/ => $iid};
}
$opt_a or delete @list{grep { $list{$_}{cc} ne $opt_c } keys %list};
%list or die "No servers in $opt_c found\n";
for (values %list) {
$_->{dist} = distance ($client->{lat}, $client->{lon},
$_->{lat}, $_->{lon});
($_->{url0} = $_->{url}) =~ s{/speedtest/upload.*}{};
$opt_v > 7 and ddumper $_;
}
return %list;
( run in 0.553 second using v1.01-cache-2.11-cpan-f5b5a18a01a )