use LWP::Simple;
use CGI qw(:standard escapeHTML);
{
my %cache = (Time => 0, Data => "");
my $comicsdata = {
Dilbert => {
Page => "http://dilbert.com" ,
Regex => qr[(/comics/dilbert/archive/images/dilbert\d+.gif)] ,
Base => "http://dilbert.com"
}
};
sub get_data {
my $out_comics = "";
my $name = "";
foreach $name (keys %$comicsdata) {
my $page = get("$$comicsdata{$name}{Page}");
my $regex = $$comicsdata{$name}{Regex};
my @comics = ($page =~ m/$regex/g);
my $base = $$comicsdata{$name}{Base};
@comics = map { $base . $_ } @comics;
$out_comics .= $name . a({-href=>$page}, map { img({-src=> $_}) } @comics);
}
$cache{Time} = time;
return($cache{Data} = $out_comics);
}
}
print get_data;