As others have suggested, if you want a dictionary word, you need a dictionary. The solutions I've seen so far, however, have involved loading the whole dictionary into memory to select your word. I think you could do this without loading the whole dictionary, however. See How do I pick a random line from a file? for the basic algorithm, which could be adapted to apply only to words of a certain length.
Update: I just couldn't resist writing it myself.
use strict; use warnings; my $desired_length = 8; my $selected_word; my $candidate_count = 0; open my $dict_fh, '<', '/usr/share/dict/words' or die "Can't read '/usr/share/dict/words': $!\n"; WORD: while ( my $word = <$dict_fh> ) { chomp $word; next WORD if length $word != $desired_length; $selected_word = $word if rand ++$candidate_count < 1; } print "Selected '$selected_word' out of $candidate_count candidates.\n +";
In reply to Re: Random word generator
by kyle
in thread Random word generator
by rooneyl
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |