http://www.perlmonks.org?node_id=969111


in reply to is it prime?

It cannot be correct. Have you actually tried this? Considering that any number is divisible by 1, isPrime will return 1 for each number. A fix is easy, have $i start at 2.

But then you are still far from being efficient. There's no need to loop to $num/2, you can stop at sqrt($num). There's no need to test even numbers (except 2). And there's no need to continue once you've found a divisor.