Re: Fix for RT#47980

John Peacock <[email protected]>
Newsgroups gmane.comp.lang.perl.modules.module-build
Message-ID <[email protected]>
On 7/22/09 7:09 PM, John Peacock wrote:
>    OK, no need to worry, I worked around it some other way which 
> should be workable and doesn't rely on run-time loading at all.

OK, here is the patch for M::B for this problem.  This works because of 
how narrow the case is that has to go this way...

John

=== lib/Module/Build/Version.pm

==================================================================

--- lib/Module/Build/Version.pm (revision 2644)

+++ lib/Module/Build/Version.pm (local)

@@ -628,17 +628,13 @@

      my $class = ref($obj) || $obj;

  

      no strict 'refs';

-    unless (%{"$class\::"}) { # class not already loaded

-       eval "require $class";

-       return undef if $@ =~ /Can't locate/ and not defined $req;

-    }

-

-    if ( not %{"$class\::"} and $]>= 5.008) { # file but no package

+    if ( exists $INC{"$class.pm"} and not %{"$class\::"} and $]>= 5.008) {

+        # file but no package

         require Carp;

         Carp::croak( "$class defines neither package nor VERSION"

             ."--version check failed");

      }

-

+

      my $version = eval "\$$class\::VERSION";

      if ( defined $version ) {

         local $^W if $]<= 5.008;
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.