Thank you very much for this script. I dropped in straight onto my box and ran it beautifully.
However, I've got a couple of questions about the code. On Wednesday 27 March 2002 6:46 pm, Randal L. Schwartz wrote: > #!/usr/bin/perl > use strict; > > use Image::Magick; > > my $im = Image::Magick->new; > > umask 0022; > > my @names = @ARGV ? @ARGV : grep { -f and -B } <*>; I read this to say, if filenames passed use them otherwise do the whole of the current directory. I believe that the grep takes the list provided by <*> performs the -f and -B filters on the list and assigns the result to @names. Am I correct, and what does the -f and -B do? > > for (@names) { > if (/ /) { > my $old = $_; > tr, ,_,s; > $_ .= ".jpg" unless /\.jpg$/; > ! -e and rename $old, $_ or next; > warn "renaming $old to $_\n"; > } I see the above renames any file containing spaces to include '_' instead > next if /\.thumb\.jpg$/; > my $thumb = "$_.thumb.jpg"; > next if -e $thumb; skip to next if this is a thumbnail, or if the thumbnail already exists > undef @$im; This one confused me. I'm assuming that it's resetting the variables used by the object $im, while keeping the object intact. If this is correct, is this something specific to Image::Magick, or can a similar method work with most objects? > my $ret; > $ret = $im->Read($_) > and warn($ret), next; > $ret = $im->Scale(geometry => '100x100') > and warn($ret), next; > $ret = $im->Write($thumb) > and warn($ret), next; I can see what you're getting at here, but I want to make sure I understand the mechanic. If $im->Read fails, it assigns an error value to $ret, which in turn returns true. Only if the assignment is true, will the second half of the 'and' execute giving the warning and skipping > warn "thumbnail made for $_\n"; > } > > This creates a thumb that is proportional, but at most 100pxl in > either dimension. ImageMagick does all the math. :) Once again, thanks for the help -- Gary Stainburn This email does not contain private or confidential material as it may be snooped on by interested government parties for unknown and undisclosed purposes - Regulation of Investigatory Powers Act, 2000 -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]