Possible Duplicate:
What's the best way to make a deep copy of a data structure in Perl?
在我的代码中我这样做:
@data_new=@data;
然后我改变@data
.
问题是 @data_new
也总是会改变。
就像@data_new
只是对 @data
中内容的引用.
如何制作一个数组的副本,该副本不是引用而是所有值的新副本?
@data
顺便说一句,是一个二维数组。
最佳答案
参见perlfaq4's "How do I print out or copy a recursive data structure" 。也就是说,使用 Storable
中的 dclone
方法。
use Storable qw(dclone);
@data_new = @{ dclone(\@data) }
关于arrays - 在 Perl 中,如何制作数组的深层复制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4390030/