До прихода в Perl оператора state, который позволяет создавать «статические» переменные прямо внутри подпрограмм, люди пользовались вот таким приемом:
{
my $count = 0;sub next_value {
return ++$count;
}}
print next_value, "\n";
print next_value, "\n";
Теперь все ребята пишут так:
use v5.10;
sub next_value {
state $count = 0;return ++$count;
}say next_value;
say next_value;