#!/usr/bin/perl -w
# Word generator
# Mark Ellzey (mark@rdi.st) - 9/18/02
use strict;
my $how_many_words = $ARGV[0];
my @chars = qw/a b c d e f g h i j k l m n o p q r s t u v w x y z/;
my %hash;
my $num_of_chars = @chars;
foreach my $char (@chars) {
for(my $i = 1; $i <= $how_many_words; $i++) {
push @{$hash{$char}}, $char;
}
}
foreach my $entry (keys %hash) {
my $word;
foreach my $thing(@{$hash{$entry}}) {
$word .= $thing;
}
print "$word\n";
for(my $i = 1; $i <= $how_many_words-1;$i++) {
change_array($i,$entry,$hash{$entry});
}
}
sub change_array {
my $offset = shift;
my $letter = shift;
my $array = shift;
my @arrayz = @$array;
foreach my $char (@chars) {
next if $char eq $letter;
#print "$letter - $char $offset\n";
$arrayz[$offset] = $char;
my $word;
foreach my $thing (@arrayz) {
$word .= $thing;
}
print "$word\n";
if($offset+1 != $how_many_words) {
change_array($offset+1,$char,\@arrayz);
}
}
}