summaryrefslogtreecommitdiff
path: root/lib/Parse
diff options
context:
space:
mode:
authorKenichi Ishigaki <ishigaki@cpan.org>2013-11-17 04:29:21 +0900
committerKenichi Ishigaki <ishigaki@cpan.org>2013-11-17 04:29:21 +0900
commit19756eb4c2f539cdefc4f3470afbbb0f21b480f0 (patch)
treee217350ef3582bfa7a3216ebb21c501253c3023d /lib/Parse
parentc1f0a83762931a8b73ce0741b09b3576e5fb6107 (diff)
deref a version set as *VERSION = \...
Diffstat (limited to 'lib/Parse')
-rw-r--r--lib/Parse/PMFile.pm5
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/Parse/PMFile.pm b/lib/Parse/PMFile.pm
index e8371a9..274847f 100644
--- a/lib/Parse/PMFile.pm
+++ b/lib/Parse/PMFile.pm
@@ -178,9 +178,10 @@ sub _parse_version {
my $err = $@;
# warn ">>>>>>>err[$err]<<<<<<<<";
if (ref $err) {
- if ($err->{line} =~ /[\$*]([\w\:\']*)\bVERSION\b.*?\=(.*)/) {
+ if ($err->{line} =~ /([\$*])([\w\:\']*)\bVERSION\b.*?\=(.*)/) {
local($^W) = 0;
- $v = $comp->reval($2);
+ $v = $comp->reval($3);
+ $v = $$v if $1 eq '*';
}
if ($@ or !$v) {
$self->_verbose(1, sprintf("reval failed: err[%s] for eval[%s]",