diff options
| author | Jaldhar H. Vyas <jaldhar@braincells.com> | 2025-07-14 17:44:25 -0400 |
|---|---|---|
| committer | Jaldhar H. Vyas <jaldhar@braincells.com> | 2025-07-14 18:51:47 -0400 |
| commit | 7efe138cbea64fe6e6eec37751937486180f4a49 (patch) | |
| tree | 47b3b020411af0dc5a1de71ab6cfbe78c0305d38 | |
| parent | bd7fce4bd5d085c209a213f2daca1e79799c9e87 (diff) | |
| download | perlweeklychallenge-club-7efe138cbea64fe6e6eec37751937486180f4a49.tar.gz perlweeklychallenge-club-7efe138cbea64fe6e6eec37751937486180f4a49.tar.bz2 perlweeklychallenge-club-7efe138cbea64fe6e6eec37751937486180f4a49.zip | |
Challenge 328 by Jaldhar H. Vyas.
| -rw-r--r-- | challenge-328/jaldhar-h-vyas/blog.txt | 1 | ||||
| -rwxr-xr-x | challenge-328/jaldhar-h-vyas/perl/ch-1.pl | 19 | ||||
| -rwxr-xr-x | challenge-328/jaldhar-h-vyas/perl/ch-2.sh | 3 | ||||
| -rwxr-xr-x | challenge-328/jaldhar-h-vyas/raku/ch-1.raku | 17 | ||||
| -rwxr-xr-x | challenge-328/jaldhar-h-vyas/raku/ch-2.sh | 3 |
5 files changed, 43 insertions, 0 deletions
diff --git a/challenge-328/jaldhar-h-vyas/blog.txt b/challenge-328/jaldhar-h-vyas/blog.txt new file mode 100644 index 0000000000..effe16eb18 --- /dev/null +++ b/challenge-328/jaldhar-h-vyas/blog.txt @@ -0,0 +1 @@ +https://www.braincells.com/perl/2025/07/perl_weekly_challenge_week_328.html diff --git a/challenge-328/jaldhar-h-vyas/perl/ch-1.pl b/challenge-328/jaldhar-h-vyas/perl/ch-1.pl new file mode 100755 index 0000000000..48efbe49db --- /dev/null +++ b/challenge-328/jaldhar-h-vyas/perl/ch-1.pl @@ -0,0 +1,19 @@ +#!/usr/bin/perl +use 5.038; +use warnings; + +sub pick(@array) { + return $array[int(rand(@array))]; +} + +sub newChar($left, $right) { + my $replacement = $left; + + while ($replacement eq $left || $replacement eq $right) { + $replacement = pick('a' .. 'z'); + } + + return "$left$replacement$right"; +} + +$_ = shift; s/(.) \? (.)/newChar($1, $2)/egx; say;
\ No newline at end of file diff --git a/challenge-328/jaldhar-h-vyas/perl/ch-2.sh b/challenge-328/jaldhar-h-vyas/perl/ch-2.sh new file mode 100755 index 0000000000..0d820861ee --- /dev/null +++ b/challenge-328/jaldhar-h-vyas/perl/ch-2.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +perl -E '$_=shift;while(s/([a-z])(??{uc $1})|([A-Z])(??{lc $2})//){}say' "$@" diff --git a/challenge-328/jaldhar-h-vyas/raku/ch-1.raku b/challenge-328/jaldhar-h-vyas/raku/ch-1.raku new file mode 100755 index 0000000000..0f473a16ce --- /dev/null +++ b/challenge-328/jaldhar-h-vyas/raku/ch-1.raku @@ -0,0 +1,17 @@ +#!/usr/bin/raku + +sub newChar($left, $right) { + my $char = $left; + + while $char eq $left || $char eq $right { + $char = ('a' .. 'z').pick; + } + + return "$left$char$right"; + } + +sub MAIN( + $str +) { + $str.subst(/(.) \? (.)/, { newChar($0, $1) }, :g ).say; +}
\ No newline at end of file diff --git a/challenge-328/jaldhar-h-vyas/raku/ch-2.sh b/challenge-328/jaldhar-h-vyas/raku/ch-2.sh new file mode 100755 index 0000000000..de3bd5a303 --- /dev/null +++ b/challenge-328/jaldhar-h-vyas/raku/ch-2.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +raku -e '$_=@*ARGS[0];while s/((<[a..z]>){}$($0.uc))||((<[A..Z]>){}$($0.lc))// {};.say' "$@" |
