在perl中按字母顺序排列哈希键列表?

时间:2013-05-23 15:10:19

标签: perl sorting hash alphabetical

我想创建一个存储按字母顺序排列的哈希键列表的数组。我试过这个方法:

@sorted = sort { $hash{$a} cmp $hash{$b} } keys %hash; 

...但事实证明这会返回按值排序的散列键列表(而我想要按字母顺序排序的散列键列表)。

有什么建议吗?

3 个答案:

答案 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 ..

}