Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript js调用perl脚本并获取stdout_Javascript_Node.js - Fatal编程技术网

Javascript js调用perl脚本并获取stdout

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),而不是逐行返回。如果换行符对您非常重要,您

是否可以使用node.js作为进程调用perl脚本并逐行读取标准输出


我很确定,对于普通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);
})