Exporter.t has warnings turned off presumably because of a peculiar way in which a test has been written using barewords. If this was deliberate I can't figure out why. It was introduced in 17988 by Nick. http://public.activestate.com/cgi-bin/perlbrowse?patch=17988
Or maybe it was just a mistake unnoticed because warnings were off. In that case this patch turns on warnings, eliminates the barewords and fixes the duplicate declaration making Exporter.t warnings clean. -- Michael G Schwern [EMAIL PROTECTED] http://www.pobox.com/~schwern Reality is that which, when you stop believing in it, doesn't go away. -- Phillip K. Dick
--- lib/Exporter.t 2005/06/28 22:44:39 1.1 +++ lib/Exporter.t 2005/06/28 22:53:46 @@ -1,4 +1,4 @@ -#!./perl +#!./perl -w BEGIN { chdir 't' if -d 't'; @@ -102,7 +102,7 @@ # Testing->import is called. ::ok( eval "defined &is", "Import a subroutine where exporter must create the typeglob" ); -my $got = eval "&is"; +$got = eval "&is"; ::ok ( $@ eq "", 'check we can call the imported autoloaded subroutine') or chomp ($@), print STDERR "# \$\@ is [EMAIL PROTECTED]"; ::ok ( $got eq 'Is', 'and that it gave the correct result') @@ -182,20 +182,20 @@ @ISA = qw(Exporter); @EXPORT_OK = qw (foo); -sub foo {"foo"}; -sub bar {"bar"}; +sub foo {"This is foo"}; +sub bar {"This is bar"}; package Moving::Target::Test; -Moving::Target->import (foo); +Moving::Target->import ('foo'); -::ok (foo eq "foo", "imported foo before EXPORT_OK changed"); +::ok (foo() eq "This is foo", "imported foo before EXPORT_OK changed"); push @Moving::Target::EXPORT_OK, 'bar'; -Moving::Target->import (bar); +Moving::Target->import ('bar'); -::ok (bar eq "bar", "imported bar after EXPORT_OK changed"); +::ok (bar() eq "This is bar", "imported bar after EXPORT_OK changed"); package The::Import;