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;

彼らはあなたの時間を節約します!あなたは行のaを逃しました。;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 に答える