-1

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

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

do 'script.cgi param1 param2';

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

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

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

4

2 回答 2

1

哦,好吧,我解决了:

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

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

于 2012-09-06T11:03:44.640 回答
0

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

system($script, @my_args);

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

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

于 2012-09-06T11:40:33.603 回答