Author: kwilliams
Date: Sat Jul  5 20:55:13 2008
New Revision: 11488

Modified:
   Module-Build/trunk/Changes
   Module-Build/trunk/lib/Module/Build/ModuleInfo.pm

Log:
Better VERSION parsing

Modified: Module-Build/trunk/Changes
==============================================================================
--- Module-Build/trunk/Changes  (original)
+++ Module-Build/trunk/Changes  Sat Jul  5 20:55:13 2008
@@ -1,5 +1,9 @@
 Revision history for Perl extension Module::Build.
 
+ - Improved support for parsing qv() in modules' $VERSION
+   declarations, and made $VERSION-parsing errors more verbose. [Jos
+   Boumans]
+
  - Integrated an omnibus patch for various VMS fixes. [Craig Berry &
    John E. Malmberg]
 

Modified: Module-Build/trunk/lib/Module/Build/ModuleInfo.pm
==============================================================================
--- Module-Build/trunk/lib/Module/Build/ModuleInfo.pm   (original)
+++ Module-Build/trunk/lib/Module/Build/ModuleInfo.pm   Sat Jul  5 20:55:13 2008
@@ -304,6 +304,7 @@
   $pn++; # everybody gets their own package
   my $eval = qq{BEGIN { q#  Hide from _packages_inside()
     #; package Module::Build::ModuleInfo::_version::p$pn;
+    use Module::Build::Version;
     no strict;
 
     local $sigil$var;
@@ -321,7 +322,9 @@
     if $@;
   (ref($vsub) eq 'CODE') or
     die "failed to build version sub for $self->{filename}";
-  my $result = $vsub->();
+  my $result = eval { $vsub->() };
+
+  die "Could not get version from $self->{filename} by 
executing:\n$eval\n\nThe fatal error was: [EMAIL PROTECTED]" if $@;
 
   # Bless it into our own version class
   $result = Module::Build::Version->new($result);

Reply via email to