JupiterHost.Net wrote:
> How come "use MODULE VERSION;" works sometimes and not others?
> 
> In this case:
> 
> $ perl -mstrict -we 'use CGI 3.12;print "$CGI::VERSION\n";'
> CGI version 3.12 required--this is only version 3.11 at -e line 1.
> BEGIN failed--compilation aborted at -e line 1.
> $ perl -mstrict -we 'use File::Copy::Recursive 0.15;print
> "$File::Copy::Recursive::VERSION\n";'
> 0.14
> $
> 
> Very odd...

If you look here:

http://search.cpan.org/src/DMUEY/File-Copy-Recursive-0.13/Recursive.pm

You'll see that the author of this module has incorrectly implemented the
VERSION method as:

sub VERSION { $VERSION }

>From perldoc UNIVERSAL:

       "VERSION ( [ REQUIRE ] )"
           "VERSION" will return the value of the variable $VERSION in the
           package the object is blessed into. If "REQUIRE" is given then it
           will do a comparison and die if the package version is not
greater
           than or equal to "REQUIRE".

           "VERSION" can be called as either a class (static) method, an
           object method or a function.

You should notify the module author to fix this (by removing his method)
 

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to