Actually you should compare using a bare block (no BEGIN) which is the standard (older) way to have "state" variables.
I like 'state' but the old way is still useful if you need a pair of cooperating subs (or more):
cheers --stephan% steph@ape (/home/stephan) % % cat state_old.px #!/usr/bin/perl+ { my $var = 10; sub next1 { ++$var; } sub next1_odd { if ($var % 2 == 0) { ++$var; } else { ++$var; ++$var; } } } $\ = qq{\n}; print next1() for 1..5; print next1_odd(); % steph@ape(/home/stephan) % % perl+ -w state_old.px 11 12 13 14 15 17
In reply to Re^3: Bring Out Your New Perl Code
by sgt
in thread Bring Out Your New Perl Code
by Limbic~Region
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |