#!/usr/bin/perl
package MyParser;
use HTML::Parser;
use vars qw(@ISA);
use strict;
@ISA = qw(HTML::Parser);
sub start {
my($self, $tag, $attr, $attrseq, $origtext) = @_;
if ($tag eq 'img') {
if ($attr->{src} =~ /\/comics\/[^\/]*\.gif/) {
$self->{imageurl} = $attr->{src}
}
}
}
#------------------------------------------------------------------------------
package main;
use CGI;
use LWP::UserAgent;
use HTTP::Request;
use strict;
my $ua = new LWP::UserAgent;
my $req = new HTTP::Request(GET => 'http://www.sluggy.com/');
my $p = new MyParser;
my $res = $ua->request($req, sub { $p->parse(@_) });
die "ERROR: Unable to find image url!\n" unless $p->{imageurl};
$req = new HTTP::Request(GET => "http://www.sluggy.com$p->{imageurl}");
open(XV, "|xv -") || die "ERROR: Unable to run xv: $!\n";
$res = $ua->request($req, sub { syswrite XV, $_[0], length($_[0]) });
close(XV);
1;