В Perl до 5.10 не существует декларации состояния.
Я столкнулся с примером создания статических переменных в этих Perls: my $x if 0
. Условие if 0
делает переменную действующей как статическая переменная:
use strict; use warnings;
add() for 1..7;
sub add {
my @arr = () if 0;
push @arr, '+';
print @arr, "\n";
}
печатает:
+
++
+++
++++
+++++
++++++
+++++++
Является ли это поведение согласованным во всех версиях Perl до 5.10?