Рассмотрим эти два варианта использования:
sub test1 {
my $v = 1;
sub test2 { print $v }
# ...
}
и
for (0..3) {
my $foo = $_;
sub test1 { print $foo }
# ...
}
Первый выдает предупреждение Переменная не будет использоваться совместно
, а второй - нет. Кажется, что в обоих случаях переменная не используется совместно. Почему во втором случае нет предупреждения?