问我们它工作的原因: #! /usr/bin/env perl -w use strict;
#Date:2005-05-31 #ex14_1
#判断当前日期是一个星期的第几天。如果是weekday(周一至周五),则输出 #get to work;否则,输出go play。 if (`date` =~ /^S/) {
print \ } else {
print \}
15.4 练习
1、从 CPAN 上安装 Module::CoreList 这个模块。打印出 Perl5.006 所附带的所有模块。
创建一个 hash ,其 keys 为给定版本的 Perl 所带的模块的名字,使用下面的代码: my %modules = %{%module::CoreList::version{5.006}}; #! /usr/bin/env perl -w #Date:2005-05-31 #ex15_1
use Module::CoreList;
my %modules = %{ $Module::CoreList::version{5.006} }; print join \
2、获得当前目录文件名的列表。使用 C
模块将目录名和文件名结合起来得到绝对路径(absolute path) 。将此路径输出在标准输出设备上,一行一条。你的解决方案应当可以移植到其它系统之中。 #! /usr/bin/env perl -w use strict; use Cwd;
use File::Spec; #Date:2005-05-31 #ex15_2
my $d=getcwd; my $f;
for (glob \
$f=File::Spec->catfile($d,$_); print \}
3、利用前一题的输出,将其读入路径的列表中,再使用 C
名从中分离出来。输出文件名。你的解决方案应当可以移植到其它系统之中。 #! /usr/bin/env perl -w
use strict;
use File::Basename; #Date:2005-05-31 #ex15_3
for (`perl ex15_2`){ $_=basename $_; print ; }
16.6 练习
1、写一个程序,从文件中读入字符串,一行一个字符串,然后让用户输入模式,这个模式
可能匹配上某些字符串。对于每一个模式,程序将指出文件中有多少个字符串(多少行)匹配上了,并指出是哪些。对于新的模式不需要重新读文件,将这些字符串保留在内存中。文件名可以直接写在程序之中。如果模式无效(例如,圆括号不匹配),则程序报告这个错误,并让用户继续尝试新的模式。当用户输入一个空行,则程序退出。 #!/usr/bin/perl -w use strict;
unless(@ARGV) { die \}
open(IN,\my @in=
#! /usr/bin/env perl -w use strict;
#Date:2005-05-31 #ex16_1
my $filename = 'path/to/sample_text'; open FILE, $filename
or die \ chomp(my @strings =
print \ chomp(my $pattern =
grep /$pattern/, @strings; };
if ($@) {
print \ } else {
my $count = @matches;
print \ map \ }
print \ }
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库Perl语言入门(第四版)习题答案(5)在线全文阅读。
相关推荐: