> This is the beginning of a subroutine that should convert pictures i
+n
other
> formats to jpg.
>
> my($name) = shift;
> my($img) = Image::Magick->new;
> if (!($name =~ /.jpg|.JPG/)){
>
> open(IMAGE, $name); # Open the original file
>
> $rc = $img->Read(file=>\*IMAGE); # Read the file
To me, the above two lines are a somewhat cumbersome looking way of
reading the file. If you must use a pre-opened file handle, maybe it
would be worth figuring it out. One idea, is that if you are on
Windows, it might be that you need to use "binmade" on the handle,
before passing it it Read, I have no idea if Read does such internally
+.
But it sounds to me that you would be just as happy using
$rc = $mig->Read(filename=>$name);
instead of the above 2 lines, and then... down below...
>
> print $rc;
>
> close(IMAGE); # Close the original file handle
>
> my($base, $ext) = split(/\./,$name); # extract the base of
+ the
file
> name
>
> $name = "$base.jpg"; # Add the 'jpg' to the filename
>
> open(IMAGE, ">$name"); # Open the file for outputting the
converted
> image
>
> $rc = $img->Write(file=>\*IMAGE, filename=>"$name"); # Wri
+te the
image
$rc = $img->Write(filename=>$name);
instead of the above 2 lines.
> print $rc;
>
> close(IMAGE); # Close the file handle
> }
And what a coincidence that the original author, when he wrote this on November 9, 2004, also thought "the above two lines are a somewhat cumbersome looking way of reading the file.", etc.
Of course, when he wrote the message, and said "down below...", he then went ahead and provided more code. Your message kind of abruptly ends with "instead of the above 2 lines, and then... down below...", which lacks a certain sense of closure, I think.
s''(q.S:$/9=(T1';s;(..)(..);$..=substr+crypt($1,$2),2,3;eg;print$..$/
|