Ubuntu 8.04, perl 5.10.1
HTML::Tidy has been released three times this year (the last on 17 September) so some of the criticisms may have been addressed.
It requires tidyp (version 1.04 recently released) which is a fork of tidy.
I was able to install tidyp in the usual way and H::T installed without fuss using cpanp.
#! /usr/bin/perl
use strict;
use warnings;
use HTML::Tidy;
my $tidy = HTML::Tidy->new(
{
output_xhtml => 1,
tidy_mark => 0,
markup => 1,
q{show-body-only} => 1,
}
);
printf qq{tidyp: %s\n}, $tidy->tidyp_version;
printf qq{libtidyp: %s\n}, $tidy->libtidyp_version;
printf qq{HTML::Tidy: %s\n}, $HTML::Tidy::VERSION;
my $html = do {local $/;<DATA>};
$tidy->parse(q{test.html}, $html)
or die q{parse failed};
for my $message ($tidy->messages){
print $message->as_string, qq{\n};
}
my $xhtml = $tidy->clean($html);
print $xhtml;
__DATA__
<div>
<p>tidy</p>
<img src="pic.jpg">
</div>
tidyp: 1.04
libtidyp: 1.04
HTML::Tidy: 1.54
test.html (1:1) Warning: missing <!DOCTYPE> declaration
test.html (1:1) Warning: inserting implicit <body>
test.html (1:1) Warning: inserting missing 'title' element
test.html (3:3) Warning: <img> lacks "alt" attribute
<div>
<p>tidy</p>
<img src="pic.jpg" /></div>
See the tidy
quick reference for all the configuration options.