my @img = map { $_->[0] } sort { $tsort{$Option{thumbsorting}}->() } map { my $seq = m/(\d+)/ ? $1 : 0; [ $_, $seq, (stat "$idir/$_")[7,9], lc $_, rand 1 ] } grep { my $s = -s "$idir/$_"; $s and $s > 100 } # Sanity check. Minimal image size 100 # convert can't deal with .ico files (yet) # Tk can deal with Tiff/NEF as of 804.027_501 with Tk::TIFF grep m/\.(jpe?g|gif|x[pb]m|png|bmp|tiff?|nef)$/i => @file_names; #### @out = map substr ($_, 1 + rindex $_, "\0") => sort => map "\L$_\E\0$_" => @in; #### # sort file names by the (first) sequence of digits, then by size my @sorted = map { $_->[0], sort { $a->[1] cmp $b->[1] } map { m/(\d+)/; # sort by digits in file name [ $_, pack "l>l>", $1 || 0, -s $_ ] } @filelist;