summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/Exporter/Heavy.pm9
1 files changed, 7 insertions, 2 deletions
diff --git a/lib/Exporter/Heavy.pm b/lib/Exporter/Heavy.pm
index abdae6c4b6..76a5bad17c 100644
--- a/lib/Exporter/Heavy.pm
+++ b/lib/Exporter/Heavy.pm
@@ -126,8 +126,13 @@ sub heavy_export {
last;
}
} elsif ($sym !~ s/^&// || !$export_cache->{$sym}) {
- require Carp;
- Carp::carp(qq["$sym" is not exported by the $pkg module]);
+ unless ($^S) {
+ # If we are trying to trap import of non-existent
+ # symbols using eval, let's be silent for now and
+ # just croak in the end.
+ require Carp;
+ Carp::carp(qq["$sym" is not exported by the $pkg module]);
+ }
$oops++;
}
}