给出类似的东西
foreach (keys %myHash) { ... do stuff ... } foreach (keys %myHash) { ... do more stuff ... }
如果哈希不被改变,Perl是否保证以一致的顺序迭代密钥?
解决方法
Yes.从
perldoc -f keys
开始:
The keys are returned in an apparently random order. The actual random order is subject to change in future versions of perl,but it is guaranteed to be the same order as either the
values
oreach
function produces (given that the hash has not been modified). Since Perl 5.8.1 the ordering is different even between different runs of Perl for security reasons (see “Algorithmic Complexity Attacks” in 07002).
(强调我的)