for my $var ( 1,2,3) { my $x =sub {print $var } } #### while ( $LEXPAD{for-block}={}; "$LEXPAD{for-block}"->{var} = (1,2,3)->next() ) { my $x =sub { print "$LEXPAD{for-block}"->{var} } }