gpt4 book ai didi

perl - Perl 中的 "do"函数

转载 作者:行者123 更新时间:2023-12-02 05:28:45 25 4
gpt4 key购买 nike

最近,我有一个 perl 脚本,它使用“do”调用另一个 perl 脚本;即。

执行“./script2.pl $arg1 $arg2”;

我的 script2.pl 被设计为使用 2 个参数。

但是,以上述方式调用script2.pl 不会将参数传递给script2.pl。

我知道还有另一种使用“system”的方法,但是我的script1.pl需要通过“require”获取一些变量值。

我真的可以使用“do”并将参数传递给我的 script2 吗?

最佳答案

如果您正在调用的脚本需要参数,它将在变量 @ARGV 中期望它们。如果您使用 do,调用脚本中的 @ARGV 将在被调用脚本中可见。

{
local @ARGV = ($arg1, $arg2);
do './script2.pl';
}

像这样使用 local 将在 block 的末尾恢复 @ARGV 的旧值,有点像说

@ARGV_old = @ARGV;
@ARGV = ($arg1,$arg2);
do './script2.pl';
@ARGV = @ARGV_old;

关于perl - Perl 中的 "do"函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11174434/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com