楼主:
yalent ( 心只有妳 )
2014-04-18 00:07:40小弟又有个问题想请教各位朋友
A档案内容是
10013240 台湾省屏东县满州乡
10013280 台湾省屏东县玛家乡
10014070 台湾省台东县东河乡
10014140 台湾省台东县金峰乡
10015060 台湾省花莲县寿丰乡
..
B档案内容是
10014070
10015060
10015060
10013240
...
我想一次读两个档,当B的内容比对到与A前面的数字相同时,
将B档案的内容取代成A档案后面的字串
所以B档案会变成如下
台湾省台东县东河乡
台湾省花莲县寿丰乡
台湾省花莲县寿丰乡
台湾省屏东县满州乡
....
我的写法如下:
作者: uper (凤凰城基金会) 2014-04-18 00:25:00
因为$n1=$1;的上一行是比对到空白才会
作者:
tangcc 2014-04-18 00:25:00认B的内容的时候s是不是写成小写了 \s+
作者: uper (凤凰城基金会) 2014-04-18 00:27:00
这样就无法得到你要的结果
楼主:
yalent ( 心只有妳 )
2014-04-18 12:08:00我已经修正比对数字 \s+ 改成 \d+,但是依然比对不到 @@
作者:
cutekid (可爱小孩子)
2014-04-18 13:09:00while(<FILEa>) ←第一次就跑完了,第二次时就没有东西囉
用Tie::File也不错 不用担心档案被卷到底的问题
作者: hhs66317 (六子) 2014-06-01 09:55:00
第二个while循环之前﹐将FILEb移到开始的位置