aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-331/zapwai/perl/ch-1.pl13
-rw-r--r--challenge-331/zapwai/perl/ch-2.pl34
2 files changed, 47 insertions, 0 deletions
diff --git a/challenge-331/zapwai/perl/ch-1.pl b/challenge-331/zapwai/perl/ch-1.pl
new file mode 100644
index 0000000000..a36cd2d84b
--- /dev/null
+++ b/challenge-331/zapwai/perl/ch-1.pl
@@ -0,0 +1,13 @@
+use v5.38;
+sub proc($str) {
+ say "Input: $str";
+ my @word = split " ", $str;
+ say "Output: ".length($word[$#word]);
+}
+
+my $str = "The Weekly Challenge";
+proc($str);
+$str = " Hello World ";
+proc($str);
+$str = "Let's begin the fun";
+proc($str);
diff --git a/challenge-331/zapwai/perl/ch-2.pl b/challenge-331/zapwai/perl/ch-2.pl
new file mode 100644
index 0000000000..805e58d7b5
--- /dev/null
+++ b/challenge-331/zapwai/perl/ch-2.pl
@@ -0,0 +1,34 @@
+use v5.38;
+sub swappy($src, $tar) {
+ my @s = split '', $src;
+ for my $i (0 .. $#s - 1) {
+ my @new = @s;
+ my $a = $new[$i];
+ $new[$i] = $new[$i+1];
+ $new[$i+1] = $a;
+ my $news = join '', @new;
+ return 1 if ($news eq $tar);
+ }
+ return 0;
+}
+
+sub proc($src, $tar) {
+ say "Input: $src, $tar";
+ if (swappy($src, $tar)) {
+ say "Output: true";
+ } else {
+ say "Output: false";
+ }
+}
+
+my $src = "fcuk";
+my $tar = "fuck";
+proc($src, $tar);
+
+$src = "love";
+$tar = "love";
+proc($src, $tar);
+
+$src = "fodo";
+$tar = "food";
+proc($src, $tar);