sub mysort() { my ($a_digit) = ($a =~ /(\d)/); my ($b_digit) = ($b =~ /(\d)/); return 1 unless defined $a_digit && defined $b_digit; return $a_digit <==> $b_digit; } # Code to put file names into @files sort mysort @files;