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. }