Re: [問題] perl 排序
※ 引述《markpci (markpci)》之銘言:
: 我現在有個文字檔,文字檔格式為:
: aaa 0.154
: bbb 0.235
: ccc 0.485
: ddd 0.365
: 我想將上述資料檔做排序,然後取最大值出來跟每一列相除,
: 結果為:
: aaa 0.485 1 (0.485/0.485)
: bbb 0.365 0.8(0.365/0.485)
: ccc 0.235 0.5(0.235/0.485)
: ddd 0.154 0.3(0.154/0.485)
: 請問要如何做呢???
$fname="test.txt";
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;
$ratio= $code{$_}/$newdata[0];
print $newdata/t$ratio;
#print OUT $newdata;
}
close(IN);
close(OUT);
print "Finish!!\n";
我執行時~出現:
Illegal division by zero at C:\AppServ\www\kzbio2\pcc\pcc_sort.pl line 24, <IN>
line 6.
請問該如何修正才正確呢??
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.70.83.82
討論串 (同標題文章)
Perl 近期熱門文章
PTT數位生活區 即時熱門文章