|
|
|
|
Bonjour,
Je programme en ce moment un Shell et pour tester mes fonctions je me suis mis au perl. Ce language etant plus puissant que le script shell j'essaie de le maitriser. Mais voila j'ai un souci pour faire la diff de mes sortie d'execution.
Pour lancer mon binaire j'utilise la fonction system() mais je n'arrive pas a faire de diff.
Lorsque j'essaie
if (print(system("../42SH --version")) eq "42sh version is 0.5\n")
{
print("OK\n");
}
else
{
print("KO\n");
}
des zero s'affiche avant ma diff et j'ai droit a un KO a chaque fois meme si ma sortie est bonne.
Si quelqu'un peut m'aider je lui en serais infiniment reconnaissant.
Merci ;)
Configuration: Mac OS X Firefox 2.0.0.11
Salut,
#!/usr/bin/perl
use strict;use warnings;
my $cmd = qx/sh --version | head -1/;
print "$cmd\n";
if (qx/sh --version | head -1/ eq "GNU bash, version 3.1.17(1)-release (i486-pc-linux-gnu)\n"){
print "OK\n";
}else{
print "KO\n";
}
__END__
Exécution lami20j@debian:~/trash$ perl ccm.pl GNU bash, version 3.1.17(1)-release (i486-pc-linux-gnu) OK lami20j |
Merci pour ta reponse mais mon probleme persiste toujours,
|
Salut,
qx/\/chemin\/vers\/commande/- utilise un autre séparateur pour qx qx[/chemin/vers/commande]
qx(/chemin/vers/commande)
qx{/chemin/vers/commande}--
lami20j |