Esiste un filehandle/handle per l'output di un comando di sistema eseguito in Perl?Filehandle per l'output dal comando di sistema in Perl
6
A
risposta
1
12
Ecco un esempio di stabilire tubi tra la sceneggiatura e altri comandi, utilizzando il modulo 3-argomento 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 ...
Two-arg 'open' è vecchio e crufty (e potenzialmente pericoloso). [Usa invece la versione three-arg] (http://www.modernperlbooks.com/mt/2010/04/three-arg-op-migrating-to-modern-perl.html) – Daenyth