原帖由 aple_smx 于 2009-2-16 10:27 发表
在下面这个帖子中有这样一个表达式 “$ perl -ne 'print unless /^$/../^$/' input“
http://bbs3.chinaunix.net/thread-1333381-1-1.html
对这里..操作符的含义不了解(根据各位大虾的回复猜测类似于"或"), ...
在标量环境里,.. 返回一个布尔值。该操作符是双稳定的,类似一个电子开关,。。每个 .. 操作符都维护自身的状态。只要它的左操作数为假就一直为假。一旦左操作数为真,该范围操作符就保持真的状态直到右操作数为真,右操作数为真之后该范围操作符再次为假。。。
返回的值要么是代表假的空字串或者是代表真的一个序列数(从 1 开始)。该序列数每次碰到新范围时重置。在一个范围里的最后序列数后面附加了字串“E0”,这个字串不影响它的数字值,只是给你一些东西让你可以搜索,这样你可以把终点排除在外。你也可以通过等待 1 的序列数的方法把启始点排除在外。如果标量 .. 的某个操作数是数字文本,那么该操作数隐含地与 $.变量对比,$. 里包含你的输入文件的当前行号
原帖由 DQP 于 2009-2-19 16:34 发表
print 'hi' if "\n" =~ m/^$/;
print '\n equle to empty string' if "\n" eq '';
还和空串有点区别 可以包含一个\n
欢迎光临 Chinaunix (http://bbs.chinaunix.net/) | Powered by Discuz! X3.2 |