在BEGIN块中设置变量是有效的perl ,但是在BEGIN块外面声明变量吗?
#!/usr/bin/env perl
use strict;
use warnings;
use 5.10.0;
my $var;
BEGIN{ $var = 10 }
say $var;
Run Code Online (Sandbox Code Playgroud)
是的,但您可能需要小心这种模式,因为非常相似的东西的工作方式可能与您预期的不同:
my $var = 5;
BEGIN { $var = 10 }
say $var; # 5
Run Code Online (Sandbox Code Playgroud)