sub outer{ my @a; sub inner{ push @a, 1; return \@a; } return 1 };; Variable "@a" will not stay shared at (eval 3) line 1, line 1.