Hi LanX,
Thanks for your comments, I'll think about whether I can provide a TL;DR version - my thought was that impatient users could just copy-n-paste my code :-)
IIRC there is a hard limit for the length of a regex-string
I'm not sure, I'll have to look into it, but I do know this works :-)
my $word_regex = do {
open my $wfh, '<:utf8', '/usr/share/dict/words' or die $!;
chomp( my @words = <$wfh> );
close $wfh;
my $re = join '|',
map {quotemeta}
sort { length $b <=> length $a or $a cmp $b }
@words;
qr/$re/i };
print length($word_regex), "\n";
__END__
964836
Thanks,
-- Hauke D