# file CallMe.pm
package CallMe;
use 5.010;
use strict;
use warnings;
my @to_call;
sub import {
my ($self, @routines) = @_;
my $call_package = (caller(1))[0];
push @to_call, $call_package. "::$_" for @routines;
}
END {
no strict 'refs';
$_->() for @to_call;
}
1;
####
use 5.010;
use lib '.';
use CallMe 'foo';
sub foo { say 42 }
say 'in mainline';
##
##
in mainline
42