$ 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.