gpt4 book ai didi

perl - 如何将变量保持在所有子例程的范围内

转载 作者:行者123 更新时间:2023-12-05 00:43:33 25 4
gpt4 key购买 nike

我正在尝试创建一个像这样的模块

package MyModule;

use strict;
use Exporter;
use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);

$VERSION = 1.00;
@ISA = qw(Exporter);
@EXPORT = qw(func1);

sub func1 {
my x = shift;
print x;
func2();
}

sub func2 {
print x;
}

我从一个 perl 脚本中调用模块的 func1 并传递一个变量 x。我如何使该变量对两个子程序都可见或说出该模块内的所有函数。请帮忙。

最佳答案

使用 myour 在文件范围内声明 $x:

my $x;

# subroutines definition

File 具有最大的词法作用域,因此该变量对其余代码可见(除非您使用 my 在某个内部作用域中重新声明它)。

关于perl - 如何将变量保持在所有子例程的范围内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4079148/

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