2

我在 Perl 程序中生成一个 node.js 脚本,我想通过 node.js 运行它,作为一个 JavaScript 解释器。如何运行节点$script而不将其写入磁盘然后调用节点,然后捕获输出。

我正在使用该system命令,我认为这对这个目的很有用。

4

2 回答 2

0

使用open代替system

#!/usr/bin/perl
open(FOO, "|node");
print FOO "console.log('hello world');";

或者,如果您不需要从 perl 脚本中执行此操作,只需从您的 shell:

$ ./myscript.pl | node

打印javascriptmyscript.pl代码后退出的位置

于 2012-06-01T03:10:34.270 回答
0

使用IPC::RunIPC::Open3

use strictures;
use IPC::Run qw(run);
use autodie qw(:all run);

my $in = '… JavaScript goes here …';
my $out;
run ['node'], \$in, \$out;
于 2012-06-01T08:37:39.300 回答