LWP::UserAgentのタイムアウト判別
URIにアクセスできたけどエラーが返されたのか、そもそもアクセスできなかったのかを区別するのはどうすればいいのか、ということでちょっと悩まされた。
use LWP::UserAgent; my $ua = LWP::UserAgent->new; $ua->timeout(10); my $res = $ua->get($url); my $msg = ($res->is_success) ? $res->content : $res->status_line; print "$msg\n";
タイムアウトした際は、status_line()が 500 read timeout になる、というだけでした。