XML::LibXML::parse_html_string で HTML の一部、たとえばブログ記事の本文のみとか、をパースしようとして無駄に苦戦してしまったのでメモ。 以下のような、DOCTYPE 宣言もなければ html/body 要素もないけど、ちゃんと(?)HTMLの一部ではあるものを XML::LibXML でパース、ごにょったあと出力したい。 #!/usr/bin/perl use strict; use warnings; use XML::LibXML; my $html =<<HTML; <div class="entry"> <p>test!!</p> </div> HTML my $parser = XML::LibXML->new; my $doc = $parser->parse_html_string($html); print $doc->toStringH