2013-04-01 1 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 
    } 
}