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;