ファイル 1 の範囲は 3 ~ 9、2 ~ 6 など
3 9
2 6
12 20
File2 には値があります。列 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;
}
}
}}