如何通过传递参数从另一个服务器运行perl脚本?

如何通过传递参数从另一个服务器运行perl脚本?,perl,parameters,Perl,Parameters,如何从另一个传递参数的服务器运行perl脚本? 我正在尝试使用在互联网帖子中找到的解决方案,但我再也找不到了。 有点像: do 'script.cgi param1 param2'; 在另一个脚本中,我只使用shift来获取这些参数: #Parameters my $param1= shift; my $param2= shift; 我看到有人使用带有args的系统,但它真的更好吗? 如果没有,如何使用“do EXPR”修复解决方案? 提前谢谢。哦,好吧,我解决了以下问题: {local @

如何从另一个传递参数的服务器运行perl脚本?

我正在尝试使用在互联网帖子中找到的解决方案,但我再也找不到了。
有点像:

do 'script.cgi param1 param2';
在另一个脚本中,我只使用shift来获取这些参数:

#Parameters
my $param1= shift;
my $param2= shift;
我看到有人使用带有args的系统,但它真的更好吗?
如果没有,如何使用“do EXPR”修复解决方案?

提前谢谢。

哦,好吧,我解决了以下问题:

{local @ARGV = (@my_args); do $script;}
它起作用了。如果有人有更好的建议,请随时告诉我。

同时,我正在使用这个解决方案。

实际上,我可以想出两个更好的方法:

system($script, @my_args);


两种解决方案都传递
@my_args
中的参数。
system()
调用返回已执行程序的退出代码,而backticks解决方案(``)返回输出供以后解析

如果任何参数中有空格,带反勾号的解决方案将失败。请解释一下?我使用do的解决方案还是使用system的解决方案?我总是更喜欢
system()
,但不喜欢YMMV。
my $cmd = $script . ' ' . join(' ', @my_args);
my $return = `$cmd`;