use HTML::TokeParser::Simple; my $p = HTML::TokeParser::Simple->new( \$html ); while ( my $token = $p->get_token ) { next unless $token->is_text; print $token->return_text; }