WWW::Mechanize で HTTP ステータスによって die するのを回避する

通常の初期設定では、WWW::Mechanize は HTTP ステータスで 400 や 404 コードが返されると、WWW::Mechanize は die を起こして処理を中断してしまう。
そのため、400 や 404 コードが返された場合の処理が記述できない。

対応方法

use WWW::Mechanize;

my $mech = WWW::Mechanize->new( autochek => 0 );
$mech->get('http://www.example.com/return/404_code.html');
if ($mech->is_success) {
    # HTTP レスポンスを正常に受け取れた場合の処理
    ...
} else {
    if (400 == $mech->status) {
        # Bad Request の場合の処理を記述
        ...
    } elsif (503 == $mech->status) {
        # Server Error の場合の処理を記述
        ...
    } elsif (404 == $mech->status) {
        # URL が存在しない場合の処理を記述
        ...
    } else {
        # その他のエラーの場合の処理を記述
        ...
    }
}