aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad Sajid Anwar <Mohammad.Anwar@yahoo.com>2025-07-15 10:40:44 +0100
committerGitHub <noreply@github.com>2025-07-15 10:40:44 +0100
commitb10bf7dd9324f618c79fd59637d1581771071ed5 (patch)
tree50878377dfea90e93b93290e7a0980c1ee262f62
parent6345c73edaafe1c1252e99cf8991c8fc27890445 (diff)
parente213ec25037a561ac7c4e51c9ceb4071a45cddc7 (diff)
downloadperlweeklychallenge-club-b10bf7dd9324f618c79fd59637d1581771071ed5.tar.gz
perlweeklychallenge-club-b10bf7dd9324f618c79fd59637d1581771071ed5.tar.bz2
perlweeklychallenge-club-b10bf7dd9324f618c79fd59637d1581771071ed5.zip
Merge pull request #12338 from andemark/challenge-330
Challenge 330 Solutions (Raku)
-rw-r--r--challenge-330/mark-anderson/raku/ch-1.raku15
-rw-r--r--challenge-330/mark-anderson/raku/ch-2.raku11
2 files changed, 26 insertions, 0 deletions
diff --git a/challenge-330/mark-anderson/raku/ch-1.raku b/challenge-330/mark-anderson/raku/ch-1.raku
new file mode 100644
index 0000000000..795efa9bc4
--- /dev/null
+++ b/challenge-330/mark-anderson/raku/ch-1.raku
@@ -0,0 +1,15 @@
+#!/usr/bin/env raku
+use Test;
+
+is clear-digits("cab12"), "c";
+is clear-digits("xy99"), Empty.Str;
+is clear-digits("pa1erl"), "perl";
+
+sub clear-digits($s is copy)
+{
+ loop
+ {
+ $s .= subst(/ (<lower>+) (<digit>+) <?{ $0.chars == $1.chars }> /, :g);
+ return $s unless $/
+ }
+}
diff --git a/challenge-330/mark-anderson/raku/ch-2.raku b/challenge-330/mark-anderson/raku/ch-2.raku
new file mode 100644
index 0000000000..ea8d4913aa
--- /dev/null
+++ b/challenge-330/mark-anderson/raku/ch-2.raku
@@ -0,0 +1,11 @@
+#!/usr/bin/env raku
+use Test;
+
+is title-capital("PERL IS gREAT"), "Perl is Great";
+is title-capital("THE weekly challenge"), "The Weekly Challenge";
+is title-capital("YoU ARE A stAR"), "You Are a Star";
+
+sub title-capital($str)
+{
+ $str.lc.wordcase(:where({ .chars > 2 }))
+}