summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTatsuhiko Miyagawa <miyagawa@bulknews.net>2016-05-21 20:16:39 -0700
committerTatsuhiko Miyagawa <miyagawa@bulknews.net>2016-05-21 20:16:39 -0700
commit311b2daf6c78c790c1136dc54c0fe5e29e42e2dc (patch)
treee1dacc770dd02eb031fd7e08af0e4f2f8ec6216d
parent8f5beb62665eb4fa433c59d20a82b842e5b6d080 (diff)
downloadcarton-311b2daf6c78c790c1136dc54c0fe5e29e42e2dc.tar.gz
Handle undef versions correctly
-rw-r--r--lib/Carton/Snapshot/Emitter.pm4
-rw-r--r--lib/Carton/Snapshot/Parser.pm2
2 files changed, 4 insertions, 2 deletions
diff --git a/lib/Carton/Snapshot/Emitter.pm b/lib/Carton/Snapshot/Emitter.pm
index 9486ba7..c8e9fa8 100644
--- a/lib/Carton/Snapshot/Emitter.pm
+++ b/lib/Carton/Snapshot/Emitter.pm
@@ -15,7 +15,9 @@ sub emit {
$data .= " provides:\n";
for my $package (sort keys %{$dist->provides}) {
- $data .= " $package @{[$dist->provides->{$package}{version} || 'undef' ]}\n";
+ my $version = $dist->provides->{$package}{version};
+ $version = 'undef' unless defined $version;
+ $data .= " $package $version\n";
}
$data .= " requirements:\n";
diff --git a/lib/Carton/Snapshot/Parser.pm b/lib/Carton/Snapshot/Parser.pm
index 21aa0c1..68330de 100644
--- a/lib/Carton/Snapshot/Parser.pm
+++ b/lib/Carton/Snapshot/Parser.pm
@@ -71,7 +71,7 @@ my $machine = {
re => qr/^\s{6}([0-9A-Za-z_:]+) ([v0-9\._,=\!<>\s]+|undef)/,
code => sub {
my($stash, $snapshot, $module, $version) = @_;
-
+ $version = undef if $version eq 'undef';
if ($stash->{property} eq 'provides') {
$stash->{dist}->provides->{$module} = { version => $version };
} else {