I've been trying to get this little perl script to work. Can you help me out?
Code:
#!/usr/bin/perl -w
unless (open(WORDLIST, "enable1.txt")) {
print "Cannot open file.";
exit;
}
@wordlist=<WORDLIST>;
close WORDLIST;
my %wordhash=(A=>0,B=>1,C=>2,D=>3,E=>4);
my %lettershash=(A=>0,B=>0,C=>0,D=>0,E=>0);
my @listofwords=();
do {
my %lettershash=('A'=>0,'B'=>1,'C'=>2,'D'=>3,'E'=>4, 'F'=>5, 'G'=>6,'H'=>7,'I'
=>8,'J'=>9,'K'=>10,
'L'=>11,'M'=>12,'N'=>13,'O'=>14,'P'=>15,'Q'=>16,'R'=>17,'S'=>18,'T'=>19,'U'=>20,'V'=>21,'W'$
22,'X'=>23,'Y'=>24,'Z'=>25);
print "Enter letters to search for: ";
$letters=<STDIN>;
chomp $letters;
my @letters=split ('',$letters);
foreach $letter (@letters) {
$lettershash{$letter}=$lettershash{$letter}+1;
}
foreach $wordlistword (@wordlist) {
my %wordhash=('A'=>0,'B'=>1,'C'=>2,'D'=>3,'E'=>4, 'F'=>5,
'G'=>6,'H'=>7,'I'=>8,'J'=>9,'K'=>10,
'L'=>11,'M'=>12,'N'=>13,'O'=>14,'P'=>15,'Q'=>16,'R'=>17,'S'=>18,'T'=>19,'U'=>20,'V
'=>21,'W'=>22,'X'=>23,'Y'=>24,'Z'=>25);
chomp $wordlistword;
$wordlistword=~ tr/a-z/A-Z/;
@wordletters=split ('',$wordlistword);
foreach my $letter (@wordletters) {
$wordhash{$letter}=$wordhash{$letter}+1;
}
my $equalityflag=1;
foreach my $wordlistletter (keys %wordhash) {
if ($wordhash{$wordlistletter}!= $lettershash{$wordlistletter}) {
$equalityflag=0
}
}
}
foreach $wordlistword (@wordlist) {
my %wordhash=('A'=>0,'B'=>1,'C'=>2,'D'=>3,'E'=>4, 'F'=>5,
'G'=>6,'H'=>7,'I'=>8,'J'=>9,'K'=>10,
'L'=>11,'M'=>12,'N'=>13,'O'=>14,'P'=>15,'Q'=>16,'R'=>17,'S'=>18,'T'=>19,'U'=>20,'V
'=>21,'W'=>22,'X'=>23,'Y'=>24,'Z'=>25);
chomp $wordlistword;
$wordlistword=~ tr/a-z/A-Z/;
@wordletters=split ('',$wordlistword);
foreach my $letter (@wordletters) {
$wordhash{$letter}=$wordhash{$letter}+1;
}
my $equalityflag=1;
foreach my $wordlistletter (keys %wordhash) {
if ($wordhash{$wordlistletter}!= $lettershash{$wordlistletter}) {
$equalityflag=0
}
}
if ($equalityflag==1) {
push (@listofwords, $wordlistword);
}
}
print "@listofwords\n";
} until ($letters=~/^\s*$/ );
exit;