第九章习题
1.建立起一个模式,无论what的值是什么,它都可以匹配三个what的值是什么,它都可以匹配三个what的值是什么,它都可以匹配三个what的内容连在一起的字符串。也就是说,若果what的值是fred,那么你的模式应该匹配fredfredfred;若what的值是fred,那么你的模式应该匹配fredfredfred;若what的值是fred,那么你的模式应该匹配fredfredfred;若what的值为fred|barney,那么你的模式应该匹配fredfredbarney,barneyfredfred,barneybarneybarney或许多其他组合.(提示:你应该在模式测试的开头放上类似mywhat=′fred∣barney′;这样的语句.)/(what='fred|barney';这样的语句.) /(what=′fred∣barney′;这样的语句.)/(what){3}/
2.写个程序来复制并修改指定的文本文件,在副本里,此程序会把出现字符串Fred(大小写不计)的每一处都换成Larry(也就是Manfred Mann换成ManLarry Mann).输入文件名应该在命令行上指定(不询问用户),输出文件名则是本来的文件名加上.out.

my $in = $ARGV[0];
if(! defined $in){die "Usage: $0 filename";
}my $out = $in;
$out =~ $in;
$out =~ s/(\.\w+)?$/.out/;if(! open $in_fh,'<',$in){die "Can't open '$in':$!";
}
if(! open $out_fh,'>',$out){dor "Can't write '$out':$!";
}
while(<$in_fh>){s/Fred/Larry/gi;print $out_fh $_;
}

3.修改前一道程序,把所有的Fred换成Wilma并把所有的Wilnma换成Fred.如果输入的是fred&wilma,那么正确的输出应该是Wilma&Fred.

while(<$in_fh>){chomp;
s/Fred/\n/gi;
s/Wilma/Fred/gi;
s/\n/Wilma/g;
print $out_fh "$_\n";
}不过我想可能有更加方便的方法,s/[(Fred|)|(Wilma|)]/$2$1/,貌似不行,再看看= =

4.附加题:写个程序,把你目前写过的所有程序都加上版权声明,也就是加上一行这样的文字:

Copyright © 20XX by Yours Truly

