Entonces es que no te está guardando bien el archivo...Intenta con el código que aparece en esta faq que habla sobre como guardar imágenes...
http://www.forosdelweb.com/showpost....4&postcount=65
obviamente fijate lo que te interesa que es cuando abre el archivo y le envía la info, creo que no podés hacer un simple print IMAGEN $im;
quiedaría algo así
Código:
open (IMAGEN, ">$NombreFichero") || die "No se pudo guardar la imagen";
binmode(IMAGEN);
while (my $bytesread = read($im, my $buffer, 1024)) {
print IMAGEN $buffer;
}
Intenta con eso y vemos...
Saludos