file1

问题描述:

file1
1 2
5 6
4 3
8 9
2 4
.....
file2
1 2 3 4 9 ...
1 1 0.1 0.2 0.6 0.2 ...
2 0.1 1 0.3 0.2 0.3 ...
3 0.2 0.3 1 0.2 0.1 .
4 0.6 0.2 0.2 1 0.3 ...
9 0.2 0.3 0.1 0.3 1 ...
.........
要求是,若file1的每一行中的两个数都能在file2中找到,则以下面格式输出到file3文件中
file3
1 2 0.1
4 3 0.2
........
file3
1 2 0.1
4 3 0.2
2 4 0.2
........

open (F,"file2");
@area = ;
close FF;
@col_title = split " ",$area[0];
my %hash_row_title;
for($i=0;$i非常感谢,但file3文件最后结果是这样的
file3
0 1 0.1
1 3 0.2

我想要的是下面这样的结果
file4
120.1
430.2
240.2
.. ......把 print FFF $xval . " " . $yval . " " .$AoA[$xval][$yval] . "\n";
更改为:
print FFF $cols[0] . " " . $cols[1] . " " .$AoA[$xval][$yval] . "\n";我就是这样改的哦,虽然能出结果,但是会在DOS下会这样提示:use ofuninitialized value $yval in string ne ...$xval = $hash_row_title{$cols[0]};
$yval = $hash_col_title{$cols[1]};