Comment récupérer le code retour d'un batch windows en Perl ?
Salut à tous.
Je suis sous windows 10 Pro
Je désire depuis un script Perl, lancer un batch windows et récupérer son code retour.
Par exemple, ce batch windows :
Code:
1 2 3 4 5 6
| @echo off
echo Le premier paramètre : %1
echo Le second paramètre : %2
exit 5 |
Et voici ce que j'ai fait en Perl :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| #!C:\perl64\bin\perl.exe -w
use strict;
use warnings;
use diagnostics;
use 5.24.1;
# --------------------------------
# Passage de paramètres à un Batch
# --------------------------------
my @cmd = ('batch.bat', 'hello', 'sir');
open DATA, "@cmd|" or die "Ouverture impossible des données : $!" ;
while (my $line = <DATA>) { $line =~ s/[\n\r]+//g; say ">>".$line."<<"; }
close DATA; |
Et voici le résultat que j'obtiens :
Code:
1 2
| >>Le premier paramètre : hello<<
>>Le second paramètre : sir<< |
Avant de poster, j'ai cherché sur le net, sans succès.
J'ai pensé que le code retour pouvait être récupéré par "$!" mais je n'obtiens rien à l'exécution.
Je désire donc en Perl, récupérer la valeur 5.
@+