高级用法 多行匹配:

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

perl /m 当作多行处理的更多相关文章

  1. awk,perl,python的命令行参数处理

    Python,Perl,Bash命令行参数 Part I 日常经常性的和Perl,Python,Bash打交道,但是又经常性的搞混他们之间,在命令行上的特殊性和index的区别,Python真的是人性 ...

  2. 使用Perl批量读取文件最后行

    使用Perl批量读取文件最后行 面对成百上千个文件,有时我们需要查看它的最后行,单个文件打开将耗费大量时间,而通过Perl提取出最后行,将快速的帮助我们处理繁琐的事务. 特性 整个目录完全遍历,自动提 ...

  3. (转载)CSV 文件处理 PERL

    http://cn.perlmaven.com/how-to-read-a-csv-file-using-perl http://search.cpan.org/~hmbrand/Text-CSV_X ...

  4. Windows命令行command的Shell命令详细解析和语法

    CMD命令大全及详细解释和语法 Microsoft Windows XP [版本 5.1.2600] 有关某个命令的详细信息,请键入 HELP 命令名 ASSOC    显示或修改文件扩展名关联. A ...

  5. Perl读取标准输入<STDIN>、读取文件输入<>和chomp函数

    读取标准输入<STDIN> <STDIN>表示从标准输入中读取内容,如果没有,则等待输入.<STDIN>读取到的结果中,如果没有意外,都会自带换行符. 例如,tes ...

  6. perl学习笔记——输入与输出

    读取标准输入 用<STDIN>进行标准输入:chomp($line=<STDIN>); 如果读到文件尾,行输入操作符就会返回undef.便可利用这一性质跳出循环. while( ...

  7. 28个Unix/Linux的命令行神器_转

    28个Unix/Linux的命令行神器 下面是Kristóf Kovács收集的28个Unix/Linux下的28个命令行下的工具,有一些是大家熟悉的,有一些是非常有用的,有一些是不为人知的.这些工具 ...

  8. 28个Unix/Linux的命令行神器

    下面是Kristóf Kovács收集的28个Unix/Linux下的28个命令行下的工具(原文链接),有一些是大家熟悉的,有一些是非常有用的,有一些是不为人知的.这些工具都非常不错,希望每个人都知道 ...

  9. 28 个 Unix/Linux 的命令行神器

    28 个 Unix/Linux 的命令行神器   下面是Kristóf Kovács收集的28个Unix/Linux下的28个命令行下的工具(原文链接),有一些是大家熟悉的,有一些是非常有用的,有一些 ...

随机推荐

  1. bzoj1630 [Usaco2007 Demo]Ant Counting

    Description Bessie was poking around the ant hill one day watching the ants march to and fro while g ...

  2. javadoc 生成帮助文档时,注意以下几点

    参考:http://www.w3school.com.cn/tags/tag_pre.asp javadoc 生成帮助文档时,注意以下几点: 1.函数功能描述的结尾一定要有句号,英文句号或中文句号均可 ...

  3. C#代码控制 zip rar 解压缩

    首先 解压ZIP的方法: #region 解压ZIP /// <summary> /// 解压ZIP /// </summary> /// <param name=&qu ...

  4. SqlServer 数据库日志无法收缩处理过程

    今天按常用方法收缩一个测试用的数据库日志,发现没法收缩! dbcc sqlperf(logspace)     USE [dbname] GO ALTER DATABASE [dbname] SET  ...

  5. navigationBar 背景色

    if ([[[UIDevice currentDevice]systemVersion]floatValue] >= 7.0) { [[UINavigationBar appearance] s ...

  6. iOS学习之iOS沙盒(sandbox)机制和文件操作(一)

    1.iOS沙盒机制 iOS应用程序仅仅能在为该改程序创建的文件系统中读取文件,不能够去其他地方訪问,此区域被成为沙盒,所以全部的非代码文件都要保存在此,比如图像,图标,声音,映像,属性列表,文本文件等 ...

  7. Multiscale Combinatorial Grouping 学习和理解源代码(一)

    目标探测由于所做的最新研究.因此,这一领域的一般阅读文章.发现这篇文章,效果是比较新的比较好.在如此仔细研究.贴纸和共享.下面已经发布若干个连续的,分别对论文和代码进行大致地介绍,最后依据自己的实验对 ...

  8. 对Textbox的值转换为带千位符和小数的Decimal字符串

    以下Function可以用于textbox的KeyUp事件: 2014-06-06 发现旧版IE不支持selectionStart还有字符串的"[]"索引获取值, 已经修复这个bu ...

  9. AppSettings

    1.winform中读写配置文件appSettings 一节中的配置. #region 读写配置文件 /// <summary> /// 修改配置文件中某项的值 /// </summ ...

  10. Jq超链接提示

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...