use strict; use warnings; my ($c, $i) = 0; for ($i = 36544645654; $c < 100; $i++) { $c++, print "$i\n" if prime($i); } BEGIN { my @primes = (2); sub prime { my $n = $_[0]; my $p; my $rt = int sqrt $n; for $p (@primes) { return 0 if $n % $p == 0; return 1 if $p >= $rt; } for $p (($primes[-1]+1)..$rt) { if (prime($p)) { push @primes, $p; return 0 if $n % $p == 0; } } return 1; } }