for some reason; perl doesn't complain about &$package::variable when this variable has not yet been declared!
Indeed
{
$var = 1; # ok. Strict off.
}
{
use strict;
$var = 1; # Error!
}
{
use strict;
$main::var = 1; # ok. Strict allows fully qualified var names.
}
i was getting "faked out" by adding the package name to the code variable to silence the "requires explicit package name" message.
That message means your variable hasn't been declared. The text assumes most variables are package variables, but that's untrue. Lexical (my) variables should be used whenever possible.