sort { max_prime_factor($arr[$a]) <=> max_prime_factor($arr[$b]) } grep { $arr[ $_ ] >= 0 } 0 .. $#arr