2013-04-01 2 views
1

Я использую WWW::Mechanize для извлечения и обработки веб-страниц. У меня есть фрагмент кода, который перебирает список веб-страниц. Это выглядит примерно так:Игнорирование ошибки GET на неиспользуемой веб-странице

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

Теперь проблема возникает, когда один из веб-страниц в списке не существует для какой-то причине (что хорошо). Проблема в том, что в этом случае - программа возвращает ошибку и завершает работу. Ошибка выглядит так:

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

Как я могу игнорировать такой тип ошибок? Я хочу, чтобы программа продолжала работать.

ответ

3

Вы должны использовать eval {}; для этого:

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