Comparing 'random hash' to 'input hash' of letters:
#!/usr/bin/env perl
use strict;
use warnings;
use feature 'say';
my $randword = join'', ('A'..'Z')[ map rand 26, 1..8 ];
print "Enter a word using '$randword': ";
chomp( my $input = <STDIN> );
die "You didn't enter anything..." unless $input;
my %rand_hash;
$rand_hash{$_}++ for split //, $randword;
my %user_hash;
$user_hash{$_}++ for split //, uc $input;
my $bad_word;
foreach (sort keys %user_hash) {
if ( ! exists $rand_hash{$_} || $user_hash{$_} > $rand_hash{$_} )
+{
$bad_word = 1;
say "Shame on you! You used too many $_\'s!";
}
}
say "WOW! You are amazing and so is '$input'!" unless $bad_word;