perl – 为什么将哈希推送到数组似乎会覆盖所有数组元素?
发布时间:2020-12-16 06:10:55 所属栏目:大数据 来源:网络整理
导读:只是想知道我做错了什么或者这是一个perl bug …我想创建一个哈希值数组.我正在使用’push’将值放到数组中.第一次向数组写入哈希工作正常,但是当我将第二个不同的哈希值推送到数组时,第一个数组元素似乎被我刚刚推入数组的内容覆盖了.为什么会这样?见下面
只是想知道我做错了什么或者这是一个perl bug …我想创建一个哈希值数组.我正在使用’push’将值放到数组中.第一次向数组写入哈希工作正常,但是当我将第二个不同的哈希值推送到数组时,第一个数组元素似乎被我刚刚推入数组的内容覆盖了.为什么会这样?见下面的代码:
use Data::Dumper; my %val; %val = (key1 => "Val1"); my @myArr; my $cnt = push(@myArr,%val); print "After push (should contain 1 element): " . Dumper(@myArr) . "n"; %val = (key2 => "Val2"); my $cnt = push(@myArr,%val); print "After push 2: (should contain 2 different elements):" . Dumper(@myArr) . "n"; print " You can see above that element 1 and 2 of the array equal each other when they should be differentn"; 解决方法
“perl bug” – 是的,机会很大. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |