我正在尝试将命令的标准输出捕获到Perl中的类文件对象。
我基本上需要做以下事情:
我该如何做第一步?我想执行一个命令并在文件对象中获取它的标准,以便能够逐行读取它。
答案 0 :(得分:4)
第一部分很简单:
use autodie qw(:all);
open my $input, '-|', 'os-command', @args;
显然,其余部分并不难:
while (<$input>)
{
next unless m/your regex/;
system 'other-command', $_;
}
通过autodie
提供open
和system
来电的自动错误检查。
答案 1 :(得分:0)
您可以这样做:
my @input = qx( some_command );
for my $line (@input) {
$line =~ m{some_pattern} and system("some_command", "$line");
}