my @split_arr = map { [ split /_/, $_, 3 ] } @array; my @sorted = sort { $a->[2] <=> $b->[2] } @split_arr;