ちなみに>>489の例題は、

> my $test = { hoge=>1,hage=>2 };

で生成されたハッシュリファレンスをHogeオブジェクトに渡して、それを操作しているので
別Hogeオブジェクトを生成しても渡すハッシュリファレンスが同じものであれば
同じ内容を操作するわけだからオブジェクト間でいつでも値を壊してしまう恐れがある。

>bless { hashref=>$hashref },$self;

の部分を

bless { hashref=>{%$hashref}},$self;

とするだけで、コンストラクタで受け取った先の内容を気にする必要がなくなる。
ただ、>>489のやりたいことを理解していないので全然検討はずれのことを言っているかも。