我想创建一个存储按字母顺序排列的哈希键列表的数组。我试过这个方法:
@sorted = sort { $hash{$a} cmp $hash{$b} } keys %hash;
...但事实证明这会返回按值排序的散列键列表(而我想要按字母顺序排序的散列键列表)。
有什么建议吗?
答案 0 :(得分:11)
my @sorted = sort { $a cmp $b } keys %hash;
或只是
my @sorted = sort keys %hash;
答案 1 :(得分:3)
哈希键只是字符串:
@sorted = sort keys %hash;
答案 2 :(得分:1)
foreach my $key ( sort {$a cmp $b} keys %hash) {
# do something ..
}