#!/usr/bin/perl use lib '/usr/share/perl5/'; use Mirmon::Mirmon ; $m = Mirmon -> new ( '/etc/mirmon.conf' ); $conf = $m->conf ; # a Mirmon::Conf object $state = $m->state ; # the mirmon state use Data::Dumper; my $mirrors; foreach my $url ( keys %{$state} ) { next unless $url =~ /^http/; $mirror = $state -> { $url } ; # a Mirmon::Mirror object my ($time, $history) = split('-', $mirror->{state_history}); my $last_state = substr($history,-1,1); next if $last_state eq 'f'; my $region = $mirror->region; $mirrors->{ $region } ||= []; $url =~ s/^http:\/\///; push @{$mirrors->{ $region }}, $url; } foreach my $region (keys %{$mirrors}) { printf ("%s %s\n", lc($region), join('|', @{$mirrors->{$region}})); }