作者wawawa (哇哇哇○( ̄﹏ ̄)○)
看板perl
标题Re: 排序问题
时间Thu Oct 19 21:08:15 2006
※ 引述《ncukcm (test)》之铭言:
: 我有一笔资料每一行的格式为
: S(字串) X Y Z A B C (以上皆为数字)
: 需要将这些资料重新排序然後再印出资料
: 先依 Z 大小再依 X 大小再依 Y 大小
: 想请教该如何写比较好呢 ?
好久没写perl了...练习一下:p 应该没写错(吧?)
在这里假设你的资料档名是test.txt...
#!/usr/bin/perl
sub by_order {
(split /\s+/, $a)[3] <=> (split /\s+/, $b)[3] or
(split /\s+/, $a)[1] <=> (split /\s+/, $b)[1] or
(split /\s+/, $a)[2] <=> (split /\s+/, $b)[2];
}
open TXT, "< test.txt";
@content = <TXT>;
close TXT;
foreach ( sort by_order @content ) {
print;
}
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.127.72.16
※ 编辑: wawawa 来自: 140.127.72.16 (10/19 21:11)
※ 编辑: wawawa 来自: 140.127.72.16 (10/19 21:12)
1F:推 ncukcm:谢谢你的帮忙 :-) 10/20 14:53