X-Git-Url: http://git.vpit.fr/?p=perl%2Fmodules%2FCPANPLUS-Dist-Gentoo.git;a=blobdiff_plain;f=lib%2FCPANPLUS%2FDist%2FGentoo%2FAtom.pm;h=76af6fe787c27053c129932c461f6347417db175;hp=5cd01e3b3aa3f376a17f244079a1d3b8274ee46f;hb=eec0ec3915edc56c40c9ab85e50f22d2aee29beb;hpb=35149e33a2602cd5497670d5c6bb1ae33094ed9b diff --git a/lib/CPANPLUS/Dist/Gentoo/Atom.pm b/lib/CPANPLUS/Dist/Gentoo/Atom.pm index 5cd01e3..76af6fe 100644 --- a/lib/CPANPLUS/Dist/Gentoo/Atom.pm +++ b/lib/CPANPLUS/Dist/Gentoo/Atom.pm @@ -48,16 +48,16 @@ sub new { my %args = @_; - my ($category, $name, $version); + my ($range, $category, $name, $version); if (defined $args{name}) { - ($category, $name, $version) = @args{qw/category name version/}; + ($range, $category, $name, $version) = @args{qw/range category name version/}; Carp::confess('Category unspecified') unless defined $category; /[^\w-]/ and Carp::confess('Invalid argument') for $name, $category; } elsif (defined $args{atom}) { my $atom = $args{atom}; - $atom =~ m{^([\w-]+)/([\w-]+)-v?($version_rx)$} + $atom =~ m{^(<|<=|=|>=|>)?([\w-]+)/([\w-]+)(?-v?($version_rx))?$} or Carp::confess('Invalid atom'); - ($category, $name, $version) = ($1, $2, $3); + ($range, $category, $name, $version) = ($1, $2, $3, $4); } else { Carp::confess('Not enough information for building an atom object'); } @@ -69,7 +69,6 @@ sub new { } } - my $range = $args{range}; if (defined $version) { if (defined $range) { Carp::confess("Invalid range $range")