> perl -e "use strict; $foo=1"
Global symbol "$foo" requires explicit package name at -e line 1.
Execution of -e aborted due to compilation errors.
>
> perl -e "use Strict; $foo=1"
>
Reason is that - if you use Strict - the use will
implicitly attempt to call Strict->import, which isn't found, as
the respective namespace is declared with package strict; in the
module's source (this must 'fail' silently, as a module is not obliged to
supply an import method). Thus, any code in an existing import() isn't executed, which in turn
renders some modules (and in particular pragmata) non-functional, or makes them behave differently...
Update: just in case... for whoever downvoted without saying what's wrong (: this of course only applies to Windows, where the respective file is found at all, due to the filesystem being case-insensitive. Geez... |