(replaced by #13556)
Jarkko Hietaniemi [Sat, 1 Dec 2001 18:18:34 +0000 (18:18 +0000)]
If we are inside an eval, let's be silent about
separate symbols and just croak() in the end.

p4raw-id: //depot/perl@13408

lib/Exporter/Heavy.pm

index abdae6c..76a5bad 100644 (file)
@@ -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++;
                }
            }