http://www.perlmonks.org?node_id=101133


in reply to Re: NEVER do this. Ever. Not even once.
in thread Variable Scope

Nothing's intrinsically wrong with it, so far as that goes. However, what ends up happening is that you have a global variable in one place. This could lead to a slippery slope. I'm not saying that someone of your experience will do so, but it could very well happen.

Instead of that syntax, I would recommend one of the following:

package MyClass; @ISA = qw(Whatever); use strict; ----- use strict; use vars '@ISA'; package MyClass; @ISA = qw(Whatever); ----- use strict; use 5.6.0; package MyClass; our @ISA = qw(Whatever);
The first two still use globals, and are for pre-5.6.0 or before. If you require that 5.6.0 or higher be used, there's absolutely not reason not to use our. None.