Mark Veltzer reports me that one of my packages in the DocSet 
distribution causes an annoyance in CPAN.pm's 'r' mode, when it checks 
all the installed modules whether they should be updated, due to a bug 
in MM. What happens is:

Could not eval '
             package ExtUtils::MakeMaker::_version;
             no strict;

             local $File::Spec::VERSION;
             $File::Spec::VERSION=undef; do {
                     unless ($File::Spec::VERSION >= $min_version) {
             }; $File::Spec::VERSION
         ' in /usr/lib/perl5/site_perl/5.6.1/DocSet/5005compat.pm: 
Missing right curly or square bracket at (eval 204) line 10, at end of line
syntax error at (eval 204) line 10, at EOF

which you can reproduce with:

perl -MExtUtils::MakeMaker -le 'print MM->parse_version(shift)' test.pm

where test.pm includes a shrinked (DocSet/5005compat.pm):

     package Foo;
     eval { require File::Spec::Functions; } or
       die "this is only Perl $], you need to install File-Spec from CPAN";
     my $min_version = 0.82;
     unless ($File::Spec::VERSION >= $min_version) {
         die "you need to install File-Spec-$min_version or higher from 
CPAN";
     }

when it tries to eval:

             $File::Spec::VERSION=undef; do {
                     unless ($File::Spec::VERSION >= $min_version) {
             };

it certainly fails. And this is a bug in makemaker, not my code. 
Moreover this bug doesn't exist in MM 6.03, but does exist in 6.05 and 
versions prior to 6.00.

IMHO, it should look for either $VERSION, or ${ __PACKAGE__ . 
'::VERSION'}, but certainly not for what happens now. And it shouldn't 
be fatal, meaning you have to wrap it in eval "string".

In any case, here is the original file that the problem was discovered 
with: http://search.cpan.org/src/STAS/DocSet-0.14/lib/DocSet/5005compat.pm

Thanks.
__________________________________________________________________
Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/     mod_perl Guide ---> http://perl.apache.org
mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com

Reply via email to