in reply to 'our' is not 'my'
There is a catch with our that doesn't exist with use vars:
package AA; $AA::var = __PACKAGE__; our $var; print "$var\n"; package BB; $BB::var = __PACKAGE__; print "$var\n"; # Prints 'AA'.
Using curlies when using multiple packages in one file avoids the problem.
{ package AA; $AA::var = __PACKAGE__; our $var; print "$var\n"; } { package BB; $BB::var = __PACKAGE__; print "$var\n"; # Compile error! }
Keeping that exception in mind, our is like no strict 'vars'; on a per-var basis.
In Section
Meditations