From 8f2017a73332b0c2bc7cc9ca78d6287e9627ebe9 Mon Sep 17 00:00:00 2001 From: CY Fung Date: Mon, 12 Feb 2024 05:22:02 +0800 Subject: Week 255, and add Task 2 of the missed Week 254 --- challenge-254/cheok-yin-fung/ch-2.pl | 35 ------------------------------- challenge-254/cheok-yin-fung/perl/ch-2.pl | 35 +++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+), 35 deletions(-) delete mode 100644 challenge-254/cheok-yin-fung/ch-2.pl create mode 100644 challenge-254/cheok-yin-fung/perl/ch-2.pl diff --git a/challenge-254/cheok-yin-fung/ch-2.pl b/challenge-254/cheok-yin-fung/ch-2.pl deleted file mode 100644 index 307101ff7b..0000000000 --- a/challenge-254/cheok-yin-fung/ch-2.pl +++ /dev/null @@ -1,35 +0,0 @@ -# The Weekly Challenge 254 -# Task 2 Reverse Vowels -use v5.30.0; -use warnings; - -sub r_v { - my $s = $_[0]; - my $c_s = $s; - $c_s =~ tr/aeiou/=/; - $c_s =~ tr/AEIOU/_/; - my @arr = split "", $s; - my @c_arr = split "", $c_s; - my @vowels = reverse map {lc} grep { /[aeiou]/i} @arr; - my $i = 0; - for my $j (0..$#c_arr) { - my $c = $c_arr[$j]; - if ($c eq "=") { - $arr[$j] = $vowels[$i]; - $i++; - } - if ($c eq "_") { - $arr[$j] = uc $vowels[$i]; - $i++; - } - } - return join "", @arr; -} - -use Test::More tests=>5; -ok r_v("Raku") eq "Ruka"; -ok r_v("Perl") eq "Perl"; -ok r_v("Julia") eq "Jaliu"; -ok r_v("Uiua") eq "Auiu"; -ok r_v("Cpp") eq "Cpp"; - diff --git a/challenge-254/cheok-yin-fung/perl/ch-2.pl b/challenge-254/cheok-yin-fung/perl/ch-2.pl new file mode 100644 index 0000000000..307101ff7b --- /dev/null +++ b/challenge-254/cheok-yin-fung/perl/ch-2.pl @@ -0,0 +1,35 @@ +# The Weekly Challenge 254 +# Task 2 Reverse Vowels +use v5.30.0; +use warnings; + +sub r_v { + my $s = $_[0]; + my $c_s = $s; + $c_s =~ tr/aeiou/=/; + $c_s =~ tr/AEIOU/_/; + my @arr = split "", $s; + my @c_arr = split "", $c_s; + my @vowels = reverse map {lc} grep { /[aeiou]/i} @arr; + my $i = 0; + for my $j (0..$#c_arr) { + my $c = $c_arr[$j]; + if ($c eq "=") { + $arr[$j] = $vowels[$i]; + $i++; + } + if ($c eq "_") { + $arr[$j] = uc $vowels[$i]; + $i++; + } + } + return join "", @arr; +} + +use Test::More tests=>5; +ok r_v("Raku") eq "Ruka"; +ok r_v("Perl") eq "Perl"; +ok r_v("Julia") eq "Jaliu"; +ok r_v("Uiua") eq "Auiu"; +ok r_v("Cpp") eq "Cpp"; + -- cgit