package foo; sub x { our $bar; # $foo::bar $bar++; my $quz; # a lexical $quz, not accessible outside this sub! } sub z { our $bar; # the *same* $foo::bar $bar++; my $quz; # a *different* lexical $quz } # no $bar here! but: sub w { $foo::bar++; # still the same $foo::bar }