質問: 0 unless exists $a{$i}; ↑の二つの文は等価ですよね?
回答: 先に回答されているように等しくありません。 exists は $hash{'key'} の key 自体が存在しているか調べられます。 exists の結果が偽なら defined も偽になりますが、 defined が偽でも、key 自体が存在していれば exists は真を返します。