把它放在"shebang"行之后.你应该直接修改文件内容并且做备份.假设你将在命令行指定待修改文件的名称
$^I = “.bak”;
while(<>){
if(/\A#!/){
KaTeX parse error: Expected 'EOF', got '#' at position 7: _ .= "#̲# Copyright (C)…ARGV里找到
my %do_these;
foreach (@ARGV){
KaTeX parse error: Expected '}', got 'EOF' at end of input: do_these{} = 1;
}
while(<>){
if(/\A#!/)d{
$
.= “## CopyRight © 20XX by Yours Truly\n”;
}
print;
}

开发日记-20190715 关键词 读书笔记 《Perl语言入门》Day 9相关推荐

  1. 开发日记-20190710 关键词 读书笔记 《Perl语言入门》Day 7

    Preface Content 用m//进行匹配 我们用双斜线的写法表示模式,比如/fred/.但事实上,这是m//(pattern match operator,模式匹配操作符)的简写. 但是尖括号 ...

  2. 开发日记-20190708 关键词 读书笔记 《Perl语言入门》Day 5

    Preface 进度两章,看来搞定这本书真的是需要话一些时间的.十天左右吧.怪我没弄实体书呗. Content 我们已见过并用过一些内置的系统函数,像chomp,reverse和print等. 但是, ...

  3. 开发日记-20190706 关键词 读书笔记 《Perl语言入门》Day 3

    Preface 感觉Perl上下文的概念其实挺有意思的,有点像大陆法系和英美法系之间的关系那样扑朔迷离.Perl的感觉在目前给我的感觉是,他更相信人,他认为只要是实际的操作者用的更爽,那这个东西就是最 ...

  4. 开发日记-20190705 关键词 读书笔记 《Perl语言入门》Day 2

    Preface Content 运行程序时,Perl内部的编译器会先载入整个源程序,将之转换成内部使用的bytecode,这是一种Prel在内部用来表示程序语法树的数据结构,然后交给Perl的byte ...

  5. 开发日记-20190716 关键词 读书笔记 《Perl语言入门》Day 10

    文件测试操作符及其意义 文件测试操作符 意义 -r 文件或目录,对目前(有效的)用户或组来说是可读的 -w 文件或目录,对目前(有效的)用户或组来说是可写的 -x 文件或目录,对目前(有效的)用户或组 ...

  6. 开发日记-20190709 关键词 读书笔记 《Perl语言入门》Day 6

    Preface 麻麻,今天Perl进度推进了两章,Linux进度推进了一章,我这下班进度.高起来我自己都吓一跳.早点睡觉吧!还有,用知识武装自己,而不是欲望. Content 什么是正则表达式? 正则 ...

  7. 开发日记-20190707 关键词 读书笔记 《Perl语言入门》Day 4

    Preface 呵,这脸打的真的是啪啪直响,我自己说的话其实我自己是记得最清楚的.今天都已经是第四天了,进度也只到第三章,真的,还是待在公司最有感觉. Content 自己写了一遍第三章的答案,然后对 ...

  8. 开发日记-20190717 关键词 读书笔记 《Perl语言入门》Day 11

    Preface 我在想,是不是有什么东西,我渐渐忽略了自己的想法,我自己到底愿意成为自己所期望的什么样的样子,我所考虑的,是不是应该无视自己内心的那样的无可奈何的,不为人知的孤独感,我迷茫着,自己是不 ...

  9. 开发日记-20190712 关键词 读书笔记 《Perl语言入门》Day 8

    Preface 明天就是Fate大电影上映的时间了,好激动= = Content 列表上下文的m// 在使用split时,模式指定的正是分隔符:分解得到的字段未必就是我们需要的数据.有时候,指定想要留 ...

最新文章

  1. 未来几年自动驾驶预测(上)
  2. 谷歌母公司投资成绩:4大机构各有侧重,投资2个马斯克项目
  3. Fatfs文件系所有函数总结
  4. 一个端到端模型GraphDR实现多样化的召回
  5. android点击弹出滑动条,IndicatorSeekBar Android自定义SeekBar,滑动时弹出气泡指示器显示进度...
  6. 2060 : Minsum Plus(贪心)
  7. 2018/7/16-纪中某C组题【jzoj4024,jzoj4025,jzoj2136,jzoj2137】
  8. 使用Spring Boot和MongoDB构建一个反应式应用程序
  9. linux CentOS7最小化安装环境静默安装Oracle11GR2数据库(安装常用工具_02)
  10. 如何在Eclipse上使用SVN,安装、提交、拉取代码、解决冲突等操作
  11. java properties $,如何引用java.util.Properties中的另一个属性?
  12. web 前端(轮番插件)
  13. linux系统下怎么测试网口通不通,linux udp端口测试_linux udp端口测试_linux测试端口通不通...
  14. 使用Freeimage库时报错的解决方法
  15. 服务器维修工程师个人简历,机械维修工程师个人简历模板精选
  16. 利用Python使图片完美去除水印,我想试试马赛克的效果∧v∧
  17. 【CSP】201903-1 小中大
  18. 全网无损音乐、超清视频免费下!
  19. nginx简单配置多个域名转向多个tomcat
  20. 经济预测与决策matlab试题,经济预测与决策技术及MATLAB实现第5章 投入产出预测法.ppt...

热门文章

  1. 计算机里面照片无法打卡,为什么电脑照片打不开_电脑照片打不开的解决方法...
  2. php数组如何写入txt文件中_php将数组写入到文件的三种方法
  3. 王卡为何解封40g显示服务器开拆,腾讯大王卡40G流量用完了怎么办 腾讯大王卡解封以及解封后流量收费介绍...
  4. python 爬取贝壳网小区名称_利用python爬取贝壳网租房信息
  5. oracle最大值填充,Oracle sequence值到了最大值的处理
  6. oracle 监听主机,Oracle 监听
  7. html字体效果标签,纯CSS模拟fieldset标签效果把文字写在边框上
  8. PHP的CI框架学习
  9. Yii框架控制台报错: The id configuration for the Application is required
  10. 【408预推免复习】操作系统之处理机调度与死锁