use HTML::TokeParser::Simple; my $p = HTML::TokeParser::Simple->new(shift || die); while ( my $token = $p->get_token ) { if ($token->is_text) { print $token->as_is; } else { chomp(); } }