我有一个Class::Struct
的哈希值,如何克隆它(深层拷贝)? Class::Struct
未提供clone
或copy
方法,并且手动复制Class::Struct
的内部结构将很难。
my %a = ();
$a{k} = MyStruct->new;
my %b = ... ?
答案 0 :(得分:3)
Storable
模块提供了一个dclone
函数,可以深层复制哈希值和Class::Struct
内容。
use Storable qw/dclone/;
my %a = ();
$a{k} = MyStruct->new;
my %b = %{dclone(\%a)};