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


in reply to Bad news for IO::Handle magic

This probably does deserve a better warning but you can find this behaviour documented in the Technical Note on the Syntax of Variable Names section in perlvar, where it is noted that ...
Perl identifiers 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"; they are also exempt from "strict 'vars'" errors. A few other names are also exempt in these ways:
               ENV             STDIN
               INC             STDOUT
               ARGV            STDERR
               ARGVOUT         _
               SIG
HTH

_________
broquaint