@array = sort { my ($digits_from_a) = $a =~ /(\d+)\z/; my ($digits_from_b) = $b =~ /(\d+)\z/; $digits_from_b <=> $digits_from_a } @array; #### @a = sort { ($b =~ /(\d+)\z/)[0] <=> ($a =~ /(\d+)\z/)[0] } @a;