我不明白为什么不能$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;
Run Code Online (Sandbox Code Playgroud)
Util::mysub()在分配给作用域文件之前,您可以调用多行$var.
如果您的包在一个单独的文件中,该use语句及其隐含的BEGIN块将赋予赋值优先级.或者,您可以先放置包定义或使用自己的BEGIN块.
| 归档时间: |
|
| 查看次数: |
106 次 |
| 最近记录: |