4

我正在查看此处的示例:http: //perlmeme.org/tutorials/sort_function.html

它给出了这个代码来根据每个键的值对哈希进行排序:

# Using <=> instead of cmp because of the numbers
    foreach my $fruit (sort {$data{$a} <=> $data{$b}} keys %data) {
        print $fruit . ": " . $data{$fruit} . "\n";
    }

这段代码我不完全理解,但是当我尝试它时,它从最低到最高排序。如何翻转它以从最高到最低排序?

4

2 回答 2

16

只需使用reverse sort而不是sort.

foreach my $fruit (reverse sort keys %data) { ...

于 2012-04-18T19:24:29.493 回答
14

交换$a$b

foreach my $fruit (sort {$data{$b} <=> $data{$a}} keys %data) {
于 2012-04-18T19:21:50.187 回答