If you want to just turn HTML into something that will
display as plain text, then you
don't really need to parse it. Instead just use the
HTML::Entities module's encode_entities() function.
(Included with recent Perls, type
perldoc HTML::Entities at the command line,
if that gives you documentation then you have it.) If you
have it then you can use it as follows:
use HTML::Entities;
# Insert much code here
my $escaped_html = encode_entities($raw_html);
# Insert the rest of your program
If you want to retain the formatting, then you have to
work harder. The simplest solution is to just surround
the included HTML with pre tags. Another common solution
is to turn returns into br tags and leading spaces into
tags. You can also use the textbox solution
that was already given, but it only works with arbitrary
HTML if you already have escaped it. (Otherwise nothing
stops the HTML from having a closing textbox tag to mess
you up.)