It seems a lot of people have needed to do this, so it wasn't long before I found a fairly good solution for my purposes. Here's the magic line:
perl -nle '$word = $_ if rand($.) < 1; END { print $word }' /usr/share/dict/words
I really have no idea why this works as I'm no Perl Monger. I also found that I didn't have any words at
/usr/share/dict/words
, since I was on an Ubuntu server install. I needed to sudo aptitude install wbritish
. Incidentally, it worked on my OS X 10.5 machine too. Unix is handy.I only needed 500 records and calling this 500 times didn't take too long. Much more and you'd probably have to modify your approach though.
No comments:
Post a Comment