##
sub test {
my ($x) = shift;
return if !$x;
local our @o = $x;
test($x-1);
print("@o\n");
}
test(3); # 1,2,3
####
sub foo {
my ($x) = shift;
our @o = 1;
bar();
print("@o\n");
}
sub bar {
my ($x) = shift;
our @o = 2;
print("@o\n");
}
foo(); # 2,2
####
sub foo {
my ($x) = shift;
local our @o = 1;
bar();
print("@o\n");
}
sub bar {
my ($x) = shift;
local our @o = 2;
print("@o\n");
}
foo(); # 2,1