use strict; use warnings; use Data::Dump qw/pp dd/; $main::bob = "by"; # fully qualified global var warn "$main::bob\n"; # > by { our $bob = "tail"; # lexical alias warn "$bob\n"; # > tail } warn "$main::bob\n"; # > tail # warn "$bob\n"; # ERR: Global symbol "$bob" requires explicit package name { local our $bob = "bob"; # protect from global effects warn "$bob\n"; # > bob package OTHER; warn "$bob\n"; # > bob (still aliased to $main::bob ²) } warn "$main::bob\n"; # > tail