1

私はWWW::MechanizeWebページを取得して処理するために使用します。Web ページのリストをループするコードがあります。おおよそ次のようになります。

while (<$readFileHandle>) {
    $mech->get("$url");
}

この問題は、リスト内の Web ページの 1 つが何らかの理由で存在しない場合に発生します (これは問題ありません)。問題は、この場合、プログラムがエラーを返して終了することです。エラーは次のようになります。

Error GETing <url> Not Found at <PATH/file.pl> line ...

このようなタイプのエラーを無視するにはどうすればよいですか? プログラムを実行し続けたい。

4

1 に答える 1

3

eval {};これには次を使用する必要があります。

while ( my $url = readline($readFileHandle) ) {
    chomp $url;
    eval {
        $mech->get($url);
    };
    if ($@) {
      #error processing code
    }
}
于 2013-04-01T12:35:29.237 に答える