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_radio2,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; } }