加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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” – 是的,机会很大.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读