perl – 为什么将哈希推送到数组似乎会覆盖所有数组元素?

perl – 为什么将哈希推送到数组似乎会覆盖所有数组元素?,第1张

概述只是想知道我做错了什么或者这是一个perl bug …我想创建一个哈希值数组.我正在使用’push’将值放到数组中.第一次向数组写入哈希工作正常,但是当我将第二个不同的哈希值推送到数组时,第一个数组元素似乎被我刚刚推入数组的内容覆盖了.为什么会这样?见下面的代码: use Data::Dumper;my %val;%val = (key1 => "Val1");my @myArr; 只是想知道我做错了什么或者这是一个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 different\n";
@H_404_14@解决方法 “perl BUG” – 是的,机会很大. 总结

以上是内存溢出为你收集整理的perl – 为什么将哈希推送到数组似乎会覆盖所有数组元素?全部内容,希望文章能够帮你解决perl – 为什么将哈希推送到数组似乎会覆盖所有数组元素?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/langs/1226318.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-05
下一篇2022-06-05

发表评论

登录后才能评论

评论列表(0条)

    保存