排序

二维哈希:使用$hash{$key1}{$key2} = $value;

遍历(注意加粗与加下划线的语句)
foreach my $key1 (sort keys %hash) #首先对key1进行排序
{    
     foreach my $key2 (sort {$hash{$key1}->{$b}<=>$hash{$key1}->{a}} keys %{$hash{$key1}}) #对value值按照数字大小进行逆序排序

#    foreach my $key2 (sort {$a<=>$b} keys %{$hash{$key1}})   #对key2按照数字大小进行排序
    {
        print $key1."\t".$key2."\t".$hash{$key1}->{$key2}."\n";
    }
}

对比单维哈希
foreach my $key (sort{$hash{$b}<=>$hash{$a}} keys %hash)
{
    print $key."\t".$hash{$key}."\n";
}

对比数组

方法一:@array2 = sort(@array)

方法二(遍历)

foreach my $a (sort @array){

       print $a. "\t";

}

哈希按value排序:

use
strict;
my %hash=('a'=>2,'b'=>3,'c'=>1);
foreach my $key (sort {$hash{$b} <=> $hash{$a}} keys %hash){
    print $key,"=>",$hash{$key},"\n";
}

转载于:https://www.cnblogs.com/blueicely/p/3216970.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值