sulfericacid has asked for the wisdom of the Perl Monks concerning the following question:
Hi guys.
"Age is nothing more than an inaccurate number bestowed upon us at birth as just another means for others to judge and classify us"
sulfericacid
Typically I code using the easiest-to-read-and-understand method but I was just playing with an idea earlier and was curious on the "better" ways you can come up with to solve this problem.
You have a dictionary file of, say, 1 million words. You want to write a script to take RANDOMLY 100 words of each letter (a .. z). You want 100 words beginning with A, 100 words beginning with B, etc.
This is what I did. It's untested and doesn't need to work since I'm looking for how you guys would solve this.
open(DICT, "dictionary.txt" or die "Error: $!"; my @words = <DICT>; close(DICT) or die "Error: $!"; @words = shuffle(@words); # assume shuffle is defined my @new_words; my @letters = (a .. z); my @cnt = 0; foreach my $letter (@letters) { $cnt = 0; foreach my $word (@words) { if ($cnt > 100) { last; # break loop, our 100 word is found } if ($word =~ m/^$letter/i) { $cnt++; push (@new_words, $word); } } }
"Age is nothing more than an inaccurate number bestowed upon us at birth as just another means for others to judge and classify us"
sulfericacid
Back to
Seekers of Perl Wisdom