У меня есть Perl-скрипт, который имеет бесконечный цикл, который читает целое число от пользователя и каждый раз добавляет его в переменную $ b;
$b = 0;
while ( 1 == 1 ) {
$a = <STDIN>;
$b = $b + $a;
print $b + "\n";
}
У меня есть php-форма, в которой есть поле ввода текста и кнопка отправки, и при нажатии кнопки отправки я хочу передать значение, указанное в поле ввода текста, в работающий скрипт perl и получить последнее значение переменной $ b чтобы показать это в моей форме PHP.
Итак, мой вопрос, как сделать эту взаимосвязь между PHP и Perl?
Вы можете открыть канал для нового экземпляра вашей Perl-программы с помощью popen
$pipe = popen("/path/to/program.pl", "w");
тогда вы можете записать свои номера в трубу и код Perl добавит затем
fwrite($pipe, "99\n");
И perl, и php могут выполнять IPC через сокеты UNIX, очереди сообщений, FIFO и многое другое. Подключиться к уже запущенному процессу STDIN — если он существует и является именованным устройством / объектом — не так просто.