- state
- static
state variable
In Perl 5.10 the state keyword was added that allows us to create a static variable. When we declare such variable in a function the declaration and the initialization
takes places only once no matter how many times the function is called. Instead of being initialized every time we enter the function like a variable declared with my would
do, state variables are initialized only once and then they remember their value for the subsequent calls to the same function.
examples/feature/state.pl
#!/usr/bin/perl use strict; use warnings; use 5.010; sub next_counter { state $counter = 0; $counter++; return $counter; } say next_counter(); say next_counter(); say next_counter();
1 2 3