根据this question的答案,在Perl 5中合并两个哈希值可以通过以下方式完成:
%newHash = (%hash1, %hash2); %hash1 = %newHash;
或:
@hash1{keys %hash2} = values %hash2;
另一方面,Perl 5.18 will introduce per process hash randomization。
第二种方法在Perl 5.18中使用是否仍然正确?
答案 0 :(得分:15)
阅读Re^2: Hash order randomization is coming, are you ready?后,答案是是。和以前一样,keys
,values
和each
将生成相同的序列,如果哈希在两者之间没有更改,则会迭代相同进程中的哈希值。