slightly more for Exporter.pm
Nicholas Clark [Tue, 18 Dec 2001 00:22:03 +0000 (00:22 +0000)]
Message-ID: <20011218002203.M21702@plum.flirble.org>

p4raw-id: //depot/perl@13748

lib/Exporter.pm

index daa78d5..bd55160 100644 (file)
@@ -47,14 +47,15 @@ sub import {
     s/^&//, $export_cache->{$_} = 1
       foreach (@$exports, @{"$pkg\::EXPORT_OK"});
   }
-  my $heavy = $Verbose || $Debug;
-  unless ($heavy) {
-    # Try very hard not to use {} and hence have to  enter scope on the foreach
-    # We bomb out of the loop with last as soon as heavy is set.
+  my $heavy;
+  # Try very hard not to use {} and hence have to  enter scope on the foreach
+  # We bomb out of the loop with last as soon as heavy is set.
+  if ($args or $fail) {
     ($heavy = (/\W/ or $args and not exists $export_cache->{$_}
-              or @$fail and $_ eq $fail->[0]
-              or (@{"$pkg\::EXPORT_OK"} and $_ eq ${"$pkg\::EXPORT_OK"}[0])))
-    and last
+               or @$fail and $_ eq $fail->[0])) and last
+                 foreach (@_);
+  } else {
+    ($heavy = /\W/) and last
       foreach (@_);
   }
   return export $pkg, $callpkg, ($args ? @_ : ()) if $heavy;