Дескриптор файла для вывода от системной команды в Perl

Существует ли дескриптор файла/дескриптор для вывода системы, управляют, чтобы я выполнился в Perl?

6
задан T.Rob 16 July 2010 в 02:29
поделиться

2 ответа

Вот пример установки каналов между вашим скриптом и другими командами с использованием формы с 3 аргументами open :

open(my $incoming_pipe, '-|', 'ls -l')             or die $!;
open(my $outgoing_pipe, '|-', "grep -v '[02468]'") or die $!;

my @listing = <$incoming_pipe>;          # Lines from output of ls -l
print $outgoing_pipe "$_\n" for 1 .. 50; # 1 3 5 7 9 11 ...
12
ответ дан 8 December 2019 в 18:32
поделиться

Да, вы можете использовать трубу следующим образом:

open(my $pipe, "ls|") or die "Cannot open process: $!";
while (<$pipe>) {
    print;
}

См. документацию по open для дополнительной информации, и perlipc для полного описания работы трубы.

1
ответ дан 8 December 2019 в 18:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: