Ah. I wasn't suggesting my $value if 0;, nor would that work to make the sub close over the outer $value. I was suggesting $value if 0;, to incorporate a reference to the outer $value into the sub, while avoiding the "Useless use of a variable in void context" warning you'd get from a bare $value;.