$parser = HTML::Parser->new(api_version => 3) $parser->handler(start => \&start,'self,tagname,attr'); $parser->handler(text => \&text,'self,text'); @todo = ["", $starturl]; while(@todo) { my ($refer, $url) = @{shift @todo} next if (exists $done{$url}); $request = GET $url, [referer=>$refer]; if ($response->is_success()) { $done{$url} = 1; $parser->{base} ||= $response->base; $parser->{browser} ||= $browser; $parser->parse($response->content); $parser->eof(); } .. } sub text { my ($self, $text)= @_; print $text . "\n"; }