use HTML::TokeParser::Simple;
my $parser = HTML::TokeParser::Simple->new(\$html);
my $new_html = '';
while (my $token = $parser->get_token) {
my $text = $token->as_is;
$new_html .= $token->is_text ? munge_text($text) : $text;
}
print $new_html;
sub munge_text {
# put your text munging stuff here
}