in reply to ImageInfo errors

Image::Info doesn't download images from URLs, it only supports local files. so you're probably going to get a height and width of zero. Ofcourse you could have tested for that yourself (from the docs):
my $info = image_info("image.jpg"); if (my $error = $info->{error}) { die "Can't parse image info: $error\n"; }
See also LWP::Simple