1. [8]使用模式测试程序。创造一个模式能匹配字符串match。使用字符串beforematchafter 进行测试。输出结果将其三部
分放在正确位置了吗?
#! /usr/bin/perlwhile(<>){ #获取输入,从文件或者是从键盘 if(/match/){ print "It matches $`$<&$>'\n";//打印出匹配的单词,匹配到的用<>括起来}}
2. [7]使用模式测试程序,创造一个模式能匹配任何单词(\w 意义下的单词),但这个单词必需以字母a 结尾。它匹配wilma
而没匹配barney 吗?它匹配Mrs. Wilma Flintstone 吗? wilma&fred 呢?使用前一章习题的文件进行练习(如果没有上
述字符串,则加上它们)
#! /usr/bin/perlwhile(<>){ if(/\b\w*a\b/){ print "It matches |$`<$&>$'| \n"; }}
3. [5]修改第二题的程序,使之将由a 结尾的单词放到$1 之中。同时修改源代码,使此变量对应的值被放在单引号之中,
如$1 contains ‘Wilma’。
#! /usr/bin/perlwhile(<>){ if(/\b(\w*a)\b/){ print "$1 contains '' \n"; }}4. [5]额外练习:修改第三题程序,使之能捕捉由a 结尾的单词之后的5 个字符(如果有那么多),并将之放入一个独立
变量中。例如,如果输入的是I saw Wilma yesterday,则紧接的5 个字符是yest(前有空格)。如果输入是I,Wilma!,
则只有一个字符。它现在还能匹配wilma 吗?
#! /usr/bin/perlwhile(<>){ if(/\b\w*a\b(.{5})/){#单个字符出现五次 print "\$1 contains \'$1\' \n"; }}5. [5]写一个程序(不是测试程序),能输出任何由空白结尾的输入行(非换行符)。在输出的结尾处放置一个标记符,使
之能标记出空白。
总结#! /usr/bin/perlwhile(<>){ if(/(.*)(\s+$)/){#任意个字符,并以多空白结尾 print " nullFlag\n"; } }
以上是内存溢出为你收集整理的perl语言入门第8章练习题全部内容,希望文章能够帮你解决perl语言入门第8章练习题所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)