A perlish version of the script (hopefully), also untested and may overwrite things.
use LWP::Simple;
use Archive::Zip;
my $url = 'http://www.bleb.org/tv/data/listings?format=XMLTV&file=zip&
+channels=bbc1,bbc2,bbc3,bbc4,bbc7,itv1,ch4,five,abc1,bbc_6music,bbc_r
+adio2,bbc_radio4,e4,itv2,itv3,uk_history&days=0';
my $zipfile = 'bleb.zip'
if (is_success ( getstore $url, $zipfile ) {
my $zip = Archive::Zip->new($zipfile);
foreach my $z ($zip->members) {
$zip->extractMember;
}
}
just another cpan module author