关于hash引用的赋值问题,请教高人

关于hash引用的赋值问题,请教高人

为何将一个hashA的值赋给另外一个hashB
当改变了hashB 值后,为何hashA也会跟着变?
该hash中使用了匿名引用
%hash = (
        a=>[1,2],
        b=>[3,4],
);
%hash_M = %hash;

$hash_M{a}->[0] = 11;
print "$hash{a}->[0]\n";
print "$hash_M{a}->[0]\n";

有什么办法可以通过改变hashB又不会改变hashA的值,如果不改变这样的数据结构的话?
use Storable;
剩下的自己查文档吧
那就要用深拷贝了。
方法很多。
Data:umper 就可以。