- 论坛徽章:
- 0
|
小弟因为要处理文档数据,初学perl,遇到了以下问题:
A 文件格式:
200800001 2008010114463569 105.526 29.3117 11.42
...
B 文件格式:
200800001 105.526142 29.311150 11.324
...
其中A和B文件中数据的第一栏均为编号,且A中的数据多于B
现想将A中编号与B相同的一行中的第二组数据(第二栏)加入到B文件中
于是写了以下代码:
#!/usr/bin/perl -w
open(SRC,"A.txt" ;
open(DRC,"B.txt" ;
@aa=<SRC>;
@bb=<DRC>;
chomp @aa;
chomp @bb;
close SRC;
close DRC;
open(REC,">tmp" ;
open(DEC,">dmp" ;
foreach $a(@aa){
$num=substr($a,1,9);
$time=substr($a,12,27);
}
foreach $b(@bb){
$num2=substr($b,1,9);
$jingdu=substr($b,12,21);
$weidu=substr($b,24,32);
$shendu=substr($b,35,40);
}
while ($num2==$num){
$line=$num2." ".$time." ".$jingdu." ".$weidu." ".$shendu.";
print DEC "$line\n";
}
close REC;
close DEC;
但是错误提示为:
Scalar found where operator expected at - line 49, near "print DEC "$line"
(Might be a runaway multi-line "" string starting on line 4
(Do you need to predeclare print?)
Backslash found where operator expected at - line 49, near "$line\"
(Missing operator before \?)
请大家帮忙解答错误之处,将不尽感激! |
|