Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/10.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
正在寻找帮助,请使用java类中的参数调用perl脚本_Java_Perl_Perl Module - Fatal编程技术网

正在寻找帮助,请使用java类中的参数调用perl脚本

正在寻找帮助,请使用java类中的参数调用perl脚本,java,perl,perl-module,Java,Perl,Perl Module,我必须从Java类调用Perl脚本。我可以使用 final ProcessBuilder builder = new ProcessBuilder("perl", "/home/abc.pl"); 我想知道我是否可以传递如下参数 new ProcessBuilder("perl", "/home/abc.pl x y"); 但这是一个错误 有人能建议一下怎么做吗?来自: ProcessBuilder pb=newprocessbuilder(“myCommand”、“myArg1”、“my

我必须从Java类调用Perl脚本。我可以使用

final ProcessBuilder builder = new ProcessBuilder("perl", "/home/abc.pl");
我想知道我是否可以传递如下参数

new ProcessBuilder("perl", "/home/abc.pl  x y");
但这是一个错误

有人能建议一下怎么做吗?

来自:

ProcessBuilder pb=newprocessbuilder(“myCommand”、“myArg1”、“myArg2”)

要调用的程序的每个参数都需要是ProcessBuilder构造函数的单独参数

new ProcessBuilder("perl", "/home/abc.pl", "x", "y");
否则,您将调用相当于
perl”/home/abc.pl x y“
,它将无法找到名为“/home/abc.pl x y”的文件(因为x和y是不同的参数,而不是文件名的一部分)。

ProcessBuilder pb=newprocessbuilder(“myCommand”、“myArg1”、“myArg2”)

要调用的程序的每个参数都需要是ProcessBuilder构造函数的单独参数

new ProcessBuilder("perl", "/home/abc.pl", "x", "y");

否则,您将调用相当于
perl”/home/abc.pl x y“
,它将无法找到名为“/home/abc.pl x y”的文件(因为x和y是不同的参数,而不是文件名的一部分)。

使用以下代码从java执行perl代码

final List<String> commands = new ArrayList<String>();                

commands.add("perl");
commands.add("/home/abc.pl");
commands.add("x");
commands.add("y");
ProcessBuilder pb = new ProcessBuilder(commands);
final List commands=new ArrayList();
commands.add(“perl”);
commands.add(“/home/abc.pl”);
命令。添加(“x”);
命令。添加(“y”);
ProcessBuilder pb=新的ProcessBuilder(命令);

使用以下代码从java执行perl代码

final List<String> commands = new ArrayList<String>();                

commands.add("perl");
commands.add("/home/abc.pl");
commands.add("x");
commands.add("y");
ProcessBuilder pb = new ProcessBuilder(commands);
final List commands=new ArrayList();
commands.add(“perl”);
commands.add(“/home/abc.pl”);
命令。添加(“x”);
命令。添加(“y”);
ProcessBuilder pb=新的ProcessBuilder(命令);

它抛出了什么错误?找不到abc.pl x y。如果我删除参数,它会工作,它会抛出什么错误?找不到abc.pl x y。如果我删除了args,这对Quentin很有帮助。。非常感谢您的快速回复和宝贵的时间。昆汀帮了大忙。。非常感谢您的快速回复和宝贵时间。