deleteやexistsの構文が納得できません。
通常の法則なら「exists $hash{example};」はexampleというキーが生成されてその後undefがexists演算子に渡されるように見えます。

デフォルトのハッシュでも内部的なtieがあってFETCHに「exists演算子下では動作を変える」機能があると考えたらいいのでしょうか?
それともperlが exists(\%hash, "example") 的なコードに置き換えているのでしょうか?
それとも同じundefでも内部では識別可能ないくつかのundefがあり「キーが無いことによるundef」とかが渡されてるのでしょうか?