【发布时间】:2013-05-19 00:42:22
【问题描述】:
我想创建一个数组来存储按字母顺序排列的哈希键列表。我试过这个方法:
@sorted = sort { $hash{$a} cmp $hash{$b} } keys %hash;
...但事实证明这会返回一个按值排序的哈希键列表(而我想要一个按字母顺序排序的哈希键列表)。
有什么建议吗?
【问题讨论】:
标签: perl sorting hash alphabetical
我想创建一个数组来存储按字母顺序排列的哈希键列表。我试过这个方法:
@sorted = sort { $hash{$a} cmp $hash{$b} } keys %hash;
...但事实证明这会返回一个按值排序的哈希键列表(而我想要一个按字母顺序排序的哈希键列表)。
有什么建议吗?
【问题讨论】:
标签: perl sorting hash alphabetical
my @sorted = sort { $a cmp $b } keys %hash;
或者只是
my @sorted = sort keys %hash;
【讨论】:
哈希键只是字符串:
@sorted = sort keys %hash;
【讨论】:
foreach my $key ( sort {$a cmp $b} keys %hash) {
# do something ..
}
【讨论】: