2017-08-30 4 views
0

J'ai un script Perl qui exécute un script python mais j'ai besoin de renvoyer des informations au script Perl. Quelqu'un peut-il m'aider à y parvenir?Exécuter un programme et capturer sa sortie

C'est mon code jusqu'à présent

open(my $py, "|-", "python2 /home/pi/myRead.py") or die "Cannot run Python script: $!"; 
while (<$py>) { 
    $newCard = $py; 
} 
close($py); 
+0

Vous gardez '$ newCard' écraser au lieu d'ajouter à ce – ikegami

+0

https://stackoverflow.com/questions/10765311/how-to-read- to-and-write-from-a-pipe-in-perl –

+1

'" - | "' est à lire. –

Répondre

3
my $newCard = `python2 /home/pi/myRead.py`; 
+0

Je jure que c'était mon premier essai et n'a pas fonctionné. travaillé maintenant. TY –

+0

N'utilisez pas de dos. Utilisez 'qx'. par exemple. 'my $ newCard = qx @ python /home/pi/[email protected];' –

+0

@William Pursell, pourquoi ??? '\' ... \ '' est l'abréviation de 'qx \' ... \ '', qui est l'abréviation de 'readpipe (qq \' ... \ '))'. – ikegami