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