Ok, much better (the formatting of the code)
Some notes:
- while (<PASS>) it would be better to write: while (my $curpass = <PASS>) (and remove the my $curpass = $_;-line)
- (The same note goes for while(<DICT>))
- it would be better if you put the close (DICT) after the while (<DICT>)-block, and use last; where you currently use close
- Instead of open PASS, $passfile you should/could use: open PASS, "<:crlf", $passfile. This is a) safer, and b) it allows you to remove the chop-line (chomp will do just fine).