$sum = 0; for ($i = 11; $i < 1000000; $i+=2) { $j = $i; while ($j ne '' && isprime($j)) { $j = substr($j,1); } if ($j eq '') { $j = $i; while ($j ne '' && isprime($j)) { $j = substr($j,0,-1); } if ($j eq '') { print "$i\n"; $sum += $i; } } } print "----\n$sum\n"; ; 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; } }