免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2794 | 回复: 4

这是Perl的BUG?还是我错了? [复制链接]

论坛徽章:
0
发表于 2014-11-04 22:07 |显示全部楼层
本帖最后由 cjxstudent 于 2014-11-04 22:08 编辑

输入文件a04.txt只有一行:
(SELECT BILL_NO FROM PAY_VOUCHER_BILL PVB,PAY_VOUCHER OP WHERE PVB.ID = OP.VOUCHER_BILL_ID AND P.OLD_PAY_ID = OP.ID) AS OLD_BILL_NO,

Perl脚本如下:
#!C:/bin/perl.exe
open INPUT,"a04.txt";
open OUTPUT,">a06.txt";
select OUTPUT;
while (<INPUT>){
    $string=$_;
    if($string=~m/from(.*)where/i){$get=$1;}
    print "结果是:",$get,"\n";
}


出来的结果是
结果是: PAY_VOUCHER_BILL PVB,PAY_VOUCHER OP
结果是: PAY_VOUCHER_BILL PVB,PAY_VOUCHER OP


居然打印了两次结果.请高手指点.
用的是activeperl for windows 5.014版

论坛徽章:
8
戌狗
日期:2014-09-26 16:39:44水瓶座
日期:2014-10-10 02:06:57金牛座
日期:2014-10-11 23:04:042015亚冠之首尔
日期:2015-06-23 15:37:0015-16赛季CBA联赛之天津
日期:2016-01-22 18:58:2915-16赛季CBA联赛之佛山
日期:2016-05-31 19:18:0815-16赛季CBA联赛之同曦
日期:2016-08-10 16:26:3315-16赛季CBA联赛之辽宁
日期:2018-01-10 11:47:40
发表于 2014-11-04 22:18 |显示全部楼层
我这里输出是1个啊 linux的

论坛徽章:
6
丑牛
日期:2014-03-21 15:42:04子鼠
日期:2014-04-12 11:50:17处女座
日期:2014-09-01 09:25:1115-16赛季CBA联赛之吉林
日期:2015-12-22 14:01:5215-16赛季CBA联赛之广东
日期:2016-03-08 18:49:422016科比退役纪念章
日期:2016-07-06 12:19:55
发表于 2014-11-05 07:13 |显示全部楼层
a04.txt要是有肉眼看不到的一行呢?
print出来看看吧:
while (<INPUT>){
    $string=$_;
    print "\$string => [$string]\n";
    if($string=~m/from(.*)where/i){$get=$1;}
    print "结果是:",$get,"\n";
}

论坛徽章:
145
技术图书徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11狮子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龙
日期:2014-01-08 15:26:12技术图书徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
发表于 2014-11-05 13:49 |显示全部楼层
回复 1# cjxstudent

take the "print ..." in IF block

   if(...){
     ...
     print ...;   
   }
   
   

论坛徽章:
0
发表于 2014-11-05 13:56 |显示全部楼层
很明显是你自己错了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP