aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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__