Do not use LWP::Simple::getstore
LWP::Simple::getstore looks only response code from LWP::UserAgent, but It doesn't handles I/O error on file system.
use LWP::Simple;
getstore("http://image.gihyo.co.jp/assets/images/dev/serial/01/sbcv/0002/3.jpg", '/root/err.jpg')
or die "Cannot get image";
You cannot handle "Permission Denied" error. orz.
Please use LWP::UserAgent instead. Do not use LWP::Simple in production script. Following script has valid error handler.
use LWP::UserAgent;
my $ua = LWP::UserAgent->new();
my $req = HTTP::Request->new(GET => 'http://image.gihyo.co.jp/assets/images/dev/serial/01/sbcv/0002/3.jpg');
my $res = $ua->request($req, '/root/err.jpg');
if (my $died = $res->header('X-Died')) {
die $died;
} elsif ($res->code != 200) {
die $res->status_line;
} else {
# succeeeded.
}
Published: 2012-06-21(Thu) 02:23