#!/usr/bin/perl use strict; use LWP::UserAgent; use HTML::TokeParser; ### Main Program ### my $ua = LWP::UserAgent->new; my $rq = HTTP::Request->new('GET', 'http://news.yahoo.com'); my $r = $ua->request($rq); my ($content, $parser, $token, $token2); if ($r->is_success) { # parse the contents of the page $content = $r->content; $parser = HTML::TokeParser->new(\$content); while ($token = $parser->get_token) { if ($token->[0] eq 'T' && $token->[1] =~ /Top (\s+|\n)Story/) { print "
"; print $token->[1]; while ($token2 = $parser->get_token) { if ($token2->[0] eq 'S') { print $token2->[4]; } elsif ($token2->[0] eq 'E') { print $token2->[2]; } else { print $token2->[1]; } last if $token2->[1] =~ /More\s+Health\s+Headlines/; } } } print "
"; }