perl语言中有一个特殊字符非常有用----输入记录分隔符($/)
默认情况下在读取文件时是按照换行符进行分割的,所以当我们想要一次性匹配多行文本时就应该想到该字符,
请看下面的小例子:
#$str="data def{
#aaaa : 1111 ;#bbbb : 2222 ;
#cccc : 3333 ;
#}";
#local $/;
#open(AA,"file1");
#while(<AA>)
#{
# if(m/$str/)
# {
# print("it found!");
# print;
# } else {
# print("fail!");
# print;
# }
#}
该脚本要匹配的文本就是一个多行文本,”local $/“ 该语句就是废弃原来的输入记录分隔符"\n",也可以用另外一种方法undef $/;
也能达到相同的目的,这样在while语句读取file1文件时就一次性读入该文件的全部内容进行匹配,达到了我们想要的结果。
以上是自己的一点小练习,希望对您有所帮助!