#!/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); } } }