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;