这是我的整个脚本,精心设计包含两个具有相同名称的变量,其中一个掩盖了另一个:
#!/usr/bin/env perl
use strict;
use warnings;
my $hi = "First hi";
print "$hi\n";
{
my $hi = "Second hi";
print "$hi\n";
}
print "$hi\n";
如果我运行此脚本,我会得到此输出,并且明显没有警告:
First hi
Second hi
First hi
如果我删除第二个$hi
变量周围的花括号,使其与第一个$hi
变量位于同一范围内,我会收到此警告:
"my" variable $hi masks earlier declaration in same scope at hi.pl
但是,即使变量不在同一范围内,我也想要这个警告。每次变量名称影响另一个时我都想要警告。如何启用此警告?是否有我可以启用的Perl批评政策会对此发出警告?