我从 Java 运行一个进程来运行 Perl 脚本,如下所示,
Runtime.getRuntime().exec(new String[] {"perl","C:\\Perl\\bin\\try.pl", "uname=test"});
如何在 Perl 脚本中获取数据。我尝试了以下$uname
,,,,@uname
。${uname}
任何人都可以提出任何其他想法吗?
我从 Java 运行一个进程来运行 Perl 脚本,如下所示,
Runtime.getRuntime().exec(new String[] {"perl","C:\\Perl\\bin\\try.pl", "uname=test"});
如何在 Perl 脚本中获取数据。我尝试了以下$uname
,,,,@uname
。${uname}
任何人都可以提出任何其他想法吗?
您不能像在 Perl 中那样访问命名的命令行参数。使用特殊变量@ARGV 传入参数,您可以直接使用它,也可以使用提供附加功能的模块进行操作。
如果您不关心命名参数,那么如果您有以下 Java 调用:
Runtime.getRuntime().exec(new String[] {"perl","C:\\Perl\\bin\\try.pl", "test"});
那么下面的 Perl 片段应该可以工作:
print "First argument is: $ARGV[0]\n";
print "The argument is, indeed, 'test'!\n" if ($ARGV[0] eq 'test');
另一方面,如果您确实需要命名参数,那么您将需要研究提供此类功能的模块。例如,这个问题的答案建议GetOpt::Long。