in reply to problems with advanced array sort
my @sorted = sort { ($a =~ /(\d+)\D*$/)[0] <=> ($b =~ /(\d+)\D*$/)[0] } @filenames; [download]
use Sort::Key qw(isortkey); my @sorted = isortkey { /(\d+)\D*$/; $1 } @filenames; [download]