Pipe en entrée et en sortie.
Bonjour,
J'aimerais faire passer un scalaire au travers du programme 'php', et récupérer la sortie dans un autre scalaire.
Voici ce que j'ai écrit, et qui semble fonctionner.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
use strict;
use warnings;
use utf8;
my $entree = <<'FIN';
<?php
print "OK.\n";
?>
FIN
my $sortie = "";
my $pid = open FILS, "-|";
if ($pid) {
while ( my $ligne = <FILS> ) {
$sortie .= $ligne;
}
} else {
open PHP, "| php";
print PHP $entree;
close PHP;
exit;
}
close FILS ;
print "<<$sortie>>\n"; |
Je trouve ça un peu lourd. Intuitivement, je me dis qu'il y a sûrement une méthode plus élégante et plus concise, en utilisant des backquotes par exemple, ou quelque chose du genre
Code:
open PHP, "| php |"
, mais je n'y arrive pas.
Si vous avez des éléments d'information, je suis preneur.