diff options
| -rw-r--r-- | challenge-135/james-smith/perl/ch-1.pl | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/challenge-135/james-smith/perl/ch-1.pl b/challenge-135/james-smith/perl/ch-1.pl index a91fc49d88..62022269aa 100644 --- a/challenge-135/james-smith/perl/ch-1.pl +++ b/challenge-135/james-smith/perl/ch-1.pl @@ -23,9 +23,9 @@ done_testing(); sub middle3 { my $n = shift; return 'Not a number' unless $n =~ m{^-?\d+$}; - return 'Too short' unless $n =~ m{\d{3}}; - return 'Even digits' if $n =~ m{^-?(?:\d\d)+$}; - $n =~ s{^-}{}; - return substr $n, (-3 + length $n ) / 2, 3; + $n = abs $n; + return length $n < 3 ? 'Too short' + : (length $n)%2 ? substr $n, (-3 + length $n ) / 2, 3 + : 'Even digits'; } |
