【发布时间】:2012-06-01 02:34:28
【问题描述】:
当我对仅打印大量文本的 perl 脚本进行 exec 调用时,我遇到了捕获文本的问题。当我运行以下代码时会发生什么,我得到一个 1 个字的结果:“数组”。我需要能够捕获结果,以便我可以稍微改变它们。代码如下:
<?php
$lastline = exec("perl parseOutput.pl",$retVal);
echo $retVal;
?>
我该如何解决这个问题?
【问题讨论】:
当我对仅打印大量文本的 perl 脚本进行 exec 调用时,我遇到了捕获文本的问题。当我运行以下代码时会发生什么,我得到一个 1 个字的结果:“数组”。我需要能够捕获结果,以便我可以稍微改变它们。代码如下:
<?php
$lastline = exec("perl parseOutput.pl",$retVal);
echo $retVal;
?>
我该如何解决这个问题?
【问题讨论】:
你有一个输出的文本行数组。
做这样的事情:
echo implode( "\n", $retVal);
或者
echo implode( "<br />\n", $retVal);
您将看到 perl 脚本生成的所有输出。
【讨论】:
只需使用shell_exec()
$fullResult = shell_exec("perl parseOutput.pl");
echo $fullResult;
【讨论】: