高级用法 多行匹配: zjtest7-frontend:/root/0825# cat a2.pl print "1111111111111 "; my $_="abc ABC abc"; print $_; print " "; print "2222222222222 "; my $_="abc ABC abc"; s/c$/ZZZ/g; print $_; print " "; print "333333333333333 "; my $_="abc ABC abc"; s/c$/ZZZ/gm; print $_; print " "; zjtest7-frontend:/root/0825# perl a2.pl 1111111111111 abc ABC abc 2222222222222 abc ABC abZZZ 333333333333333 abZZZ ABC abZZZ 實際上 /m 的作用就是讓 ^ 和 $ 匹配內嵌的換行符( ) /m当作多行处理 m 改变字符串^ $ 的匹配起始 终止位置,默认是按每行 /m 修饰符 允许^和$来立即匹配在一个嵌入的换行符前后,分别的, /^=head[1-7]/m 会匹配模式不只是记录的开始,而是任何适当的在一个新行后面 zjtest7-frontend:/root/0825# cat a4.pl my $_="aa head4 bb"; if ($_=~/aa head[1-7] bb/){print "1111111111 "}; if ($_=~/aa ^head[1-7] bb/){print "2222222222 "}; if ($_=~/aa ^head[1-7] bb/m){print "3333333333 "}; zjtest7-frontend:/root/0825# perl a4.pl 1111111111 3333333333 zjtest7-frontend:/root/0825# cat a4.pl my $_="aa xxhead4 xbb"; if ($_=~/aa head[1-7] bb/){print "1111111111 "}; if ($_=~/aa head[1-7] bb/){print "2222222222 "}; if ($_=~/aa .*head[1-7] .bb/m){print "3333333333 "}; zjtest7-frontend:/root/0825# perl a4.pl 3333333333