Javascript js调用perl脚本并获取stdout
是否可以使用node.js作为进程调用perl脚本并逐行读取标准输出Javascript js调用perl脚本并获取stdout,javascript,node.js,Javascript,Node.js,是否可以使用node.js作为进程调用perl脚本并逐行读取标准输出 我很确定,对于普通javascript,这通常是不可能的,但使用node.js的服务器端脚本似乎有一定意义。是的,请查看spawn/exec 我不确定您为什么不在node中执行此操作。您可以使用node的内置命令执行子进程,并处理stdout的逐行处理: 安装: $ npm install carrier 代码: 还要注意,这将在一个大blob中返回stdout(和stderr),而不是逐行返回。如果换行符对您非常重要,您
我很确定,对于普通javascript,这通常是不可能的,但使用node.js的服务器端脚本似乎有一定意义。是的,请查看spawn/exec
我不确定您为什么不在node中执行此操作。您可以使用node的内置命令执行子进程,并处理stdout的逐行处理: 安装:
$ npm install carrier
代码:
还要注意,这将在一个大blob中返回stdout(和stderr),而不是逐行返回。如果换行符对您非常重要,您需要拆分换行符上的输出。不确定为什么不做什么?使用perl脚本?一个非常简单的例子是一个perl模块,它在node中很难重写,也很耗时。
$ npm install carrier
var util = require('util'),
spawn = require('child_process').spawn,
carrier = require('carrier'),
pl_proc = spawn('perl', ['script.pl']),
my_carrier;
my_carrier = carrier.carry(pl_proc.stdout);
my_carrier.on('line', function(line) {
// Do stuff...
console.log('line: ' + line);
})