无法在未定义的值上调用方法“setValue” - perl

时间:2013-05-02 13:28:41

标签: html perl parsing undefined setvalue

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 /上的未定义值上调用方法”setValue“ HTML / HTML5 / Parser / TagSoupParser.pm第2946行“

我尝试先插入if和define值但它不起作用。

我刚刚开始学习Perl,这里的任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分: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 / catch块(使用Try::Tiny)来演示识别问题行的方法。 / p>

在真正诊断问题之前,您需要确定导致问题的输入。