请教perl中tie::file模块使用问题
时间:2010-08-20
来源:互联网
各位高手,我需要使用tie::file模块读取文件,然后比较文件中的某一行是否与我想要的匹配,如果匹配,输出1,不匹配输出0;
代码如下:
tie(@arry,'Tie::File',$filename) or die;
$i=0;
foreach(@arry)
{
$line=/XXx/;
if($arry[$i]=~$line)
{print 1;}
else
{print 0;}
$i=$i+1;
}
此时却出现了问题,发现我的程序只能读取文件的第一行和最后一行,请各位高手支支招,怎样才能解决这个问题?
代码如下:
tie(@arry,'Tie::File',$filename) or die;
$i=0;
foreach(@arry)
{
$line=/XXx/;
if($arry[$i]=~$line)
{print 1;}
else
{print 0;}
$i=$i+1;
}
此时却出现了问题,发现我的程序只能读取文件的第一行和最后一行,请各位高手支支招,怎样才能解决这个问题?
作者: qianyuinsour 发布时间: 2010-08-20
本帖最后由 Mr-Summer 于 2010-08-20 15:36 编辑
看见tie就缩ruan了;
是不是应该用($_=~$line);
然后不要$i=$i+1;
======================
我想错了,lz的代码是对的嘛
看见tie就缩ruan了;
是不是应该用($_=~$line);
然后不要$i=$i+1;
======================
我想错了,lz的代码是对的嘛
作者: Mr-Summer 发布时间: 2010-08-20
本帖最后由 qianyuinsour 于 2010-08-20 16:57 编辑
回复 Mr-Summer
谢谢MR SUMMER!这个问题已经解决了,问题并不出在这段程序上,这段程序是没有问题的。
另外还想请教个问题,基于上面的程序段,我想实现一个功能:从A.TXT文件读取一行,然后和B.TXT文件中的每一行去比对,如果发现有能够匹配上的行,则删掉B文件中的这一行,如果没有则不做操作。然后再从A.TXT文件读取一行,再进行比对,直到A.TXT这个文件结束。
我的代码如下:
open CONA,"A.TXT"
while(<>)
{
$line=$_;
$filename='./B.TXT';
tie(@arry,'Tie::File',$filename) or die;
$i=0;
foreach(@arry)
{
if($arry[$i]=~$line)
{
$arry[$i]='';
}
}
untie(@arry);
}
close CONA;
遇到的问题是,当我删除了其中的一行后(实际上是将这一行置空,并没有删除),下一次执行while循环的时候,读不到所删除的那一行的下一行,不知道问题出在哪了,请帮忙解决下
回复 Mr-Summer
谢谢MR SUMMER!这个问题已经解决了,问题并不出在这段程序上,这段程序是没有问题的。
另外还想请教个问题,基于上面的程序段,我想实现一个功能:从A.TXT文件读取一行,然后和B.TXT文件中的每一行去比对,如果发现有能够匹配上的行,则删掉B文件中的这一行,如果没有则不做操作。然后再从A.TXT文件读取一行,再进行比对,直到A.TXT这个文件结束。
我的代码如下:
open CONA,"A.TXT"
while(<>)
{
$line=$_;
$filename='./B.TXT';
tie(@arry,'Tie::File',$filename) or die;
$i=0;
foreach(@arry)
{
if($arry[$i]=~$line)
{
$arry[$i]='';
}
}
untie(@arry);
}
close CONA;
遇到的问题是,当我删除了其中的一行后(实际上是将这一行置空,并没有删除),下一次执行while循环的时候,读不到所删除的那一行的下一行,不知道问题出在哪了,请帮忙解决下
作者: qianyuinsour 发布时间: 2010-08-20
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28