perlcookbook第二版16.4一节中,关与管道的用法,在这里写了一个自己的写程序。将程序的输出给另一个程序,以供另一个程序使用的小例子。仅供参考:
main.pl
#/usr/bin/perl -w
$default_files="/etc/hosts";
if($#ARGV==0){
if($ARGV[0]=="-h"){
&usage;
}
$default_files=$ARGV[0];
}
&filter_function($default_files);
sub filter_function($default_files){
open FH,"$default_files";
open FILTER,"|-","/home/badboy/input.pl";
while(<FH>){
print FILTER "$_";
}
close FILTER;
close FH;
}
sub usage(){
print $0,"\tFilename\n";
}
input.pl
#!/usr/bin/perl -w
while(<STDIN>){
$line=<STDIN>;
next if $line=~m/^#/;
next if $line=~m/^$/;
print $line;
}
main.pl是生产者,input.pl是输出者,它将生产者的内容进行一定的过滤。相信大家,可以借助这个模型能写出更有用的脚本。
此脚本运行perl版本:
badboy@badboy-desktop:~$ perl -v
This is perl, v5.10.1 (*) built for i486-linux-gnu-thread-multi
本文转自hahazhu0634 51CTO博客,原文链接:http://blog.51cto.com/5ydycm/554226,如需转载请自行联系原作者