When you try to get a value for a key which is not in the hash, you'll get an undefined value.
That undefined value is not equal to "".
You can check undefined values with defined.
Try:
$secretword = $words{$name}; # gets secret word
if (! defined $secretword) {
}