免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2118 | 回复: 9
打印 上一主题 下一主题

chomp的问题!! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-05-25 21:13 |只看该作者 |倒序浏览
        use strict;
        use warnings;
open(RF,"<01.txt");
while(my $line=<RF>)
{
        chomp($line);
        print"$line";
}

为什么我加上chomp($line)后就只输出最后一个元素。去掉chomp($line)或者输出加上换行print"$line\n";输出就没有错??
跪求解释!!!chomp的问题困扰我很久了

论坛徽章:
0
2 [报告]
发表于 2012-05-25 21:19 |只看该作者
另外:在windows下运行可以正确运行,但在linux下就不行。

论坛徽章:
13
15-16赛季CBA联赛之同曦
日期:2016-01-28 19:52:032015亚冠之北京国安
日期:2015-10-07 14:28:19NBA常规赛纪念章
日期:2015-05-04 22:32:03处女座
日期:2015-01-15 19:45:44卯兔
日期:2014-10-28 16:17:14白羊座
日期:2014-05-24 15:10:46寅虎
日期:2014-05-10 09:50:35白羊座
日期:2014-03-12 20:52:17午马
日期:2014-03-01 08:37:27射手座
日期:2014-02-19 19:26:54子鼠
日期:2013-11-30 09:03:56狮子座
日期:2013-09-08 08:37:52
3 [报告]
发表于 2012-05-25 21:42 |只看该作者
回复 1# zhou20071801

  1. It works on a variable. The variable has to hold a string. And if the string ends in a newline
  2. character, chomp can get rid of the newline. That’s (nearly) all it does.

  3. chomp is actually a function. As a function, it has a return value, which is the number
  4. of characters removed.
复制代码

论坛徽章:
6
15-16赛季CBA联赛之新疆
日期:2016-03-22 22:34:5915-16赛季CBA联赛之山东
日期:2016-04-11 09:08:41程序设计版块每日发帖之星
日期:2016-06-28 06:20:00程序设计版块每日发帖之星
日期:2016-07-19 06:20:00每日论坛发贴之星
日期:2016-07-19 06:20:0015-16赛季CBA联赛之青岛
日期:2016-07-20 22:44:17
4 [报告]
发表于 2012-05-26 06:30 来自手机 |只看该作者
大概你的文件是windows格式。
试试这个
s/[\r\n]$//;

论坛徽章:
2
射手座
日期:2014-10-10 15:59:4715-16赛季CBA联赛之上海
日期:2016-03-03 10:27:14
5 [报告]
发表于 2012-05-26 15:00 |只看该作者
回复 1# zhou20071801


    dos2unix 转下格式

论坛徽章:
0
6 [报告]
发表于 2012-05-26 19:45 |只看该作者
回复 1# zhou20071801

use open IO  => ":crlf"
   

论坛徽章:
0
7 [报告]
发表于 2012-05-28 22:42 |只看该作者
  1. #!/usr/bin/perl

  2. use strict;
  3. use warnings;

  4. open(RF,"<01.txt");
  5. while(my $line=<RF>)
  6. {
  7.     chomp($line);
  8.     print"$line";
  9. }
复制代码


我在Debian里用vim写入,运行正常。

论坛徽章:
0
8 [报告]
发表于 2012-05-30 22:57 |只看该作者
谢谢!!这可行。但你能解释下出现这种状况的原因吗?回复 6# sjdy521


   

论坛徽章:
0
9 [报告]
发表于 2012-05-31 11:02 |只看该作者
回复 8# zhou20071801


    你把\r\n中的\n去掉,只剩\r了 当然显示上会出现问题了

论坛徽章:
0
10 [报告]
发表于 2012-06-02 19:07 |只看该作者
谢谢!:wink: 回复 9# sjdy521


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP