我不得不從一種原子探針兩個不同的輸入文件:如何在perl中的foreach循環中寫入多個輸出文件?
1)與4列,XYZI(這是我從二進制轉換)
2)與信息RRNG文件有關樣本和在原子POS文件其相應的「我」值。
我能夠從輸入文件中提取所有必要的信息,並把它們存儲陣列但我的問題是當我嘗試將信息保存到多個輸出文件。
這是我到目前爲止有:
foreach $j (0..50) { #there are 51 peaks in this data set
$min = $range_min[$j];
$max = $range_max[$j];
open(POS,$ARGV[1]);
while(sysread(POS,$xyzi,16)) { #input is binary
@row=unpack("f>4",$xyzi);
if ($row[3]>$min && $row[3]<=$max) { #if "i" value within
#the given range
open(FILE,">file$min_$max.txt");
print FILE join(" ",@row[0,1,2,3]) . "\n";
}
}
}
我想是搜索所有數據點的POS文件,$min
和$max
之間的「我」的價值和這些點存儲爲X,Y ,z和i列在輸出文件中,但我想爲「i」值的所有51個範圍執行此操作。
此代碼工作正常的一個峯沒有foreach循環,但我不想硬編碼爲51個不同的範圍。
我希望這很清楚。謝謝。
試圖理解,但你的代碼不包含任何'我'。那麼從'我'來的地方呢? (在代碼'3'中是'i'?)並且爲了你想使用'i'? – jm666
@ jm666對不起,「i」值是我的POS輸入文件的第四列中的數據,它由代碼中的$ row [3]代表。 –