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

Perl错误“无法在Parser.pl第6行的未定义值上调用方法”get_tag”,perl,html-parsing,www-mechanize,html-parser,Perl,Html Parsing,Www Mechanize,Html Parser,我编写了一个简单的perl脚本,但遇到以下运行时错误: 无法在Parser.pl第6行对未定义的值调用方法get_标记 下面是我的代码: #!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程序的

我编写了一个简单的perl脚本,但遇到以下运行时错误:

无法在Parser.pl第6行对未定义的值调用方法get_标记

下面是我的代码:

#!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代码时出现的错误。

不使用的问题:

use strict;
use warnings;
他们帮你节省时间!你错过了一次机会;在该行中,使用HTML::语法分析器

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

#!/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";
}

不使用的问题:

use strict;
use warnings;
他们帮你节省时间!你错过了一次机会;在该行中,使用HTML::语法分析器

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

#!/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";
}

太棒了。。只是我这边的一个很小的错误。。非常感谢各位,太棒了。。只是我这边的一个很小的错误。。谢谢大家。