- my $call_depth=1;
- my @caller;
- while (@caller = caller $call_depth++) {
- last if $caller[7] # use/require
- and $caller[6] eq $expect_leaf; # the package file
- }
- unless (@caller) {
- require Carp;
- Carp::cluck(<<"EOM");
+ return 1;
+ }
+ }
+ return 0;
+}
+
+sub import {
+ my ($package, $file) = caller;
+
+ my $expect_leaf = "$package.pm";
+ $expect_leaf =~ s!::!/!g;
+
+ if (__loaded_from_core($package, $file, $expect_leaf)) {
+ my $call_depth=1;
+ my @caller;
+ while (@caller = caller $call_depth++) {
+ last if $caller[7] # use/require
+ and $caller[6] eq $expect_leaf; # the package file
+ }
+ unless (@caller) {
+ require Carp;
+ Carp::cluck(<<"EOM");