my @words = ; my %data; /^(\w)/ and push @{$data{$1}}, $_ for @words; for my $letter (sort keys %data){ for my $number (1..100){ my $rand = int rand @{$data{$letter}}; print "Letter: $letter\tnumber: $number\trand word: ", $data{$letter}[$rand]; } }