散列如何按值排序?

散列如何按值排序?

散列如何按值排序?


就这样的


%abc = ( a ,1 , b , 2  , c 3 ) ;



输出结果:

c     3
b    2
a    1


谢谢

请看 perldoc -f sort 一节。

QUOTE:
ingle027@idc-second:~> perl -e '%abc = qw/a 1 b 2 c 3/; print map {"$_\t$abc{$_}\n"} sort {$abc{$b} <=> $abc{$a}} keys %abc'
c       3
b       2
a       1
ingle027@idc-second:~>

谢谢,
print $_,"\t",$abc{$_},"\n" for (reverse sort keys %abc);
4楼的是按key逆序排序。