use HTML::Parser; use HTML::Entities; my $html = '
Your "HTML" page goes here
'; my $enc = ''; my $p = HTML::Parser->new( unbroken_text => 1, default_h => [ sub { $enc .= join('', @_) }, "text" ], text_h => [ sub { $enc .= HTML::Entities::encode_entities($_[0]) }, "text" ], ); $p->parse($html); print $encoded;