I updated my template for my use.perl journal reader. Most things show up in a readable form thanks to Damian Conway's black magic in Text::AutoFormat. Most other things are special cases for the wierd things people do with HTML.
This code is the entire file that Text::Template uses to form each message.
{
use HTML::Entities;
use Text::Autoformat;
$entry{body} =~ s=?(p|blockquote)/?>=\n\n=gi;
$entry{body} =~ s=?tt>==gi;
$entry{body} =~ s|?i>|__|gi;
$entry{body} =~ s|?b>|*|gi;
decode_entities( $entry{body} );
my $text = autoformat( $entry{body}, { right => 73, all => 1 } );
$text =~ s|\n{3,}|\n\n|gi;
$text =~ s=^\n+|\n+$==gi;
"======================================================================
$entry{nickname}: $entry{subject}
$entry{date}, $entry{id}
----------------------------------------------------------------------
$text
"
}