##
Variable "$x" will not stay shared at a.pl line 8.
4
4 # XXX Want 5.
4 # XXX Don't want inner sub to be public
####
use strict;
use warnings;
sub outer {
my ($x) = @_;
local *inner = sub {
print("$x\n");
};
inner();
}
outer(4);
outer(5);
inner();
####
4
5
Undefined subroutine &main::inner called at a.pl line 16.