foobar:perl/blead% perl -le '$y="print \$x"; $z=sub { my $x=23; $y}; eval $z->()' foobar:perl/blead% perl -le '$y="print \$x"; $z=sub { $x=23; $y}; eval $z->()' 23