arrays - 在 Perl 中,如何制作数组的深层复制?

标签 arrays perl copy

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/

相关文章:

c++ - 如何使用指针遍历结构数组中的数组

php - 重命名该关联数组数组的键的快速方法

python - 我如何用 Perl 解析 C 头文件?

perl - 如何从 PDF::Table 获取表格高度?

batch-file - 批处理 : Copy files from txt file into one folder

vim - 如何将某些东西从 vim 编辑器复制到 shell 命令行

Python递归函数显示给定集合的所有子集

php - 多个foreach处理嵌套数组——PHP CodeIgniter

ruby - 使用递归正则表达式(如 perl)在 Ruby 中匹配平衡括号

python - 在Python中,对象有自己的类变量副本吗?