aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArne Sommer <arne@bbop.org>2025-07-27 21:53:52 +0200
committerArne Sommer <arne@bbop.org>2025-07-27 21:53:52 +0200
commitf43aca2c63578b55e94ce6348ad7203e2f72a3b2 (patch)
tree51ac547313176809c13e20e1d4eb05ae0202868a
parent1ff2c9796a511d63231d3757acb27e4046a91fb2 (diff)
downloadperlweeklychallenge-club-f43aca2c63578b55e94ce6348ad7203e2f72a3b2.tar.gz
perlweeklychallenge-club-f43aca2c63578b55e94ce6348ad7203e2f72a3b2.tar.bz2
perlweeklychallenge-club-f43aca2c63578b55e94ce6348ad7203e2f72a3b2.zip
week 332 Arne Sommer
-rw-r--r--challenge-332/arne-sommer/blog.txt1
-rwxr-xr-xchallenge-332/arne-sommer/raku/binary-date5
-rwxr-xr-xchallenge-332/arne-sommer/raku/binary-date-try6
-rwxr-xr-xchallenge-332/arne-sommer/raku/ch-1.raku5
-rwxr-xr-xchallenge-332/arne-sommer/raku/ch-2.raku14
-rwxr-xr-xchallenge-332/arne-sommer/raku/odd-letters14
6 files changed, 45 insertions, 0 deletions
diff --git a/challenge-332/arne-sommer/blog.txt b/challenge-332/arne-sommer/blog.txt
new file mode 100644
index 0000000000..37ddb7079d
--- /dev/null
+++ b/challenge-332/arne-sommer/blog.txt
@@ -0,0 +1 @@
+https://raku-musings.com/odd-date.html \ No newline at end of file
diff --git a/challenge-332/arne-sommer/raku/binary-date b/challenge-332/arne-sommer/raku/binary-date
new file mode 100755
index 0000000000..01f589f69d
--- /dev/null
+++ b/challenge-332/arne-sommer/raku/binary-date
@@ -0,0 +1,5 @@
+#! /usr/bin/env raku
+
+unit sub MAIN ($date where $date ~~ /^ \d\d\d\d \- \d\d \- \d\d $/);
+
+say $date.split('-').map( *.fmt('%b') ).join('-');
diff --git a/challenge-332/arne-sommer/raku/binary-date-try b/challenge-332/arne-sommer/raku/binary-date-try
new file mode 100755
index 0000000000..65c7eeee5a
--- /dev/null
+++ b/challenge-332/arne-sommer/raku/binary-date-try
@@ -0,0 +1,6 @@
+#! /usr/bin/env raku
+
+unit sub MAIN ($date where $date ~~ /^ \d\d\d\d \- \d\d \- \d\d $/);
+
+try Date.new($date) && say $date.split('-').map( *.fmt('%b') ).join('-');
+
diff --git a/challenge-332/arne-sommer/raku/ch-1.raku b/challenge-332/arne-sommer/raku/ch-1.raku
new file mode 100755
index 0000000000..01f589f69d
--- /dev/null
+++ b/challenge-332/arne-sommer/raku/ch-1.raku
@@ -0,0 +1,5 @@
+#! /usr/bin/env raku
+
+unit sub MAIN ($date where $date ~~ /^ \d\d\d\d \- \d\d \- \d\d $/);
+
+say $date.split('-').map( *.fmt('%b') ).join('-');
diff --git a/challenge-332/arne-sommer/raku/ch-2.raku b/challenge-332/arne-sommer/raku/ch-2.raku
new file mode 100755
index 0000000000..62c6db3aad
--- /dev/null
+++ b/challenge-332/arne-sommer/raku/ch-2.raku
@@ -0,0 +1,14 @@
+#! /usr/bin/env raku
+
+unit sub MAIN ($str where $str.chars > 0, :v(:$verbose));
+
+my $bag = $str.comb.grep(/<[a..z A..Z]>/).Bag;
+my @even = $bag.grep( *.value %% 2 )>>.key;
+
+if $verbose
+{
+ say ": Bag: { $bag.raku }";
+ say ": Even letters: { @even.join(", ") }";
+}
+
+say @even.elems == 0; \ No newline at end of file
diff --git a/challenge-332/arne-sommer/raku/odd-letters b/challenge-332/arne-sommer/raku/odd-letters
new file mode 100755
index 0000000000..62c6db3aad
--- /dev/null
+++ b/challenge-332/arne-sommer/raku/odd-letters
@@ -0,0 +1,14 @@
+#! /usr/bin/env raku
+
+unit sub MAIN ($str where $str.chars > 0, :v(:$verbose));
+
+my $bag = $str.comb.grep(/<[a..z A..Z]>/).Bag;
+my @even = $bag.grep( *.value %% 2 )>>.key;
+
+if $verbose
+{
+ say ": Bag: { $bag.raku }";
+ say ": Even letters: { @even.join(", ") }";
+}
+
+say @even.elems == 0; \ No newline at end of file