perl程序设计(十四)

/ns/wz/comp/data/20010319094830.htm

当你向系统shell发送一个命令行时,shell创建一个进程来执行这个
命令。这个新进程成为shell的子进程,它的执行不依赖于shell但又与
shell相互协调。

同样,Perl程序也能启动新进程。

使用system()和exec()

生成新进程的最简单的方法就是用system操作符。如:

system("date");

若要将输出送至now_day文件,则可以:

system("date>now_day") ||die "不能建立now_day文件";

使用单引号

产生进程的另一方法是将shell命令置于两个单引号之间。如:

$nowday="现在时间:".'date'

$nowday的值为“现在时间:”和date命令的结果的连接。即:"现在
时间:Fri Feb 18 23:49:23 PDT 1998"

综合范例

举一个综合例子,要求从date的输入中分析,周未时打印"周未了,
别太辛苦",否则打印"好好工作"。简洁的写法为:

if('date'=~/^S/){
printf "网上学园欢迎您,周未了,别太辛苦";
} else {
printf "好好工作\n"
}

date的输出格式第一个字节为星期,英语中恰好只有周未为"S"打
头,因此使用了常规表达式判断第一个字符是否为S,即可达到要求。