다음과 같은 방법으로 Perl에 의해 호출 된 wget의 STDOUT 반환 값을 어떻게 포착하여 변수에 넣을 수 있습니까?Perl 오픈 파이프에서 STDOUT을 캡처하는 방법은 무엇입니까?
my @urls = ('url1', 'url2', 'url3');
open(GET, "| xargs -n1 -P 3 wget -qO- ") || die "get failed: $!\n";
print GET "@urls";
다음과 같은 방법으로 Perl에 의해 호출 된 wget의 STDOUT 반환 값을 어떻게 포착하여 변수에 넣을 수 있습니까?Perl 오픈 파이프에서 STDOUT을 캡처하는 방법은 무엇입니까?
my @urls = ('url1', 'url2', 'url3');
open(GET, "| xargs -n1 -P 3 wget -qO- ") || die "get failed: $!\n";
print GET "@urls";
우선, your pipe is an input pipe, and open
doesn't support both input and output pipes. 대안으로, URL 당 파이프로 연결된 출력 오픈 한 파일 핸들을 사용
use strict;
use warnings;
my @urls=qw(url1 url2 url3);
foreach my $url(@urls)
{
open(my $get,"-|","wget $url") or die $!;
print while(<$get>);
close($get);
}
만세 ... 아직 더 직렬 다운 voting. –