use HTML::TokeParser; $p = HTML::TokeParser->new(shift||"index.html"); while (my $token = $p->get_tag("p")) { my $text = $p->get_trimmed_text("/p"); print "$text\n"; }