exercism-perl5

Repository for my Perl 5 Exercism exercises
git clone git://git.samirparikh.com/exercism-perl5
Log | Files | Refs | README

commit 134519467a221e273504250d9b0ada89115d57c4
parent 052415c68e901c47819e113ac6d0ecef30969193
Author: Samir Parikh <noreply@samirparikh.com>
Date:   Wed, 20 Apr 2022 18:51:10 +0000

get all tests to pass for largest series product

Diffstat:
Mlargest-series-product/LargestSeriesProduct.pm | 11+++++++----
1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/largest-series-product/LargestSeriesProduct.pm b/largest-series-product/LargestSeriesProduct.pm @@ -2,17 +2,20 @@ package LargestSeriesProduct; use strict; use warnings; use List::Util qw( product ); +use Scalar::Util qw(looks_like_number); use Exporter qw<import>; our @EXPORT_OK = qw<largest_product>; sub largest_product { my ($input) = @_; - my $max = 0; - #print "$input->{digits} and $input->{span}\n"; + die "digits input must only contain digits" + if ($input->{digits} =~ m/\D+/); + die "span must be greater than zero" if ($input->{span} < 0); my @digits = split //, $input->{digits}; my $length = scalar @digits; - #print "length = $length\n"; - #print "$_\n" foreach @digits; + die "span must be smaller than string length" + if ($input->{span} > $length); + my $max = 0; foreach my $i (0 .. $length - $input->{span}) { my @substring = @digits[$i .. ($i + $input->{span} - 1)]; my $product = product @substring;