Вам нужно будет переопределить слова, которые вы ищите, чтобы исключить пунктуацию, помня, что вы можете или не захотите удалить все знаки препинания (например, вы можете захотеть сохранить тире и апострофы - но не одиночные кавычки).
Грубый метод - не распознавать пунктуацию:
$key = $word;
$key ~= s/\W//g; # Any non-word characters are removed
if (defined $hash{$key}) { DoSomething; }
Вы можете уточнить команду замены, чтобы удовлетворить ваши потребности.
Но единственный способ убедиться, чтоСовпадение хеш-ключей должно гарантировать, что хеш-ключи совпадают, поэтому вам нужно соответствовать тому, что вы предоставляете.