# file named 'libxml-html-forgiving'
use warnings;
use strict;
use XML::LibXML;
my $corpus = join "", ;
my $parser = XML::LibXML->new();
# give command line an argument to hide errors
@ARGV ? $parser->recover_silently(1) : $parser->recover(1);
my $doc = $parser->parse_html_string($corpus);
print "-" x 60, "\n";
print "parse_html rendered with serialize_html\n";
print "-" x 60, "\n";
print $doc->serialize_html();
print "-" x 60, "\n";
print "parse rendered with serialize_html\n";
print "-" x 60, "\n";
my $doc2 = $parser->parse_string($corpus);
print $doc2->serialize_html();
__END__
Some HTML & a problem with it > normal but deadly;
##
Some HTML & a problem with it > normal but deadly;
Some HTML a problem with it > normal but deadly;
Some HTML & a problem with it > normal but deadly;
##
moo@cow[48]~/bin>perl libxml-html-forgiving 1
------------------------------------------------------------
parse_html rendered with serialize_html
------------------------------------------------------------
##
moo@cow[49]~/bin>perl libxml-html-forgiving
HTML parser error : htmlParseEntityRef: no name
Some HTML & a problem with it > normal but deadly;
^
------------------------------------------------------------
parse_html rendered with serialize_html
------------------------------------------------------------
Some HTML a problem with it > normal but deadly;