Re: [問題] perl 排序
※ 引述《plankton (懶惰毛)》之銘言:
: ※ 引述《onizi1224 (Onizi)》之銘言:
: : 可以先做hash 例如 $key = aaa
: : $hash{$key} = '0.154'
: : 丟入hash後 用foreach 將hash 的ker 用sort排序以後列印出來
: 想法跟onizi1224大一樣
: 讀入檔之後,存成hash的格式,
: $hash{aaa}=0.485
: 1.找出最大值
: @a= sort{$b<=>$a} values %hash;
: 2. print 出來
: printf "key:$_ value:$hash{$_} ratio:",$hash{$_}/$a[0],"\n"
: foreach(keys %hash);
獻醜一段
我不太會用高階或是進階的語法
所以會有些累贅
因為有些比較不會程式的同事會看
ㄧ方面也是因為我是新手 請多包含
#!perl/bin/perl
$fname="COPIES_all_new_update_1107";
#$fname="test";
open(IN,'<'.$fname) || die "open $fname failed!!";
open(OUT,'>'.$fname.'sort') || die "open $fname\_tranOK!!";
while (<IN>)
{
$data = $_;
$data_source=$data;
chomp($data);
@data = split "\t",$data;
$sysno = $data[0];
$setnum = $data[1];
#push(@total_source,$setnum."|".$sysno);
#print $setnum."|".$sysno."\n";
$code{$setnum."|".$sysno} = $data_source;
}
foreach (sort keys %code)
{
$newdata= $code{$_};
#print $newdata;
print OUT $newdata;
}
close(IN);
close(OUT);
print "Finish!!\n";
輸入檔我很喜歡將輸入檔作成exl的格式
因為exl的分欄可以直接轉換成teb相對用PERL做切割就很好用
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.67.151.50
討論串 (同標題文章)
Perl 近期熱門文章
PTT數位生活區 即時熱門文章