可能重复:
What decides the order of keys when I print a Perl hash?
假设我有一个简单的脚本来列出书中哈希的内容:
my %hash = ("a" => 1, "b" => 2, "c" => 3, "d" => 4);
for my $i (%hash) {
print $i . "\n";
}
在一台计算机上列出:
c
3
a
1
b
2
d
4
但另一方面它是正确的(按顺序):a
1
b
2
c
3
d
4
为什么这样做? foreach会随机列出它还是一些随机的bug?我的当前(c-a-b-d运行Perl 5.10.1,另一个运行5.6?)