sub foo { my $x = "a var in foo()"; sub bar { print "\$x is - [$x]\n"; } } bar(); __output__ $x is - [] #### sub foo { my $x = "a var in foo()"; return sub { print "\$x is - [$x]\n"; } } foo()->(); __output__ $x is - [a var in foo()]