在这个例子中:
#!/usr/bin/perl
$a = 4; # Is $a a local variable or a global variable?
print $a, "\n";
Run Code Online (Sandbox Code Playgroud)
$ a有什么样的范围?
该特定变量$a是与之一起使用的预定义变量sort.但是,如果您使用$x它将被考虑
$main::x;
Run Code Online (Sandbox Code Playgroud)
它是包"main"中的全局变量,它是主脚本.
请注意,如果您使用use strict,您始终应该使用perl将强制您在使用变量时具体.在这种情况下,你不能只使用
$x = 4;
Run Code Online (Sandbox Code Playgroud)
因为它会产生致命异常Global symbol "$x" requires explicit package name at ...通常你会使用my或our声明变量:
my $x = 4;
Run Code Online (Sandbox Code Playgroud)
但是$main::x,只要指定完整的变量名,也可以使用.