77范文网 - 专业文章范例文档资料分享平台

Perl语言入门(第四版)习题答案(3)

来源:网络收集 时间:2019-01-07 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

else {

print \ } }

---------------------------------------------/home/confish/perl/mm

2、使用模式测试程序,创造一个模式能匹配任何单词(\\ w 意义下的单词),但这个单词

必需以字母 a 结尾。它匹配 wilma而没匹配 barney 吗?它匹配 Mrs. Wilma Flintstone 吗? wilma&fred 呢?使用前一章习题的文件进行练习(如果没有上述字符串,则加上它们) ---------------------------------------------/home/confish/perl/ma #!/usr/bin/perl -w

#match \#confish@ubuntu7.10 while(<>) {

chomp; if(/a\\b/) {

print \ } else {

print \ } }

---------------------------------------------/home/confish/perl/ma

3、修改第二题的程序,使之将由 a 结尾的单词放到$1 之中。同时修改源代码,使此变量

对应的值被放在单引号之中,如$1 contains ‘Wilma’。 ---------------------------------------------/home/confish/perl/mapro #!/usr/bin/perl -w

#match word end with a and storage it #confish@ubuntu7.10 while(<>) {

chomp; if(/(a$)/) {

my $temp=$1;

print \ } else {

print \ } }

---------------------------------------------/home/confish/perl/mapro

4、额外练习:修改第三题程序,使之能捕捉由 a 结尾的单词之后的 5 个字符(如果有那

么多),并将之放入一个独立变量中。例如,如果输入的是 I saw Wilma yester day, 则紧接的 5 个字符是 yest(前有空格)。如果输入是 I , Wilma! ,则只有一个字符。它现在还能匹配 wilma 吗?

---------------------------------------------/home/confish/perl/mwa #!/usr/bin/perl -w

#match a word end with a and print the next five character #confish@ubuntu7.10 while(<>) {

if(/a\\b/) {

my $temp=$';

if($temp=~/.{0,5}/) {

my $match=$&; print $match; } } else {

print \ } }

---------------------------------------------/home/confish/perl/mwa

5、写一个程序(不是测试程序),能输出任何由空白结尾的输入行(非换行符)。在输出

的结尾处放置一个标记符,使之能标记出空白。

---------------------------------------------/home/confish/perl/ms #!/usr/bin/perl -w #match a space

#confish@ubuntu7.10 while(<>) {

if(/ +$/) {

print; } }

---------------------------------------------/home/confish/perl/ms

9.6 练习

1、写一个模式,它能匹配$what 当前的内容的 3 份连续拷贝。也就是说,如果$what 为 fred,

则此模式能匹配 fredfredfred 。如果$what 为 fred|barney ,则此模式能匹配 fredfredbarney, barneyfredfred, barneybarneybarney , 或者其它的变种。(提示:你应当在程序的顶端设置$what 的值,如 my $what = ‘ fred|barney’ ;)

---------------------------------------------/home/confish/perl/sfb #!/usr/bin/perl -w

#match and replace fred three times #confish@ubuntu7.10 my $what=\

if(\{

print $`.\}

---------------------------------------------/home/confish/perl/sfb

2、写一个程序,它可以得到当前文本文件的一个拷贝。在拷贝的文件中,字符串 Fred( 大

小写无关) 将被 Larry 替换掉。(因此,“ Manfred Mann”将变成“ ManLarry Mann” . )输入的文件名已经在命令行中指定(不需要询问用户),输出的文件名是对应的输入文件名后面加上.out。

---------------------------------------------/home/confish/perl/sfl #!/usr/bin/perl -w #match fred to Larry #confish@ubuntu7.10 $^I=\while(<>) {

s/fred/Larry/i; print; }

---------------------------------------------/home/confish/perl/sfl

3、修改上面程序,使之将 Fred 由 Wilma 替换, Wilma 由 Fred 替换。如果输入的为

fred&wilma,则输出为 Wilma$Fred。

---------------------------------------------/home/confish/perl/addc #!/usr/bin/perl -w #add copyright

#confish@ubuntu7.10 $^I=\

$a=\

while(<>) {

s#/usr/bin/perl\\s+-w#$a#i; print; }

---------------------------------------------/home/confish/perl/addc

4、额外练习:写一个程序在你所有的练习的答案前加上下面这样一行: a) ## Copyright (C) 20XX by Yours Truly

将上面一行放在“ shebang”行(Perl 程序的第一行,#!/usr/bin/perl (可能随 Perl 安装的位置而有所不同,但是指第一行,译者注))下面。你应当在“源文件”中修改,但请备份文件。假定你可以在命令行中同时输入程序和需要的修改的文 件名。

10.10 练习

1、写一个程序,能重复要求用户猜测某个在 1 到 100 之间的数字,直到猜对为止。你的程序

应当能随机的产生一个数字,使用公式 int(1 + rand 100)。当用户猜测错误时,程序应该回应“ Too high”或者“ Too low ”。如果用户输入 quit或 exit ,或者回车时,程序应立即退出。如果用户猜测正确,程序也退出。

---------------------------------------------/home/confish/perl/gn #!/usr/bin/perl -w

#a game to guess a number #confish@ubuntu7.10 my $y=int(1+rand(100));

print\while(chomp($t=)) {

if($t ne \ {

if($t>$y) {

print\ }

elsif($t<$y) {

print\ } else {

print \ }

}

else { last; } }

--------------------------------------------/home/confish/perl/gn

11.6 练习

1、写一个程序,读入命令行中的一串文件,报告其是否可读,可写,可执行,或不存在。

(提示:如果一个函数能一次对一个文件进行所有的检测将非常有帮助。)如果一个文件被执行了 chmod 0 操作,将报告什么?(在 Unix 系统中,chmod 0 some_file 将一个文件变成不可读,不可写,不可执行的)在大多数 shell 中,星号(*)表示当前目录中的所有的普通文件。也就是说,可以输入像 ./ex11 - 1 *这样的命令,返回当前目录下文件的属性。 ------------------------------------------------/home/confish/perl/crw #!/usr/bin/perl -w

#to check whether a file is exits have readability and writeable #confish@ubuntu7.10 foreach(@ARGV) {

if(-e) {

print \ if(-r) {

print \ } else {

print\ } if(-w) {

print \ } else {

print \ } } else {

print \ }

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库Perl语言入门(第四版)习题答案(3)在线全文阅读。

Perl语言入门(第四版)习题答案(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/407590.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: