use strict; use warnings; Outer(1); Inner(2); sub Outer { my ($param) = @_; sub Inner { my ($innerVar) = @_; print "In inner: $innerVar\n"; } Inner($param); } #### In inner: 1 In inner: 2 #### use strict; use warnings; Outer(1); Inner(); Outer(1); sub Outer { my ($param) = @_; sub Inner { print "In inner: $param\n"; ++$param; } Inner(); } #### Variable "$param" will not stay shared at 11147042.pl line 12. In inner: 1 In inner: 2 In inner: 3