aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-208/james-smith/perl/ch-2.pl24
1 files changed, 24 insertions, 0 deletions
diff --git a/challenge-208/james-smith/perl/ch-2.pl b/challenge-208/james-smith/perl/ch-2.pl
new file mode 100644
index 0000000000..bf3c5f0ed7
--- /dev/null
+++ b/challenge-208/james-smith/perl/ch-2.pl
@@ -0,0 +1,24 @@
+#!/usr/local/bin/perl
+
+use strict;
+use warnings;
+use feature qw(say);
+use Test::More;
+
+my @TESTS = (
+ [ [1,2,2,4], [2,3] ],
+ [ [1,2,3,4], [-1] ],
+ [ [1,2,3,3], [3,4] ],
+ [ [1,2,2,3,5], [2,4] ],
+ [ [5,5], [5,6] ],
+);
+
+is( dup_missing( @{$_->[0]} ), $_->[1] ) for @TESTS;
+
+done_testing();
+
+sub dup_missing {
+ my($p,$s,$d) = (shift,0);
+ ($p==$_ && ($d=$_)),($p=$_,$s+=$_-$f) for @_;
+ defined $d ? [ $d, $s2-$s+$d ] : [ -1 ];
+}