Для этого крошечного кода он всегда печатает значения @x в глобальном блоке кода. Как выпустить предупреждение, если я случайно не инициализирую переменную внутри подпрограммы без «my @x». Я не хочу использовать локальную переменную в подпрограмме как @x.Локальная глобальная проблема подпрограммы Perl
use strict;
use warnings;
my @x=qw/1 2 3/;
&mysub();
sub mysub{
print "@x";
}
Я не согласен с закрытым голосованием. Это не совсем ясно. Я просто боюсь. – simbabque
Perl6 может это сделать. [Это] (https://perl6advent.wordpress.com/2014/12/10/day-10-introspecting-the-symbol-tables/) выглядит довольно аккуратно. – simbabque
Пожалуйста, не вызывайте подпрограммы с помощью '&'. Это никогда не нужно. –