Существует ограничение на массивы и хеши как переменные состояния. Мы не можем инициализировать их в контексте списка с Perl 5.10:
So
state @array = qw(a b c); #Error!
Почему так? Почему это не разрешено?
Мы можем использовать массивы состояний и инициализировать их таким образом
state @numbers;
push @numbers, 5;
push @numbers, 6;
но почему бы не сделать это напрямую с помощью state @numbers = qw(5 6);
Почему Perl не позволяет?