in reply to how to force HTML to display as text

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.)