正規表現で素数判定してみる修行

正規表現素数判定ができる、という噂はずいーーぶん昔に聞いた。やってみたことはないので、やってみた。
Perl で書いたけれど、他の言語でも同じようなものだろう。

use strict;
use warnings;

my $x = 2;
my $c = 0;
while ($c < 10) {
    if (('o' x $x) !~ qr{^(oo+)\1+$}) {
        print $x, "\n";
        $c++;
    }
    $x++;
}
[takeyuki@sunya ~]$ perl a.pl
2
3
5
7
11
13
17
19
23
29

この技使えば、anarchy golf - a prime numberの記録も縮むかな。