У вас есть итерация по всем существующим ключам и проверьте, является ли строка пустой, я думаю, это не то, что вам нужно.
Попробуйте
if (defined $d{$_})
или если он установлен на "", то
if ($d{$_} eq "")
Чтобы быть более полезным, нужно знать, как заполнен твой хэш.
Вам необходимо также инициализировать несовпадающие значения. В своем коде вы можете добавить
if ($seq2=~/$common/) {
$d{$common}++;
}
else
{ $d{$common} = 0 unless (exists($d{common})); }
и затем проверьте
if ($d{$_} > 0)