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
Jacques Caron
Salut,
On Wed, 14 Dec 2005 11:53:24 +0100, s.Müller wrote:
Je chercher à récupérer le résultat (STDOUT) de la fonction système dans une variable. Pour ce faire j'utilise le code suivant:
sub execute { my $Command = shift; my $StdOut; open OUT,"$Command |"; while ( <OUT> ) { $StdOut .= $_ } close OUT; return $StdOut; }
my $Out = execute qq{Ma commande système};
Est-ce qu'il existe une méthode plus simple ?
my $Out = `ma commande systeme`;
Ce sont des "back-quotes", comme en shell. On peut aussi utiliser qx qui est la même chose:
my $Out = qx{ma commande systeme};
Voir perldoc perlipc pour quelques remarques sur le sujet. En particulier, avec la méthode pipe, il est souvent plus rapide de ne pas stocker tout ce que la commande répond, mais de traiter directement ligne par ligne et de ne récupérer que ce qu'on veut vraiment comme on le veut vraiment. Mais ça dépend bien entendu de l'application...
Jacques. -- Oxado http://www.oxado.com/
Salut,
On Wed, 14 Dec 2005 11:53:24 +0100, s.Müller <stephane.muller@laposte.net>
wrote:
Je chercher à récupérer le résultat (STDOUT) de la fonction système dans
une variable. Pour ce faire j'utilise le code suivant:
sub execute {
my $Command = shift;
my $StdOut;
open OUT,"$Command |";
while ( <OUT> ) { $StdOut .= $_ }
close OUT;
return $StdOut;
}
my $Out = execute qq{Ma commande système};
Est-ce qu'il existe une méthode plus simple ?
my $Out = `ma commande systeme`;
Ce sont des "back-quotes", comme en shell. On peut aussi utiliser qx qui
est la même chose:
my $Out = qx{ma commande systeme};
Voir perldoc perlipc pour quelques remarques sur le sujet. En particulier,
avec la méthode pipe, il est souvent plus rapide de ne pas stocker tout ce
que la commande répond, mais de traiter directement ligne par ligne et de
ne récupérer que ce qu'on veut vraiment comme on le veut vraiment. Mais ça
dépend bien entendu de l'application...
On Wed, 14 Dec 2005 11:53:24 +0100, s.Müller wrote:
Je chercher à récupérer le résultat (STDOUT) de la fonction système dans une variable. Pour ce faire j'utilise le code suivant:
sub execute { my $Command = shift; my $StdOut; open OUT,"$Command |"; while ( <OUT> ) { $StdOut .= $_ } close OUT; return $StdOut; }
my $Out = execute qq{Ma commande système};
Est-ce qu'il existe une méthode plus simple ?
my $Out = `ma commande systeme`;
Ce sont des "back-quotes", comme en shell. On peut aussi utiliser qx qui est la même chose:
my $Out = qx{ma commande systeme};
Voir perldoc perlipc pour quelques remarques sur le sujet. En particulier, avec la méthode pipe, il est souvent plus rapide de ne pas stocker tout ce que la commande répond, mais de traiter directement ligne par ligne et de ne récupérer que ce qu'on veut vraiment comme on le veut vraiment. Mais ça dépend bien entendu de l'application...
Jacques. -- Oxado http://www.oxado.com/
s.Müller
Evidemment !! Dans quoi je m'embarquais !!?? Merci encore
"Jacques Caron" a écrit dans le message de news:
Salut,
On Wed, 14 Dec 2005 11:53:24 +0100, s.Müller wrote:
Je chercher à récupérer le résultat (STDOUT) de la fonction système dans une variable. Pour ce faire j'utilise le code suivant:
sub execute { my $Command = shift; my $StdOut; open OUT,"$Command |"; while ( <OUT> ) { $StdOut .= $_ } close OUT; return $StdOut; }
my $Out = execute qq{Ma commande système};
Est-ce qu'il existe une méthode plus simple ?
my $Out = `ma commande systeme`;
Ce sont des "back-quotes", comme en shell. On peut aussi utiliser qx qui est la même chose:
my $Out = qx{ma commande systeme};
Voir perldoc perlipc pour quelques remarques sur le sujet. En particulier, avec la méthode pipe, il est souvent plus rapide de ne pas stocker tout ce que la commande répond, mais de traiter directement ligne par ligne et de ne récupérer que ce qu'on veut vraiment comme on le veut vraiment. Mais ça dépend bien entendu de l'application...
Jacques. -- Oxado http://www.oxado.com/
Evidemment !! Dans quoi je m'embarquais !!??
Merci encore
"Jacques Caron" <jc@oxado.com> a écrit dans le message de news:
op.s1rs6qj6w8m2cx@news.free.fr...
Salut,
On Wed, 14 Dec 2005 11:53:24 +0100, s.Müller <stephane.muller@laposte.net>
wrote:
Je chercher à récupérer le résultat (STDOUT) de la fonction système dans
une variable. Pour ce faire j'utilise le code suivant:
sub execute {
my $Command = shift;
my $StdOut;
open OUT,"$Command |";
while ( <OUT> ) { $StdOut .= $_ }
close OUT;
return $StdOut;
}
my $Out = execute qq{Ma commande système};
Est-ce qu'il existe une méthode plus simple ?
my $Out = `ma commande systeme`;
Ce sont des "back-quotes", comme en shell. On peut aussi utiliser qx qui
est la même chose:
my $Out = qx{ma commande systeme};
Voir perldoc perlipc pour quelques remarques sur le sujet. En particulier,
avec la méthode pipe, il est souvent plus rapide de ne pas stocker tout ce
que la commande répond, mais de traiter directement ligne par ligne et de
ne récupérer que ce qu'on veut vraiment comme on le veut vraiment. Mais ça
dépend bien entendu de l'application...
Evidemment !! Dans quoi je m'embarquais !!?? Merci encore
"Jacques Caron" a écrit dans le message de news:
Salut,
On Wed, 14 Dec 2005 11:53:24 +0100, s.Müller wrote:
Je chercher à récupérer le résultat (STDOUT) de la fonction système dans une variable. Pour ce faire j'utilise le code suivant:
sub execute { my $Command = shift; my $StdOut; open OUT,"$Command |"; while ( <OUT> ) { $StdOut .= $_ } close OUT; return $StdOut; }
my $Out = execute qq{Ma commande système};
Est-ce qu'il existe une méthode plus simple ?
my $Out = `ma commande systeme`;
Ce sont des "back-quotes", comme en shell. On peut aussi utiliser qx qui est la même chose:
my $Out = qx{ma commande systeme};
Voir perldoc perlipc pour quelques remarques sur le sujet. En particulier, avec la méthode pipe, il est souvent plus rapide de ne pas stocker tout ce que la commande répond, mais de traiter directement ligne par ligne et de ne récupérer que ce qu'on veut vraiment comme on le veut vraiment. Mais ça dépend bien entendu de l'application...
Jacques. -- Oxado http://www.oxado.com/
FDA
Evidemment !! Dans quoi je m'embarquais !!??
Sans doute dans une solution plus portable d'un système à l'autre... (mixte Linux-Windows, par exemple) ?
Evidemment !! Dans quoi je m'embarquais !!??
Sans doute dans une solution plus portable d'un système à l'autre...
(mixte Linux-Windows, par exemple) ?