One of the fastest ways would be to use a math library like PARI
. It uses very good primality tests
internally. I don't have it installed right now, but you should be able to use:
use Math::Pari 'isprime';
my $num = shift || '12345678901';
print isprime($num) ? "$num is prime!\n"
: "$num is composite!\n";
Even if you are looking for the practice of implementing a nice primality test by hand, pari would be a good tool, as it supports all sorts of abstract algebra things (including fast modular arithmetic). If you want to do even that by hand, the above FAQ lists several primality test algorithms that you can use as starting points.