【发布时间】:2010-12-04 18:40:17
【问题描述】:
我有一个普通的 perl 脚本,可以通过perl -w test.pl 从命令行运行。然后我有一个可以从网络浏览器访问的 mod_perl2 脚本。我想让后者调用前者并将输出发送到浏览器,同时刷新。
mp2 脚本没有 shebang 行,因为它是 mod_perl,所以它不知道 perl 所在的位置。此外,调用system('perl -w c:\\path\\to\\test.pl') 会导致错误:
由于某种原因我无法弄清楚,因为它在我的路径变量中。也许不是因为运行 Apache 的帐户。
有什么方法可以运行脚本并捕获其输出,而无需通过system() 调用 perl 可执行文件?即,使用已经加载的解释器的东西?
【问题讨论】:
-
perl不在运行httpd的帐户的%PATH%中。 -
我提到可能是 OP 中的情况
-
我刚刚检查了控制面板->系统->高级->环境变量,它在系统路径中......所以我不知道为什么它不会最终出现在所有路径中帐户。
标签: perl command-line winapi system mod-perl2