use var と our
よく混乱するのでメモ書き。
# our : lexical scope { package Foo; our $foo = 'our!'; package Bar; print $foo."\n"; # Foo::fooが参照される。 } # use vars : package scope { package Foo; use vars q($foo); $foo = 'vars!'; package Bar; print $foo."\n"; # Foo::fooは参照されない。 }
参考 http://qiita.com/monoknock/items/b9928acd46c878be6ce2