diff options
| -rw-r--r-- | challenge-106/lance-wicks/perl/ch-1.pl | 9 | ||||
| -rw-r--r-- | challenge-106/lance-wicks/perl/lib/Maxgap.pm | 20 | ||||
| -rw-r--r-- | challenge-106/lance-wicks/perl/t/01-max_gap.t | 19 |
3 files changed, 48 insertions, 0 deletions
diff --git a/challenge-106/lance-wicks/perl/ch-1.pl b/challenge-106/lance-wicks/perl/ch-1.pl new file mode 100644 index 0000000000..185f23a01d --- /dev/null +++ b/challenge-106/lance-wicks/perl/ch-1.pl @@ -0,0 +1,9 @@ +use strict; +use warnings; + +use lib './lib'; +use Maxgap; + +my $maxgap = Maxgap::maxgap(@ARGV); + +print "Output: $maxgap\n"; diff --git a/challenge-106/lance-wicks/perl/lib/Maxgap.pm b/challenge-106/lance-wicks/perl/lib/Maxgap.pm new file mode 100644 index 0000000000..db51d4bf36 --- /dev/null +++ b/challenge-106/lance-wicks/perl/lib/Maxgap.pm @@ -0,0 +1,20 @@ +package Maxgap; + +sub maxgap { + my ($self, @integers) = @_; + + @integers = sort @integers; + + my $maxgap = 0; + for my $i (1 .. @integers-1){ + my $gap = $integers[$i] - $integers[$i-1]; + if ( $gap > $maxgap) { + $maxgap = $gap; + } + } + + return $maxgap; +} + + +1; diff --git a/challenge-106/lance-wicks/perl/t/01-max_gap.t b/challenge-106/lance-wicks/perl/t/01-max_gap.t new file mode 100644 index 0000000000..e349d01d12 --- /dev/null +++ b/challenge-106/lance-wicks/perl/t/01-max_gap.t @@ -0,0 +1,19 @@ +use Test2::V0 -target => Maxgap; + +my @example1 = (2, 9, 3, 5); +my $expected1 = 4; + +is $CLASS->maxgap(@example1), $expected1, 'Example 1'; + +my @example2 = (1, 3, 8, 2, 0); +my $expected2 = 5; + +is $CLASS->maxgap(@example2), $expected2, 'Example 2'; + + +my @example3 = (5); +my $expected3 = 0; + +is $CLASS->maxgap(@example3), $expected3, 'Example 3'; + +done_testing; |
