0
#!/usr/bin/perl

use HTML::TreeBuilder;

my $tree = HTML::TreeBuilder->new; 

$tree->parse_file("sample.html");

foreach my $anchor ($tree->find("p")) {

  print $anchor->as_text, "\n";

}

我的代码没有打印任何输出。$tree->find("p")正在返回 NULL。

4

1 回答 1

0

您没有打开文件,或者它完全无法解析。

尝试类似:

my $file = shift(@ARGV) or die "No filename given";
$tree->parse_file($file) or die "Unable to open $file";

这样你就可以检查它是哪个。

当我为 sample.html 提供以下内容时,您的脚本运行良好

<html>
<head><title>test file</title></head>
<body>
    <h1>Title</h1>
    <p>First para</p>
    <p>Second para</p>
    <div>
        <P>Third para</P>
    </div>
</body>
</html>
于 2012-11-06T12:20:41.877 回答