I dunno, I found it very easy to understand what the Anonymonk meant. Is it up to a module author to blow up a script that its consumer may have written dangerously? For whatever reason, some people (ill-advisedly) write code without strict, and it works. If that code loads the OP's module, it will cease to work. That seems simple.
$ cat MyClass.pm
use strict; use warnings; package MyClass { use parent 'Exporter'; our @EXPORT = 'foo'; sub foo { 42 } }; 1;
$ cat script.pl
use lib '.'; use MyClass; $bar = foo; print "$bar\n";
$ perl script.pl
42
$ cat MyClass2.pm
use strict; use warnings; package MyClass2 { use parent 'Exporter'; our @EXPORT = 'foo'; use Import::Into; strict->import::into(1); sub foo { 42 } }; 1;
$ cat script2.pl
use lib '.'; use MyClass2; $bar = foo; print "$bar\n";
$ perl script2.pl
Global symbol "$bar" requires explicit package name (did you forget to + declare "my $bar"?) at script2.pl line 4. Global symbol "$bar" requires explicit package name (did you forget to + declare "my $bar"?) at script2.pl line 6. Execution of script2.pl aborted due to compilation errors.
Hope this helps!
In reply to Re^3: Exporting use strict/warnings into main::
by 1nickt
in thread Exporting use strict/warnings into main::
by nysus
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |