next up previous contents
suivant: Trouver un fichier selon monter: Les modules standards de précédent: Les modules standards de   Table des matières

Lancer des commandes Shell en Perl

La plupart du temps, lorsqu'on veut lancer une commande du Shell et en récupérer le résultat, on utilise soit la fonction system() soit la fonction open() sur un pipe soit les quotes inversés.

C'est oublier que Perl est livré en standard avec le module Shell qui permet d'incorporer les commandes du Shell comme des mots clefs de Perl lui même.

À savoir qu'une commande n'affichera pas le résultat comme elle pourrait le faire en Shell mais qu'elle le retournera. Il est donc indispensable de récupérer la valeur de retour si l'on souhaite la traiter ou l'afficher.

use Shell qw(ls cat);

my $list = ls;
print $list;

my $passwd = cat("/etc/passwd");
print $passwd;



2006-03-15