There are two cases where I can't figure out why bare identifiers are auto-quoted, even under strictures:
my %hash = (-foo => 'bar');
perlop(1) says that "The "=>" operator is a synonym for the comma except that it causes a word on its left to be interpreted as a string if it begins with a letter or underscore and is composed only of letters, digits and underscores." Why is "-foo" quoted?
Now, the second example:
use Gtk2 -init;
Why does this work? If I use just "init" without the dash, perl complains of a bareword.