#! /usr/bin/perl use warnings; use LWP::Simple; #set date for making directory ($day, $month, $year) = (localtime)[3..5]; $year += 1900; $month++; $date = "$year-$month-$day"; $dir = "/home/nathan/music/$date"; #open file to create an array to test against open FILE, "< /home/nathan/bin/podcast.log" or die("Can't open podcast.log for reading:$!"); @test=; close FILE; #open file to add to log file open(CONF, ">> /home/nathan/bin/podcast.log") or die("Can't open podcast.log for writing"); #making directory and chdir to it mkdir($dir) unless -d $dir; chdir($dir) or die("Can't change directory: $!"); #basic extraction of urls foreach () { $rss = get($_) or warn("Cant get $_: $!"); while ($rss =~ /url\s*=\s*["']?([^'">]+?)*./gi) { ($url = $&)=~ s/^url=['"]//gi; $url =~ s/['"]$//gi; #added for lugradio's awkward rss feed $url =~ s/\?podcast$//; ($url =~ /[a-z0-9_?-]+?\....$/i) || ($url =~ /[a-z0-9_?-]+?\.mp3.torrent$/i); $line = join( $", @test); #downloading file getstore($url, $&) unless $line =~ /$&/; #entering file into log print CONF "$&\n" unless $line =~ /$&/; } } __DATA__ http://perlcast.com/rss/current.xml