#! /usr/bin/perl -w
# Gets and edits http://www.cpan.org/mirror/list.
# When run by cron ensures $f update before Debian mirror package release.
# Ian Maclaine-cross <iml@debian.org> 2003/02/12

$d="/home/iml/data/mirror/mirror-2.9/debian/";
$f="CPAN";
$l=`lynx -dump http://www.cpan.org/SITES.html`;

$p="$d$f";
$po="$p.old";
rename $p, $po;
for( $l ){
    s/^.+\[RSYNC Mirrors\]//s;
    s/RSYNC Mirrors.+$//s;
};
open( F, "| sort -u > $p" );
$0 =~ s/.*\///;
print( F "\#A file $f created ".gmtime()." UTC by $0.\n" ); 
foreach $word( split /\s/, $l ){
    if ( $word =~ s|.*ftp://(\w+(\.\w+)+)/.*|$1|s ){        
	print( F "$word\n" ) unless $word =~ m/.*\/.*/; 
    };
}
close( F );

rename $po, $p unless `diff -u -I"^\# $f" $po $p`;

exit;
