This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
slightly more for Exporter.pm
authorNicholas Clark <nick@ccl4.org>
Tue, 18 Dec 2001 00:22:03 +0000 (00:22 +0000)
committerJarkko Hietaniemi <jhi@iki.fi>
Mon, 17 Dec 2001 23:54:41 +0000 (23:54 +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;