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

时间:2012-09-06 10:20:04

标签: perl parameters

如何从其他传递参数运行perl脚本?

我正在尝试使用在互联网帖子中找到的解决方案,我找不到了 它类似于:

do 'script.cgi param1 param2';

在另一个脚本中,我只使用shift来获取这些参数:

#Parameters
my $param1= shift;
my $param2= shift;

我看到人们使用带有args的系统,但是真的更好吗? 如果没有,我如何使用'do EXPR'修复解决方案?
提前谢谢。

2 个答案:

答案 0 :(得分:1)

哦,我解决了:

{local @ARGV = (@my_args); do $script;}

有效。如果有人有任何更好的建议,请随时告诉我 同时我正在使用这个解决方案。

答案 1 :(得分:0)

实际上,我可以想到两种更好的方法:

system($script, @my_args);

my $cmd = $script . ' ' . join(' ', @my_args);
my $return = `$cmd`;

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