diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2022-10-01 09:17:22 +0100 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2022-10-01 09:17:22 +0100 |
| commit | 3a6ff5451bbfc7490cd37ffc65d754de2df92e63 (patch) | |
| tree | 174f1803a448fe2a92fa72bc21b42cc9c95ac9fa /challenge-184 | |
| parent | 2efecf464e73071b1d5b347a67dc972c4ca17075 (diff) | |
| download | perlweeklychallenge-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.txt | 1 | ||||
| -rw-r--r-- | challenge-184/laurent-rosenfeld/perl/ch-1.pl | 14 | ||||
| -rw-r--r-- | challenge-184/laurent-rosenfeld/perl/ch-2.pl | 12 | ||||
| -rw-r--r-- | challenge-184/laurent-rosenfeld/raku/ch-1.raku | 9 | ||||
| -rw-r--r-- | challenge-184/laurent-rosenfeld/raku/ch-2.raku | 8 |
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; +} |
