I think you may prefer the easier
Image::Grab which has a really easy to use interface and easy commands.
Here is your code written over(in the way I would write it :).
sub get_object{
use Image::Grab qw(grab);
my($agent, $url, $referer, $save_path) = @_;
my($request, $response, $content);
$content = grab("$url");
$save_path ?
print("Getting picture: $url...")
: print("Getting info from $url\n");
return($content) unless ($save_path);
open(OUT, ">$save_path") or die("Couldn\'t open picturefile to sav
+e: $!");
binmode(OUT);
print(OUT $content);
close(OUT);
}
$_.=($=+(6<<1));print(chr(my$a=$_));$^H=$_+$_;$_=$^H;
print chr($_-39); # Easy but its ok.