Acs*_*sor -1 perl global-variables strict
我想知道在使用严格的pragma时是否可以使用一些全局变量.
例如,我试过这样做:
#!/usr/bin/perl -w
use strict;
sub print_global{
print "your global is: $global\n";
}
$global = 1234; #or even my $global = 1234;
print_global;
Run Code Online (Sandbox Code Playgroud)
但是你可以注意到它不起作用.
使用严格的pragma时,有没有办法定义全局变量?(如果有的话,当然)
在使用它之前声明全局:
our $global;
Run Code Online (Sandbox Code Playgroud)
与my此不同,这不会创建新变量,而是使变量在此范围内可用.所以你可以安全地拥有代码
sub print_global{
our $global; # does not create a new variable like `my` would
print "your global is: $global\n";
}
our $global = 1234;
print_global;
Run Code Online (Sandbox Code Playgroud)