c:\@Work\Perl\monks>perl -le "use warnings; use strict; ;; package P; ;; $P::A = 'something'; ;; package main; ;; my $A = 123; $::A = 456; ;; print 'package ', __PACKAGE__; print qq{\$A is $A}; print qq{\$::A is $::A}; print qq{\$main::A is $main::A}; print qq{\$P::A is $P::A}; print qq{\n}; ;; our $A; print 'package ', __PACKAGE__; print qq{\$A is $A}; print qq{\$::A is $::A}; print qq{\$main::A is $main::A}; print qq{\$P::A is $P::A}; " "our" variable $A masks earlier declaration in same scope at -e line 1. package main $A is 123 $::A is 456 $main::A is 456 $P::A is something package main $A is 456 $::A is 456 $main::A is 456 $P::A is something