X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FCPAN%2FVersion.pm;h=1de82493b40345468d2fb7288d7f8227a1f50cf6;hb=7fefbd4402375aa51661a98e79d837b4c791b26f;hp=68a4fec690e296c2868cc69adf12e414e80964eb;hpb=f3fe0ae60051c4c73dd9f21d0864f94a81c10245;p=p5sagit%2Fp5-mst-13.2.git diff --git a/lib/CPAN/Version.pm b/lib/CPAN/Version.pm index 68a4fec..1de8249 100644 --- a/lib/CPAN/Version.pm +++ b/lib/CPAN/Version.pm @@ -6,9 +6,13 @@ CPAN::Version - utility functions to compare CPAN versions use CPAN::Version; - CPAN::Version->vgt("1.1","1.1.1"); # 1 + CPAN::Version->vgt("1.1","1.1.1"); # 1 bc. 1.1 > 1.001001 - CPAN::Version->vcmp("1.1","1.1.1"); # 1 + CPAN::Version->vlt("1.1","1.1"); # 0 bc. 1.1 not < 1.1 + + CPAN::Version->vcmp("1.1","1.1.1"); # 1 bc. first is larger + + CPAN::Version->vcmp("1.1.1","1.1"); # -1 bc. first is smaller CPAN::Version->readable(v1.2.3); # "v1.2.3" @@ -30,6 +34,10 @@ version strings visible and comparable. package CPAN::Version; +use strict; +use vars qw($VERSION); +$VERSION = sprintf "%.6f", substr(q$Rev: 561 $,4)/1000000 + 5.4; + # CPAN::Version::vcmp courtesy Jost Krieger sub vcmp { my($self,$l,$r) = @_; @@ -68,6 +76,11 @@ sub vgt { $self->vcmp($l,$r) > 0; } +sub vlt { + my($self,$l,$r) = @_; + 0 + ($self->vcmp($l,$r) < 0); +} + sub vstring { my($self,$n) = @_; $n =~ s/^v// or die "CPAN::Version::vstring() called with invalid arg [$n]"; @@ -109,7 +122,11 @@ sub readable { # And if they say v1.2, then the old perl takes it as "v12" - $CPAN::Frontend->mywarn("Suspicious version string seen [$n]\n"); + if (defined $CPAN::Frontend) { + $CPAN::Frontend->mywarn("Suspicious version string seen [$n]\n"); + } else { + warn("Suspicious version string seen [$n]\n"); + } return $n; } my $better = sprintf "v%vd", $n;