$tot = 2; push (@cir,2); for ($i = 3; $i < 1000000; $i+=2) { if (is_circ($i)) { push (@cir,$i); } } print "Count: " . ($#cir + 1) . "\n"; exit; sub is_circ { my ($n) = @_; for ($j = 0; $j < length($n); $j++) { $q = isprime($n); if (! $q) { return 0; } $n = substr($n,1,length($n)) . substr($n,0,1); } return $q; } sub isprime { my $num = $_[0]; my $val = 'prime'; if ($num =~ /^\d+$/ && $num >= 2) { my $mod = 2; my $div = int sqrt $num; while ($mod <= $div) { ($num % $mod) == 0 ? ($val = 'composite', last) : $mod++; } } else { $val = 'neither'; } if ($val eq 'prime') { return 1; } else { return 0; } }