aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Smith <baggy@baggy.me.uk>2021-10-19 16:59:28 +0100
committerGitHub <noreply@github.com>2021-10-19 16:59:28 +0100
commit0f5a34b1abdb36741fe2840f2d787d3efe587bd9 (patch)
treeb5511ad0f7b729705f23e8bda094347d761305fb
parent8699e810931218e4437ae9c8926772616f249e06 (diff)
downloadperlweeklychallenge-club-0f5a34b1abdb36741fe2840f2d787d3efe587bd9.tar.gz
perlweeklychallenge-club-0f5a34b1abdb36741fe2840f2d787d3efe587bd9.tar.bz2
perlweeklychallenge-club-0f5a34b1abdb36741fe2840f2d787d3efe587bd9.zip
Update ch-1.pl
-rw-r--r--challenge-135/james-smith/perl/ch-1.pl16
1 files changed, 8 insertions, 8 deletions
diff --git a/challenge-135/james-smith/perl/ch-1.pl b/challenge-135/james-smith/perl/ch-1.pl
index 5f9b117675..dbbf9a33b7 100644
--- a/challenge-135/james-smith/perl/ch-1.pl
+++ b/challenge-135/james-smith/perl/ch-1.pl
@@ -18,23 +18,23 @@ my @TESTS = (
[ 1000, 'Even digits' ],
);
-is( middle3( $_->[0]), $_->[1] ) foreach @TESTS;
-is( middle3no($_->[0]), $_->[1] ) foreach @TESTS[0..2,4];
+is( middle3( $_->[0]), $_->[1] ) foreach @TESTS;
+is( middle3compact( $_->[0]), $_->[1] ) foreach @TESTS[0..4,6];
done_testing();
sub middle3 {
my $n = shift;
return 'Not a number' unless $n =~ m{^-?\d+$};
- $n = abs $n;
- return length $n < 3 ? 'Too short'
- : (length $n)%2 ? substr $n, (-3 + length $n ) / 2, 3
- : 'Even digits'
+ my $l = length( $n = abs $n );
+ return $l < 3 ? 'Too short'
+ : $l % 2 ? substr $n, ( $l - 3 ) / 2, 3
+ : 'Even digits'
;
}
-sub middle3no {
- my$l=length(my$n=abs shift);
+sub middle3compact {
+ my$l=length(my$n=abs$_[0]);
return$l<3?'Too short':$l%2?substr$n,$l/2-1,3:'Even digits';
}