aboutsummaryrefslogtreecommitdiff
path: root/challenge-184
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2022-10-01 09:17:22 +0100
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2022-10-01 09:17:22 +0100
commit3a6ff5451bbfc7490cd37ffc65d754de2df92e63 (patch)
tree174f1803a448fe2a92fa72bc21b42cc9c95ac9fa /challenge-184
parent2efecf464e73071b1d5b347a67dc972c4ca17075 (diff)
downloadperlweeklychallenge-club-3a6ff5451bbfc7490cd37ffc65d754de2df92e63.tar.gz
perlweeklychallenge-club-3a6ff5451bbfc7490cd37ffc65d754de2df92e63.tar.bz2
perlweeklychallenge-club-3a6ff5451bbfc7490cd37ffc65d754de2df92e63.zip
- Added solutions by Laurent Rosenfeld.
Diffstat (limited to 'challenge-184')
-rw-r--r--challenge-184/laurent-rosenfeld/blog.txt1
-rw-r--r--challenge-184/laurent-rosenfeld/perl/ch-1.pl14
-rw-r--r--challenge-184/laurent-rosenfeld/perl/ch-2.pl12
-rw-r--r--challenge-184/laurent-rosenfeld/raku/ch-1.raku9
-rw-r--r--challenge-184/laurent-rosenfeld/raku/ch-2.raku8
5 files changed, 44 insertions, 0 deletions
diff --git a/challenge-184/laurent-rosenfeld/blog.txt b/challenge-184/laurent-rosenfeld/blog.txt
new file mode 100644
index 0000000000..7fcea54b6a
--- /dev/null
+++ b/challenge-184/laurent-rosenfeld/blog.txt
@@ -0,0 +1 @@
+http://blogs.perl.org/users/laurent_r/2022/09/perl-weekly-challenge-184-sequence-number-and-split-array.html
diff --git a/challenge-184/laurent-rosenfeld/perl/ch-1.pl b/challenge-184/laurent-rosenfeld/perl/ch-1.pl
new file mode 100644
index 0000000000..ae8998ca0d
--- /dev/null
+++ b/challenge-184/laurent-rosenfeld/perl/ch-1.pl
@@ -0,0 +1,14 @@
+use strict;
+use warnings;
+use feature qw/say/;
+
+for my $test ([<ab1234 cd5678 ef1342>], [<pq1122 rs3334>]) {
+ my $i = 0;
+ my @out = @$test;
+ for (@out) {
+ my $count = sprintf("%02d", $i);
+ s/^[a-z]{2}/$count/;
+ $i++;
+ }
+ say "@$test => @out";
+}
diff --git a/challenge-184/laurent-rosenfeld/perl/ch-2.pl b/challenge-184/laurent-rosenfeld/perl/ch-2.pl
new file mode 100644
index 0000000000..af2648028c
--- /dev/null
+++ b/challenge-184/laurent-rosenfeld/perl/ch-2.pl
@@ -0,0 +1,12 @@
+use strict;
+use warnings;
+use feature qw/say/;
+
+for my $test (['a 1 2 b 0', '3 c 4 d'], ['1 2', 'p q r', 's 3', '4 5 t']) {
+ my (@letters, @digits);
+ for my $item (@$test) {
+ push @letters, grep { /[a-zA-Z]+/ } split /\s+/, $item;
+ push @digits, grep { /\d+/ } split /\s+/, $item;;
+ }
+ say "@letters \n@digits";
+}
diff --git a/challenge-184/laurent-rosenfeld/raku/ch-1.raku b/challenge-184/laurent-rosenfeld/raku/ch-1.raku
new file mode 100644
index 0000000000..bdd1969605
--- /dev/null
+++ b/challenge-184/laurent-rosenfeld/raku/ch-1.raku
@@ -0,0 +1,9 @@
+for <ab1234 cd5678 ef1342>, <pq1122 rs3334> -> @test {
+ my $i = 0;
+ my @out;
+ for @test {
+ push @out, .subst(/^<[a..z]>**2/, $i.fmt("%02d"));
+ $i++;
+ }
+ say "@test[] => @out[]";
+}
diff --git a/challenge-184/laurent-rosenfeld/raku/ch-2.raku b/challenge-184/laurent-rosenfeld/raku/ch-2.raku
new file mode 100644
index 0000000000..ba14a49232
--- /dev/null
+++ b/challenge-184/laurent-rosenfeld/raku/ch-2.raku
@@ -0,0 +1,8 @@
+for ('a 1 2 b 0', '3 c 4 d'), ('1 2', 'p q r', 's 3', '4 5 t') -> @test {
+ my (@letters, @digits);
+ for @test -> $item {
+ append @letters, grep { /<alpha>+/ }, $item.split(/\s+/);
+ append @digits, grep { /\d+/ }, $item.split(/\s+/);
+ }
+ .say for @letters, @digits;
+}