Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl 忽略不存在网页的获取错误_Perl_Get_Www Mechanize - Fatal编程技术网

Perl 忽略不存在网页的获取错误

Perl 忽略不存在网页的获取错误,perl,get,www-mechanize,Perl,Get,Www Mechanize,我使用WWW::Mechanize获取和处理网页。我有一段代码,它在一个网页列表中循环。大致如下: while (<$readFileHandle>) { $mech->get("$url"); } while(){ $mech->get($url”); } 现在,当列表中的一个网页由于某种原因不存在时(这是正常的),就会出现问题。问题是在这种情况下,程序返回错误并退出。错误如下所示: Error GETing <url> Not Found at &l

我使用
WWW::Mechanize
获取和处理网页。我有一段代码,它在一个网页列表中循环。大致如下:

while (<$readFileHandle>) {
    $mech->get("$url");
}
while(){
$mech->get($url”);
}
现在,当列表中的一个网页由于某种原因不存在时(这是正常的),就会出现问题。问题是在这种情况下,程序返回错误并退出。错误如下所示:

Error GETing <url> Not Found at <PATH/file.pl> line ...
在第行中找不到获取错误。。。
我怎么能忽略这类错误呢?我希望程序继续运行。

您需要使用
eval{}为此:

while ( my $url = readline($readFileHandle) ) {
    chomp $url;
    eval {
        $mech->get($url);
    };
    if ($@) {
      #error processing code
    }
}