当前位置:  开发笔记 > 编程语言 > 正文

为什么我无法访问我在Perl中的同一个包中声明的子包中声明的变量?

如何解决《为什么我无法访问我在Perl中的同一个包中声明的子包中声明的变量?》经验,为你挑选了1个好方法。

我不明白为什么不能$var在sub中访问变量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;

tjd.. 8

Util::mysub()在分配给作用域文件之前,您可以调用多行$var.

如果您的包在一个单独的文件中,该use语句及其隐含的BEGIN块将赋予赋值优先级.或者,您可以先放置包定义或使用自己的BEGIN块.



1> tjd..:

Util::mysub()在分配给作用域文件之前,您可以调用多行$var.

如果您的包在一个单独的文件中,该use语句及其隐含的BEGIN块将赋予赋值优先级.或者,您可以先放置包定义或使用自己的BEGIN块.

推荐阅读
刘美娥94662
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有