in reply to Scalar $ENV in a package
from "man perlvar"
All Perl variables that begin with digits, control characters, or punctuation characters are exempt from the effects of the package declaration and are always forced to be in package main. A few other names are also exempt: ENV STDIN INC STDOUT ARGV STDERR ARGVOUT SIGso adding
you getprint "\$main::ENV = '$main::ENV'\n";
as expected...$main::ENV = '2'
In Section
Seekers of Perl Wisdom