$> for i in `seq -w 1 100`; do cp originalmono.tiff originalmono${i}.tiff; done #### use strict; use warnings; use Imager; my $fn='originalmono'; my $img = Imager->new(); my $tdiff = time(); opendir my $dirh, '.' or die "Can't read: $!"; while( my $name = readdir $dirh ) { if( $name =~ /^$fn\d+.+tiff$/ ) { $img->read(file=>$name) or die $img->errstr(); # *** qtype=>'preview' / qtype=>'normal' my $omg = $img->scale(xpixels=>1024, ypixels=>768, type=>'min', qtype=>'preview'); # *** file=>"$name.png" / file=>"$name.gif" $omg->write(file=>"$name.png") or die "Can't write: ", $img->errstr; } } $tdiff = time() - $tdiff; closedir $dirh; print "$tdiff seconds\n"