diff options
| author | Lubos Kolouch <lubos@kolouch.net> | 2020-05-02 13:30:24 +0200 |
|---|---|---|
| committer | Lubos Kolouch <lubos@kolouch.net> | 2020-05-02 13:30:24 +0200 |
| commit | 25a6c66bd9295780ab16bfccc08bff59ace14891 (patch) | |
| tree | 083e06b6feb932164b4b605b6b2a03c1129be65e | |
| parent | d3c5f092e33e90653a53f7251bc664d095bb31f2 (diff) | |
| download | perlweeklychallenge-club-25a6c66bd9295780ab16bfccc08bff59ace14891.tar.gz perlweeklychallenge-club-25a6c66bd9295780ab16bfccc08bff59ace14891.tar.bz2 perlweeklychallenge-club-25a6c66bd9295780ab16bfccc08bff59ace14891.zip | |
Challenge 1 LK
| -rw-r--r-- | challenge-058/lubos-kolouch/perl/ch-1.pl | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/challenge-058/lubos-kolouch/perl/ch-1.pl b/challenge-058/lubos-kolouch/perl/ch-1.pl new file mode 100644 index 0000000000..5e132040d8 --- /dev/null +++ b/challenge-058/lubos-kolouch/perl/ch-1.pl @@ -0,0 +1,52 @@ +#!/usr/bin/perl +#=============================================================================== +# +# FILE: ch-1.pl +# +# USAGE: ./ch-1.pl +# +# DESCRIPTION: https://perlweeklychallenge.org/blog/perl-weekly-challenge-058/ +# +# Compare two given version number strings v1 and v2 such that: +# +# If v1 > v2 return 1 +# If v1 < v2 return -1 +# Otherwise, return 0 +# +# +# OPTIONS: --- +# REQUIREMENTS: --- +# BUGS: --- +# NOTES: --- +# AUTHOR: Lubos Kolouch +# ORGANIZATION: +# VERSION: 1.0 +# CREATED: 05/02/2020 12:57:10 PM +# REVISION: --- +#=============================================================================== + +use strict; +use warnings; +use Perl::Version; + +sub compare_versions { + my ($ver1, $ver2) = @_; + + my $v1 = version->new($ver1); + my $v2 = version->new($ver2); + + return $v1 <=> $v2; +} + +# TESTS + +use Test::More; + +is(compare_versions('0.1','1.1'),-1); +is(compare_versions('2.0','1.2'),1); +is(compare_versions('1.2','1.2_5'),-1); + +# There is likely bug in the module, I have reported it +# https://rt.cpan.org/Ticket/Display.html?id=132481& +is(compare_versions('1.2.1','1.2_1'),1); +is(compare_versions('1.2.1','1.2.1'),0); |
