#!/usr/bin/perl use strict; my ($string, $num) = @ARGV; my ($DICT) = '/usr/share/dict/words'; my (%words, @chs, $ch, $line, $i); @chs = split('', $string); for $ch (@chs) { if (!defined($words{$ch})) { $words{$ch} = []; } } if (!open(IN, $DICT)) { print STDERR "\nError:$DICT\n\n"; exit; } while (chomp ($line = )) { $ch = substr($line, 0, 1); if (defined($words{$ch})) { push (@{$words{$ch}}, $line); } } for ($i = 0; $i < $num; $i++) { for $ch (@chs) { print "$words{$ch}->[rand(@{$words{$ch}})] "; } print "\n"; }