aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLubos Kolouch <lubos@kolouch.net>2020-05-02 13:30:24 +0200
committerLubos Kolouch <lubos@kolouch.net>2020-05-02 13:30:24 +0200
commit25a6c66bd9295780ab16bfccc08bff59ace14891 (patch)
tree083e06b6feb932164b4b605b6b2a03c1129be65e
parentd3c5f092e33e90653a53f7251bc664d095bb31f2 (diff)
downloadperlweeklychallenge-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.pl52
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);