前序
我们知道,do 'filename'是从文件里读出内容然后执行其中的语句,返回最后一个表达式的值,还有perl特殊字符的就是
噔噔-- $/ 啦, 只是起到分隔符的作用,即对匹配的字符分割。
好了说完了,正式入题,
如果在使用
1 my $pro=do{ 2 local $/; 3 <filename> 4 } 5 print $pro;
- $/ 没有赋值会怎样,结果会出现什么。是的如果filename文件里只有一行字符,不好意思,没有任何可见的影响,有n(n>2)行,可以看到会打印filename里的所有东西出来。
- $/ 进行赋值后,只会打印匹配至的字符串出来。
有意思吧,为什么那?local一个局部初始化变量的关键词,那么在只是定义没有初始化后,他值是undef ,用一个undef的值去分割字符肯定是没有任何可以匹配的,所以就得到了所有的字符串
--ps关于perl内置的特殊字符在这里:http://www.cnblogs.com/ace9/archive/2011/04/29/2032755.html