aboutsummaryrefslogtreecommitdiff
path: root/challenge-135
diff options
context:
space:
mode:
authorAbigail <abigail@abigail.be>2021-10-23 21:18:05 +0200
committerAbigail <abigail@abigail.be>2021-10-23 21:18:05 +0200
commit137d500f76dc09e2d3f1f34142b93640d760159e (patch)
tree9e3c54ff1045e69bbdd33dad382272647786b2e5 /challenge-135
parent635033a4af3f3d2d24171d71e607d62e00b90155 (diff)
downloadperlweeklychallenge-club-137d500f76dc09e2d3f1f34142b93640d760159e.tar.gz
perlweeklychallenge-club-137d500f76dc09e2d3f1f34142b93640d760159e.tar.bz2
perlweeklychallenge-club-137d500f76dc09e2d3f1f34142b93640d760159e.zip
Improve Perl solution for week 135/part 1.
Diffstat (limited to 'challenge-135')
-rw-r--r--challenge-135/abigail/perl/ch-1.pl13
1 files changed, 7 insertions, 6 deletions
diff --git a/challenge-135/abigail/perl/ch-1.pl b/challenge-135/abigail/perl/ch-1.pl
index a74d8655a5..878d686567 100644
--- a/challenge-135/abigail/perl/ch-1.pl
+++ b/challenge-135/abigail/perl/ch-1.pl
@@ -18,11 +18,12 @@ use experimental 'lexical_subs';
#
while (<>) {
- s/^[-+]\s*//g; # We don't care about signs.
- say /^([0-9]*)([0-9]{3})([0-9]*)$
+ say /^[-+]?([0-9]*)([0-9]{3})([0-9]*)$
(??{length ($1) == length ($3) ? "" : "(*FAIL)"})/x
- ? $2
- : length () % 2 ? "even number of digits"
- : length () < 4 ? "too short"
- : "not an integer";
+ ? $2
+ : /^[-+]?[0-9]*[^0-9].*\n/ ? "not an integer"
+ : /^[-+]?(?:[0-9][0-9])*\n/ ? "even number of digits"
+ : "too short"
}
+
+__END__