《Perl语言入门》第四版习题(14)

来源:互联网 发布:无限流量软件下载 编辑:程序博客网 时间:2024/05/18 21:38

 1. [6]写一个程序可以转到某个特定的(写入代码中的)目录,如系统的根目录,再执行ls –l 得到那个目录的目录列表。
(如果你的是non-Unix 系统,使用你自己的系统命令,得到那个目录的详细列表)
2. [10]修改第一题的程序,将结果输出到当前目录的文件ls.out 中。错误的结果输出到文件ls.err 中。(你不需要做任何特
殊的事,这两个文件中的任意一个都可能是空的。)
3. [8]写一个程序能解析date 命令的输出,判断当前日期是一个星期的第几天。如果是weekday(周一至周五),则输出
get to work;否则,输出go play。date 命令的输出如果是由Mon 开头,则指星期一◆。如果你的non-Unix 系统没有
date 命令,则伪造一个程序使之可以输出像date 命令那样的结果。我们这里给你提供一个两行的程序,如果你答应不
问我们它工作的原因:
◆至少当这些星期几是由英文输出的时候。你应当根据你的系统调整它,如果你的系统不是这样。
#! /usr/bin/perl
print localtime() . “/n”;

 

1、

#!/usr/bin/perl -w
use strict;

chdir $ARGV[0] or die "Cann't chdir to $ARGV[0]:$!";
system "ls -l";

 

2、

#!/usr/bin/perl -w
use strict;

chdir $ARGV[0] or die "Cann't chdir to $ARGV[0]:$!";
open LOG ,">>14_2.out";
open STDERR,">>14_2.err";
my $d=`dir`;
print LOG $d;
close LOG;
close STDERR;

 

3、

#!/usr/bin/perl -w
use strict;

if(`date`=~/^s/i){
        print "go play!/n";
}else{
        print "go work!/n";
}