如果我不这样做use strict;
,以下代码可以正常工作并打印出“alice”:
assign_name();
print_name();
sub assign_name {
$name = "alice";
}
sub print_name {
print $name;
}
但是,当我这样做时,use strict;
我知道我必须在使用它之前声明变量。我在应该使用our
而不是my
声明全局变量的地方阅读。所以我有以下内容:
use strict;
use warnings;
assign_name();
print_name();
sub assign_name {
our $name = "alice";
}
sub print_name {
print $name; # This is line 12.
}
然后我收到以下错误:
Variable "$name" is not imported at test.pl line 12.
Global symbol "$name" requires explicit package name at test.pl line 12.
Execution of test.pl aborted due to compilation errors.
请帮忙。