Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
jb
#! /usr/bin/perl -w
use strict;
while (<DATA>) { chomp; next if $_ =~ /^s*$/; open (CMD,"$_|") or die "Ne peut executer la commande $_"; print <CMD>; close CMD; my $status = $?; $status = $? >> 8 if $status; print "status: " . ($status) . "n"; sleep (1); }
1;
__DATA__ echo echo plop
echo toto gi date /T
Je pense que tu n'utilise pas la bonne version de open. Tu fais open FH, "|foo" ce qui ouvre un canal en écriture, à mon avis open FH, "foo|" est plus ce que tu recherches. En outre l'ouverture d'un canal en écriture n'échoue jamais dans ce cas il faut registrer le signal pipe afin de détecter les erreurs eventuels.
local $SIG{PIPE} = sub { die "spooler pipe broke" };
Voir perlipc :)
#! /usr/bin/perl -w
use strict;
while (<DATA>)
{
chomp;
next if $_ =~ /^s*$/;
open (CMD,"$_|")
or die "Ne peut executer la commande $_";
print <CMD>;
close CMD;
my $status = $?;
$status = $? >> 8 if $status;
print "status: " . ($status) . "n";
sleep (1);
}
1;
__DATA__
echo
echo plop
echo toto
gi
date /T
Je pense que tu n'utilise pas la bonne version de open. Tu fais open
FH, "|foo" ce qui ouvre un canal en écriture, à mon avis open FH,
"foo|" est plus ce que tu recherches. En
outre l'ouverture d'un canal en écriture n'échoue jamais dans ce cas
il faut registrer le signal pipe afin de détecter les erreurs
eventuels.
local $SIG{PIPE} = sub { die "spooler pipe broke" };
while (<DATA>) { chomp; next if $_ =~ /^s*$/; open (CMD,"$_|") or die "Ne peut executer la commande $_"; print <CMD>; close CMD; my $status = $?; $status = $? >> 8 if $status; print "status: " . ($status) . "n"; sleep (1); }
1;
__DATA__ echo echo plop
echo toto gi date /T
Je pense que tu n'utilise pas la bonne version de open. Tu fais open FH, "|foo" ce qui ouvre un canal en écriture, à mon avis open FH, "foo|" est plus ce que tu recherches. En outre l'ouverture d'un canal en écriture n'échoue jamais dans ce cas il faut registrer le signal pipe afin de détecter les erreurs eventuels.
local $SIG{PIPE} = sub { die "spooler pipe broke" };