$ cat Common.pm
package Common;
use strict;
use warnings;
use Exporter;
our @ISA = qw(Exporter); # borrows import()
our @EXPORT = qw(show_here);
sub show_here { }
1;
$ cat Main.pm
package Common;
use strict;
use warnings;
use Common;
sub show_me {}
1;
####
Main::show_here; # since exported by default by Common.pm
Main::show_me; # originally in Main.pm
##
##
package Main;
....
use Exporter;
use Common;
our @ISA = qw(Exporter); # borrows import()
our @EXPORT = qw(show_here); # just @Common::Export to export
# what ever Common exports.
....
sub show_me {}
1;
##
##
use Main;
Main::show_me();
show_here()