Как передать переменную из php в работающий Perl-скрипт

У меня есть Perl-скрипт, который имеет бесконечный цикл, который читает целое число от пользователя и каждый раз добавляет его в переменную $ b;

$b = 0;
while ( 1 == 1 ) {
$a = <STDIN>;
$b = $b + $a;
print $b + "\n";
}

У меня есть php-форма, в которой есть поле ввода текста и кнопка отправки, и при нажатии кнопки отправки я хочу передать значение, указанное в поле ввода текста, в работающий скрипт perl и получить последнее значение переменной $ b чтобы показать это в моей форме PHP.

Итак, мой вопрос, как сделать эту взаимосвязь между PHP и Perl?

2

Решение

Вы можете открыть канал для нового экземпляра вашей Perl-программы с помощью popen

$pipe = popen("/path/to/program.pl", "w");

тогда вы можете записать свои номера в трубу и код Perl добавит затем

fwrite($pipe, "99\n");
0

Другие решения

И perl, и php могут выполнять IPC через сокеты UNIX, очереди сообщений, FIFO и многое другое. Подключиться к уже запущенному процессу STDIN — если он существует и является именованным устройством / объектом — не так просто.

0