0
use strict;
use warnings;
use utf8;
use 5.010;
use HTML::HTML5::Parser;

open (FILE, '<links.txt') ;

my @lines = <FILE>;
my $i;
my $a = $lines[$i];

my $xml = HTML::HTML5::Parser->load_html(location => $a) ;

エラーが発生しました:「C:/Dwimperl/perl/site/lib/HTML/HTML5/Parser/TagSoupParser.pm 行 2946 の未定義の値でメソッド "setValue" を呼び出せません」

最初に if を挿入して値を定義しようとしましたが、うまくいきません。

私は Perl を学び始めたばかりです。誰か助けてくれませんか?

4

1 に答える 1

0
use strict;
use warnings;
use utf8;
use 5.010;
use HTML::HTML5::Parser;
use Try::Tiny;

open (my $FILE, '<', 'links.txt') ;
my @lines = <$FILE>;
my $i = 0;
foreach my $a (@lines) {
    my $xml = try {
        HTML::HTML5::Parser->load_html(location => $a)
    } catch {
        warn "Bad line [$i][$a]";
        warn "Actual error: $_";
    };
    $i++;
}

コードが実際にどのように構造化されているかについて、私の最善の推測でコードをクリーンアップし、( を使用してTry::Tiny) try/catch ブロックを追加して、問題のある行を特定する方法を示しました。

問題を実際に診断する前に、問題の原因となっている入力を特定する必要があります。

于 2013-05-03T16:54:36.003 に答える