文件1具有範圍3-9,2-6等垂直索引的Perl
3 9
2 6
12 20
文件2具有值:列1表示的範圍內,第2列具有值。
1 4
2 4
3 5
4 4
5 4
6 1
7 1
8 1
9 4
我想計算file1中範圍的值(file2,column2)的總和)。例如:如果範圍是3-9,那麼值的總和將是5 + 4 + 4 + 1 + 1 + 1 + 4 = 20
我曾嘗試是:
open (FILE1,"file1.txt");
open (FILE2,"file2.txt");
@file1 = <FILE1>;
@file2 = <FILE2>;
foreach (@file1)
{
@split_file2 = split("\\s",$_); //splitting the file by space
foreach (@file2)
{
@split_file2 = split("\\s",$_); //splitting the file by space
if (@split_file1[0] == @split_file2[0]) //if column0 of file1 matches with column0 of file2
{
$x += @split_file2[1]; //sum the column1 of file2
if (@split_file2[0] == @split_file1[0]) //until column1 of file1 = column0 of file2.
{
last;
}
}
}}
該代碼疼一下。 – melpomene 2013-02-22 10:25:34
:p我很着急。 – Geeky 2013-02-22 10:26:07
在嘗試編寫程序之前,您仍然應該學習基本的Perl。 – melpomene 2013-02-22 10:27:22