如何将变量从php传递给正在运行的perl脚本

时间:2017-05-06 12:38:33

标签: php perl cross-language

我有一个perl脚本,它有一个无限循环,从用户读取一个整数,并且每次都将它添加到变量$ b;

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

我有一个带有输入文本字段和提交按钮的php表单,当按下提交按钮时,我想将输入文本字段中给出的值传递给正在运行的perl脚本并获取最后一个值$ b变量以我的php形式显示它。

所以我的问题是如何在php和perl之间进行这种互连?

2 个答案:

答案 0 :(得分:0)

您可以使用popen

打开到您的Perl程序的新实例的管道
$pipe = popen("/path/to/program.pl", "w");

然后您可以将您的数字写入管道,然后Perl代码将添加

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

答案 1 :(得分:0)

perl和php都可以通过UNIX套接字,消息队列和FIFO等进行IPC。连接到已经运行的进程STDIN - 如果它存在并且是一个命名的设备/对象 - 就不那么容易了。