我已經在十幾臺Windows機器,六臺Mac機和一臺Linux機器上測試了我的程序, Windows和Linux,但不是Mac。我的程序設計用於處理蛋白質數據庫文件,這些文件的文本文件範圍從250MB到10GB。爲了調試目的,我花了250MB文件的1/10製作一個示例文件,但發現該小文件沒有出現該錯誤。perl在Mac上有很大的IO錯誤,但不是Windows或Linux(增加了換行符不能被刪除)
我已經縮小的bug來的這部分代碼,在本節$tempFile
,是蛋白質數據庫文件:
open(ps_file, "..".$slash."dataset".$slash.$tempFile)
or die "couldn't open $tempFile";
while(<ps_file>){
chomp;
my @curLine = split(/\t/, $_);
my $filter = 1;
if($taxon){
chomp($curLine[2]);
print "line2 ".$curLine[2].",\t".$taxR{$curLine[2]}."\n";
$filter = $taxR{$curLine[2]};
}
if($filter){
checkSeq(@curLine);
}
}
這是顯示特殊字符的打印語句的輸出的屏幕截圖:
這是輸出看起來像在Windows計算機上:
下面是從$ TEMPFILE
>sp|P48255|ABCX_CYAPA Probable ATP-dependent transporter ycf16 OS=Cyanophora paradoxa GN=ycf16 PE=3 SV=1 MSTEKTKILEVKNLKAQVDGTEILKGVNLTINSGEIHAIMGPNGSGKSTFSKILAGHPAYQVTGGEILFKNKNLLELEPEERARAGVFLAFQYPIEIAGVSNIDFLRLAYNNRRKEEGLTELDPLTFYSIVKEKLNVVKMDPHFLNRNVNEGFSGGEKKRNEILQMALLNPSLAILDETDSGLDIDALRIVAEGVNQLSNKENSIILITHYQRLLDYIVPDYIHVMQNGRILKTGGAELAKELEIKGYDWLNELEMVKK CYAPA
,與250MB的文件固定它 我打算現在10GB的文件進行測試,但將採取30分鐘運行 謝謝非常 –