aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad Sajid Anwar <Mohammad.Anwar@yahoo.com>2025-07-22 00:19:26 +0100
committerGitHub <noreply@github.com>2025-07-22 00:19:26 +0100
commit0e28495f6326206c40a97822f6556953c0d89f04 (patch)
treee2573ee0befd4a14574bf76bc6cdceedb935998c
parentdc925ce12b5ee07bdde7653d84afea61e445ad23 (diff)
parent2a1495b99a027801a82f3df4c524188e451d8664 (diff)
downloadperlweeklychallenge-club-0e28495f6326206c40a97822f6556953c0d89f04.tar.gz
perlweeklychallenge-club-0e28495f6326206c40a97822f6556953c0d89f04.tar.bz2
perlweeklychallenge-club-0e28495f6326206c40a97822f6556953c0d89f04.zip
Merge pull request #12381 from akarelas/pr-akarelas
solutions to 331
-rwxr-xr-xchallenge-331/alexander-karelas/perl/ch-1.pl16
-rwxr-xr-xchallenge-331/alexander-karelas/perl/ch-2.pl21
2 files changed, 37 insertions, 0 deletions
diff --git a/challenge-331/alexander-karelas/perl/ch-1.pl b/challenge-331/alexander-karelas/perl/ch-1.pl
new file mode 100755
index 0000000000..392c84dcf8
--- /dev/null
+++ b/challenge-331/alexander-karelas/perl/ch-1.pl
@@ -0,0 +1,16 @@
+#!/usr/bin/env perl
+
+use v5.42;
+
+use Test2::V0;
+
+sub ll ($string) {
+ my ($word) = $string =~ /(\w+)\s*\z/;
+ return length $word;
+}
+
+is ll("The Weekly Challenge"), 9, 'Example 1';
+is ll(" Hello World "), 5, 'Example 2';
+is ll("Let's begin the fun"), 3, 'Example 3';
+
+done_testing;
diff --git a/challenge-331/alexander-karelas/perl/ch-2.pl b/challenge-331/alexander-karelas/perl/ch-2.pl
new file mode 100755
index 0000000000..5ca3d6029d
--- /dev/null
+++ b/challenge-331/alexander-karelas/perl/ch-2.pl
@@ -0,0 +1,21 @@
+#!/usr/bin/env perl
+
+use v5.42;
+
+use Test2::V0;
+
+sub buddy_strings ($str1, $str2) {
+ $str1 ne $str2 or return $str1 =~ /(\w).*\1/;
+ my @l = map [split //, $_], $str1, $str2;
+ $l[0]->@* == $l[1]->@* or return false;
+
+ my @diffs = grep { $_ !~ /(\w)\1/ } map "$l[0][$_]$l[1][$_]", 0 .. $#{$l[0]};
+ return @diffs == 2 && $diffs[0] eq reverse $diffs[1];
+}
+
+is buddy_strings('fuck', 'fcuk'), true, 'Example 1';
+is buddy_strings('love', 'love'), false, 'Example 2';
+is buddy_strings('fodo', 'food'), true, 'Example 3';
+is buddy_strings('feed', 'feed'), true, 'Example 4';
+
+done_testing;