如何从另一个传递参数运行 perl 脚本?
我正在尝试使用在互联网帖子中找到的解决方案,但我再也找不到了。
它是这样的:
do 'script.cgi param1 param2';
在另一个脚本中,我只是使用 shift 来获取这些参数:
#Parameters
my $param1= shift;
my $param2= shift;
我看到人们使用带有 args 的系统,但它真的更好吗?
如果没有,我如何使用“do EXPR”修复解决方案?
提前致谢。
如何从另一个传递参数运行 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 $cmd = $script . ' ' . join(' ', @my_args);
my $return = `$cmd`;
两种解决方案都将参数传递给@my_args
. 该system()
调用返回执行程序的退出代码,而反引号解决方案 (``) 返回输出以供以后解析。