如何用PERL实现如下排序:三列,第一列为主排序依据,第二列次之,第三列再次

2025-04-23 21:04:17
推荐回答(1个)
回答1:

my @line;
while(<>)
{
chomp;
push @line, [ split ];
}
foreach ( sort { $a->[0] <=> $b->[0] or $a->[1] <=> $b->[1] or $a->[2] <=> $b->[2] } @line)
{
print @$_, "\n";
}

我默认你排序内容是数值,输入为标准输入,输出为标准输出,输入分隔为\t,输出分隔为空格。