use HTML::Parser; use strict; my $str = '

something something

blah <<< blah blah

something something

'; my $parser = HTML::Parser->new(default_h=> [\&handler, "tagname, text"]); $parser->parse($str); sub handler { my ($tag, $text) = @_; if ($tag) { if ($tag eq "h2") { print "

"; } else { print "<$tag>"; } } else { print $text; } }