aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2020-04-30 02:56:52 +0100
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2020-04-30 02:56:52 +0100
commit3c598e57925743c5ddc55a13c79595e6b49e92db (patch)
tree6e4b1b4dd4b73722e5e5df3085412409e0073125
parentb736edcc3535a9d84a7a97cf45f3405c9f393387 (diff)
downloadperlweeklychallenge-club-3c598e57925743c5ddc55a13c79595e6b49e92db.tar.gz
perlweeklychallenge-club-3c598e57925743c5ddc55a13c79595e6b49e92db.tar.bz2
perlweeklychallenge-club-3c598e57925743c5ddc55a13c79595e6b49e92db.zip
- Minor improvement to Compare Version solution.
-rw-r--r--challenge-058/mohammad-anwar/perl/ch-1.pl3
-rw-r--r--challenge-058/mohammad-anwar/perl/ch-1a.pl6
2 files changed, 8 insertions, 1 deletions
diff --git a/challenge-058/mohammad-anwar/perl/ch-1.pl b/challenge-058/mohammad-anwar/perl/ch-1.pl
index 93d5a3457c..a94471f3f8 100644
--- a/challenge-058/mohammad-anwar/perl/ch-1.pl
+++ b/challenge-058/mohammad-anwar/perl/ch-1.pl
@@ -10,6 +10,9 @@ print sprintf("%s cmp %s = %d\n", $v1, $v2, cmp_version($v1, $v2));
sub cmp_version {
my ($v1, $v2) = @_;
+ # Short circuit, good idea?
+ return 0 if ($v1 eq $v2);
+
my @v1 = split /\./, $v1;
my @v2 = split /\./, $v2;
diff --git a/challenge-058/mohammad-anwar/perl/ch-1a.pl b/challenge-058/mohammad-anwar/perl/ch-1a.pl
index 5a440cf7da..6591aec035 100644
--- a/challenge-058/mohammad-anwar/perl/ch-1a.pl
+++ b/challenge-058/mohammad-anwar/perl/ch-1a.pl
@@ -9,13 +9,17 @@ is (cmp_version('0.1', '1.1'), -1, '0.1 < 1.1');
is (cmp_version('2.0', '1.2'), 1, '2.0 > 1.2');
is (cmp_version('1.2', '1.2_5'), -1, '1.2 < 1.2_5');
is (cmp_version('1.2.2', '1.2_1'), 1, '1.2.2 > 1.2_1');
-is (cmp_version('1.2.1', '1.2.1'), 0, '1.2.1 = 1.2.1');
+is (cmp_version('1.2_1', '1.2_1'), 0, '1.2_1 = 1.2_1');
+is (cmp_version('1.2.2', '1.2_1'), 1, '1.2.2 > 1.2_1');
done_testing;
sub cmp_version {
my ($v1, $v2) = @_;
+ # Short circuit, good idea?
+ return 0 if ($v1 eq $v2);
+
my @v1 = split /\./, $v1;
my @v2 = split /\./, $v2;