【发布时间】:2014-01-13 02:10:56
【问题描述】:
我有以下哈希,我想向它添加更多值;但是,这样做会替换整个哈希。我很确定这是一个基本级别的问题,但 perl 是一个谜团。
my %myNewHash = ();
%myNewHash = (
lastName => $primaryInfo->{lastName},
firstName => $primaryInfo->{firstName}
);
%myNewHash = (
email => $primaryInfo->{email},
phone => $primaryInfo->{phone}
);
此时,%myNewHash 只包含 email/phone,lastName/firstName 已被清除。
【问题讨论】:
-
当你说
$foo = 1;后跟$foo = 2;时,$foo的值是多少?哈希的工作方式相同。 -
我知道 bash Perl 很时髦,但对任何人都没有帮助。我能想到的所有具有内置散列支持的语言都以相同的方式表现 - 将散列作为一个整体分配,然后您将内容作为一个整体进行更改 - 我找不到更好的方法。如果您按照自己的方式进行操作,那么
%myNewHash = ()将保持哈希不变,那么您如何清空它呢? -
在命令提示符处键入以下内容:
perldoc perlintro。大约需要 20 分钟的阅读时间,它会解开谜团,只留下谜团...... ;)