1

我写了一个简单的 perl 脚本,但我得到了这个运行时错误:

无法在 Parser.pl 第 6 行的未定义值上调用方法“get_tag”

下面是我的代码:

#!usr/bin/perl
use HTML::TokeParser
my $p=HTML::TokeParser->new('bad.html');
while (my $token=$p->get_tag('a')){
my $url=$token->[1]{href};
print "$url\n";
}

我在这个 perl 程序的同一目录下放置了一个文件 bad.html。下面是 bad.html 的代码

<html><body>
<a href="https://www.Google.com">Google</a>
<a href="https://www.yahoo.com">Yahoo</a>
</body></html>

请帮助我解决运行我的 perl 代码时的错误。

4

1 回答 1

6

不使用的问题:

use strict;
use warnings;

它们可以为您节省时间!你错过了;排队use HTML::TokeParser

您可以以更好的方式编写脚本:

#!/usr/bin/env perl

use strict;
use warnings;

use HTML::TokeParser;

my $p = HTML::TokeParser->new('bad.html');
while ( my $token = $p->get_tag('a') ) {
    my $url = $token->[1]{href};
    print "$url\n";
}
于 2012-08-30T06:33:04.473 回答