去掉空行

去掉空行

写了段perl 想读取一个文件,然后将除空行以外的行去掉,每次一行打印出来,但是没有成功,请各位大哥指导一下
while (<>) {
#chomp($_);
#s/^\s+//g;
if ( "$_" ne "" ) {   
print "The number is $_ \n";
  }
}
"将除空行以外的行去掉,每次一行打印出来"??
-----------打印空白行?
看你的样子,貌似拿来数数用的
可以换一种思维解决
或者吧,空白行往往是这样吧/^\s+$/


QUOTE:
原帖由 lzd7807 于 2007-9-19 02:48 发表
写了段perl 想读取一个文件,然后将除空行以外的行去掉,每次一行打印出来

可见,即使程序可以用汉语写了,也有人会出错的啊


QUOTE:
原帖由 perljoker 于 2007-9-19 09:13 发表
看你的样子,貌似拿来数数用的
可以换一种思维解决
或者吧,空白行往往是这样吧/^\s+$/

漏了空行 :>
不会吧,我刚才测试了,只有\n和空格加\n的形式都能匹配啊
貌似\s+这个写法是从你里获取的写法吧,呵呵
或者其他人


QUOTE:
原帖由 perljoker 于 2007-9-19 11:11 发表
不会吧,我刚才测试了,只有\n和空格加\n的形式都能匹配啊
貌似\s+这个写法是从你里获取的写法吧,呵呵
或者其他人

你这个做法太无耻了。
自己没学好,就说是跟你学的。


QUOTE:
原帖由 flw 于 2007-9-19 11:12 发表

你这个做法太无耻了。
自己没学好,就说是跟你学的。

队长也看不下去了 ^_^


\s等价格于\f\t\n\r

^\s+$确实能匹配空行,  但无法匹配一个""字符串
而^\s*$均可, 并且更容易理解.


PS: 偶承认最近写过不少\s+, 那是确实有需要嘛...
我澄清一下,我所说的学习是指我看到原来\s+这种写法可以匹配只有\n的空行
因为我原来写的就是\s*还需要再写个\n,所以,我说我学了
回复 #8 Lonki 的帖子
对于\s+无法匹配""的情况,我是觉得这里说的是文件里面的空行
那么,在文件空行里面能出现""这种情况吗?
如果有,请指出,对这个我确实还不明白
否则用+不就表明,至少个有\n需要匹配,别人也能明白

QUOTE:
你这个做法太无耻了。
自己没学好,就说是跟你学的。

对于这个,我说,我怎么无耻了?
我从别人那里看到东西,如果有误解
也是可以讨论的范围
我原文是“貌似\s+这个写法是从你里获取的写法”
表示我只是借鉴,并不见得完全能理解,并且没说别人就是那个意思
并且我有询问的口气

所以,请flw收回“无耻”
对于没学好嘛,我自然是没学好,但我并没有怪任何让我能够学习的人
更没有归咎于他
还有,说我这里没“学好”,请指出我这里的错误
否则,我被别人说“无耻”也不心甘啊
如果能正确指出,那我就继续好好学
能学好perl在这里是我的头等事情,其他都无所谓