我正在学习perl语言。我制作了一个简单的perl脚本(如下所示)。
#!/usr/bin/perl
use strict;
use warnings;
print "hi Lalan";
我正在尝试使用java语言在NetBean中运行此脚本。我的代码如下:
public class javaProgram {
public static void main(String[] args) {
Process process;
try
{
String testFile = "perl C:\Strawberry\perl_tests\hello_world.pl";
process = Runtime.getRuntime().exec(testFile);
process.getOutputStream();
process.waitFor();
if(process.exitValue() == 0)
{
System.out.println("Command Successful");
}
else
{
System.out.println("Command Failure");
}
}
catch(Exception e)
{
System.out.println("Exception: "+ e.toString());
}
}
}
但是我得到了这个错误
异常:java.io.IOException: Cannot run program "perl C:Strawberryperl_testshello_world.pl": CreateProcess error=2,系统无法找到指定的文件
我将脚本保存为hello_world.pl,保存在如上所示的目录中。所以,我不确定我做错了什么。是NetBean的问题吗?脚本问题?但是当我使用Strawberry IDE运行脚本时,没有任何问题或错误。
未找到perl
。在你的脚本中,你指的是#!/usr/bin/perl
,它不存在于Windows路径中。所以你必须添加完整的路径到perl解释器。
String testFile = "<path_to_perl>perl C:\Strawberry\perl_tests\hello_world.pl";
在perl脚本中添加正确的路径:
#!<path_to_perl>perl
use strict;
use warnings;
print "hi Lalan";