summaryrefslogtreecommitdiff
path: root/lib/Parse
diff options
context:
space:
mode:
authorKenichi Ishigaki <ishigaki@cpan.org>2015-01-17 20:53:37 +0900
committerKenichi Ishigaki <ishigaki@cpan.org>2015-01-17 20:53:37 +0900
commitd68e2180cc09d1b6d86efc1b990446894112e9d4 (patch)
treec96d7e64161a84e42251e11ea0ee7fe449d6b833 /lib/Parse
parentfbdeb2a8d7ce235af0f1b9b9eee50f40287caebd (diff)
tolerate version line errors as undef (fix #8)
Diffstat (limited to 'lib/Parse')
-rw-r--r--lib/Parse/PMFile.pm8
1 files changed, 2 insertions, 6 deletions
diff --git a/lib/Parse/PMFile.pm b/lib/Parse/PMFile.pm
index da63d49..d03690e 100644
--- a/lib/Parse/PMFile.pm
+++ b/lib/Parse/PMFile.pm
@@ -95,7 +95,6 @@ sub parse {
my $pp = $ppp->{$package};
if ($pp->{version} && $pp->{version} =~ /^\{.*\}$/) { # JSON parser error
- my $dont_delete;
my $err = JSON::PP::decode_json($pp->{version});
if ($err->{x_normalize}) {
$errors{$package} = {
@@ -103,8 +102,8 @@ sub parse {
infile => $pp->{infile},
};
$pp->{version} = "undef";
- $dont_delete = 1;
} elsif ($err->{openerr}) {
+ $pp->{version} = "undef";
$self->_verbose(1,
qq{Parse::PMFile was not able to
read the file. It issued the following error: C< $err->{r} >},
@@ -114,6 +113,7 @@ sub parse {
infile => $pp->{infile},
};
} else {
+ $pp->{version} = "undef";
$self->_verbose(1,
qq{Parse::PMFile was not able to
parse the following line in that file: C< $err->{line} >
@@ -131,10 +131,6 @@ sub parse {
infile => $err->{file},
};
}
- unless ($dont_delete) {
- delete $ppp->{$package};
- next;
- }
}
# Sanity checks