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