in reply to vivification of package variables

Despite the names, all your *::* style variables are package variables which pop into existence when they are used. Consider:

use strict; use warnings; $main::var_my = "foo1"; my $var_my = "foo2"; print "Lexical: $var_my\n"; print "Package: $main::var_my\n";

Prints:

Lexical: foo2 Package: foo1
True laziness is hard work