use strict; my $foo = 0; sub leaky { my $closure = sub { $foo++ }; return $closure; } my $x = leaky(); my $y = leaky(); print $y->(), $/ while $x->() < 10; ---- 1 3 5 7 9