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 " }