4. open LIST "ls -l|"; open MORE "|more"; @list=<LIST>; print MORE @list; close(LIST); close(MORE); 使用带管道的文件句柄来执行外部命令,使用方式与读写文件类似。可以从外部命令的输出读取数据,也可以将数据输出到外部命令作为输入。
5. defined(my $pid=fork) or die "Can not fork: $!\n"; unless ($pid) { exec ("date"); } waitpid ($pid,0); 使用fork将会开启子进程与父进程同时执行之后的代码,其中父进程中fork会返回一个非零的数,而子进程中将返回零。 上面的代码完成和system("date")相同的功能。比起system单纯地调用外部命令,fork可以完成更加复杂的进程操作。