use strict; use warnings; use HTML::TreeBuilder; use HTML::Lint; my $html = do {local $/; ()}; my $lint = HTML::Lint->new (only_types => HTML::Lint::Error::STRUCTURE); $lint->parse ($html); $lint->eof (); print "HTML::Lint report:\n"; print join "\n", map {$_->as_string ()} $lint->errors (); my $tree = HTML::TreeBuilder->new (); $tree->parse ($html); $tree->eof (); print "\n\nTreeBuilder cleaned up HTML\n"; print $tree->as_HTML (); __DATA__

test

#### HTML::Lint report: (1:14) at (1:7) is never closed (1:18) tag is required (1:18) tag is required (1:18) tag is required (1:18) tag is required TreeBuilder cleaned up HTML <html><head></head><body><p><b><i>test</i></b></body></html>