aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad Sajid Anwar <Mohammad.Anwar@yahoo.com>2025-09-25 20:10:22 +0100
committerGitHub <noreply@github.com>2025-09-25 20:10:22 +0100
commit0f904527e0a7729ba0a128dd409c5aa3aef7db90 (patch)
tree8ea8dea6f6fbf12a8396b6346e27e507a1c4ee01
parent9231f63151272eaf5dd2b0c0e7f06dd2c045b095 (diff)
parent25edfe826e2c2a5dadb25bef935d53242647e0a8 (diff)
downloadperlweeklychallenge-club-0f904527e0a7729ba0a128dd409c5aa3aef7db90.tar.gz
perlweeklychallenge-club-0f904527e0a7729ba0a128dd409c5aa3aef7db90.tar.bz2
perlweeklychallenge-club-0f904527e0a7729ba0a128dd409c5aa3aef7db90.zip
Merge pull request #12734 from kjetillll/challenge-340-kjetillll
https://theweeklychallenge.org/blog/perl-weekly-challenge-340/
-rw-r--r--challenge-340/kjetillll/perl/ch-1.pl7
-rw-r--r--challenge-340/kjetillll/perl/ch-2.pl11
2 files changed, 18 insertions, 0 deletions
diff --git a/challenge-340/kjetillll/perl/ch-1.pl b/challenge-340/kjetillll/perl/ch-1.pl
new file mode 100644
index 0000000000..c14bba0484
--- /dev/null
+++ b/challenge-340/kjetillll/perl/ch-1.pl
@@ -0,0 +1,7 @@
+sub f { $_[0] =~ /(.)\1/ ? f( $` . $' ) : pop }
+
+print f('abbaca') eq 'ca' ? "ok\n" : "error\n";
+print f('azxxzy') eq 'ay' ? "ok\n" : "error\n";
+print f('aaaaaaaa') eq '' ? "ok\n" : "error\n";
+print f('aabccba') eq 'a' ? "ok\n" : "error\n";
+print f('abcddcba') eq '' ? "ok\n" : "error\n";
diff --git a/challenge-340/kjetillll/perl/ch-2.pl b/challenge-340/kjetillll/perl/ch-2.pl
new file mode 100644
index 0000000000..9512da15b1
--- /dev/null
+++ b/challenge-340/kjetillll/perl/ch-2.pl
@@ -0,0 +1,11 @@
+use List::Util 'uniq';
+
+sub f { my @nums = pop =~ /\d+/g; "@{[ uniq sort { $a <=> $b } @nums ]}" eq "@nums" }
+
+print f("The cat has 3 kittens 7 toys 10 beds") == 1 ? "ok\n" : "error\n";
+print f('Alice bought 5 apples 2 oranges 9 bananas') == 0 ? "ok\n" : "error\n";
+print f('I ran 1 mile 2 days 3 weeks 4 months') == 1 ? "ok\n" : "error\n";
+print f('Bob has 10 cars 10 bikes') == 0 ? "ok\n" : "error\n";
+print f('Zero is 0 one is 1 two is 2') == 1 ? "ok\n" : "error\n";
+
+