aboutsummaryrefslogtreecommitdiff
path: root/challenge-278
diff options
context:
space:
mode:
authorJaldhar H. Vyas <jaldhar@braincells.com>2024-07-16 23:54:05 -0400
committerJaldhar H. Vyas <jaldhar@braincells.com>2024-07-17 11:03:34 -0400
commit2b3c8cbb302f44ab16b72068b795298dde00b53d (patch)
tree5bed1ed837b757661de4146de718031d2e2772d5 /challenge-278
parentdd7b7f3344a33d4c8f1b6947e58eeb2ba02f84f3 (diff)
downloadperlweeklychallenge-club-2b3c8cbb302f44ab16b72068b795298dde00b53d.tar.gz
perlweeklychallenge-club-2b3c8cbb302f44ab16b72068b795298dde00b53d.tar.bz2
perlweeklychallenge-club-2b3c8cbb302f44ab16b72068b795298dde00b53d.zip
Challenge 278 by Jaldhar H. Vyas.
Diffstat (limited to 'challenge-278')
-rw-r--r--challenge-278/jaldhar-h-vyas/blog.txt1
-rwxr-xr-xchallenge-278/jaldhar-h-vyas/perl/ch-1.pl12
-rwxr-xr-xchallenge-278/jaldhar-h-vyas/perl/ch-2.sh3
-rwxr-xr-xchallenge-278/jaldhar-h-vyas/raku/ch-1.raku14
-rwxr-xr-xchallenge-278/jaldhar-h-vyas/raku/ch-2.sh3
5 files changed, 33 insertions, 0 deletions
diff --git a/challenge-278/jaldhar-h-vyas/blog.txt b/challenge-278/jaldhar-h-vyas/blog.txt
new file mode 100644
index 0000000000..e7b576af23
--- /dev/null
+++ b/challenge-278/jaldhar-h-vyas/blog.txt
@@ -0,0 +1 @@
+https://www.braincells.com/perl/2024/07/perl_weekly_challenge_week_278.html
diff --git a/challenge-278/jaldhar-h-vyas/perl/ch-1.pl b/challenge-278/jaldhar-h-vyas/perl/ch-1.pl
new file mode 100755
index 0000000000..bfb294ce10
--- /dev/null
+++ b/challenge-278/jaldhar-h-vyas/perl/ch-1.pl
@@ -0,0 +1,12 @@
+#!/usr/bin/perl
+use v5.38;
+
+my $str = shift;
+my %order;
+
+for my $w (split /\s+/, $str) {
+ my ($word, $pos) = $w =~ /(.+)(\d+)/;
+ $order{$pos} = $word;
+}
+
+say join q{ }, map { $order{$_} } sort keys %order;
diff --git a/challenge-278/jaldhar-h-vyas/perl/ch-2.sh b/challenge-278/jaldhar-h-vyas/perl/ch-2.sh
new file mode 100755
index 0000000000..67206abbd0
--- /dev/null
+++ b/challenge-278/jaldhar-h-vyas/perl/ch-2.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+perl -E '$ARGV[0]=~s{(.+$ARGV[1])(.+)}{(join q{},sort split//, $1).$2}e;say $ARGV[0]' "$@"
diff --git a/challenge-278/jaldhar-h-vyas/raku/ch-1.raku b/challenge-278/jaldhar-h-vyas/raku/ch-1.raku
new file mode 100755
index 0000000000..6957089901
--- /dev/null
+++ b/challenge-278/jaldhar-h-vyas/raku/ch-1.raku
@@ -0,0 +1,14 @@
+#!/usr/bin/raku
+
+sub MAIN(
+ $str
+) {
+ my %order;
+
+ for $str.words -> $w {
+ my ($word, $pos) = $w.match(/ (.+)(\d+) /).List;
+ %order{$pos} = $word;
+ }
+
+ %order.keys.sort.map({ %order{$_} }).join(q{ }).say;
+} \ No newline at end of file
diff --git a/challenge-278/jaldhar-h-vyas/raku/ch-2.sh b/challenge-278/jaldhar-h-vyas/raku/ch-2.sh
new file mode 100755
index 0000000000..c1a2c5e28d
--- /dev/null
+++ b/challenge-278/jaldhar-h-vyas/raku/ch-2.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+raku -e 'say S|(.+$(@*ARGS[1]))?(.+)|$(($0//q{}).split(q{}).sort.join~($1//q{}))| with @*ARGS[0]' "$@"