我的列表为
@emprecords = (
['pavan',24,25000],
['kumar',25,35000],
['ajay',22,35000],
['vijay',25,20000]
);
我需要先按最低年龄排序,最先输出最高的slary。
答案 0 :(得分:3)
使用<=>
进行数字比较,使用条件or
检查年龄相等时的薪水:
#!/usr/bin/env perl
use strict;
use warnings;
use Data::Dumper;
my @emprecords = sort {
$a->[1] <=> $b->[1]
or
$b->[2] <=> $a->[2]
}
( ['pavan',24,25000],
['kumar',25,35000],
['ajay',22,35000],
['vijay',25,20000]
);
print Dumper \@emprecords;
像以下一样运行:
perl script.pl
产量:
$VAR1 = [
[
'ajay',
22,
35000
],
[
'pavan',
24,
25000
],
[
'kumar',
25,
35000
],
[
'vijay',
25,
20000
]
];