gpt4 book ai didi

perl - 为什么我不能从 Perl 中同一个包中声明的子访问包中声明的变量?

转载 作者:行者123 更新时间:2023-12-01 04:56:10 25 4
gpt4 key购买 nike

我不明白为什么不能访问变量 $var在子mysub .两个包都在与本示例完全相同的文件中定义:

use warnings;
use strict;

Util::mysub();

package Util;

use warnings;
use strict;

my $var = 'i have a value!';

# prints 'var in package: i have a value!'
print "var in package: $var\n";

sub mysub {
# generates warning 'Use of uninitialized value $var...'
print "var in sub: $var\n";
}

1;

最佳答案

您调用 Util::mysub()在分配给文件范围 $var 之前的几行.

如果你的包在一个单独的文件中,use声明及其暗示 BEGIN块将给予分配优先权。或者,您可以首先放置包定义或使用您自己的 BEGIN堵塞。

关于perl - 为什么我不能从 Perl 中同一个包中声明的子访问包中声明的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34724157/

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