use strict; use warnings; sub create_toggle { my $flag = 0; return sub { $flag = 1-$flag } # your favorite method here } my $toggle = create_toggle; print $toggle->()."\n" for 1..10;