aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKjetilS <kjetilskotheim@gmail.com>2025-09-24 22:17:47 +0200
committerKjetilS <kjetilskotheim@gmail.com>2025-09-24 22:17:47 +0200
commit25edfe826e2c2a5dadb25bef935d53242647e0a8 (patch)
tree8ea8dea6f6fbf12a8396b6346e27e507a1c4ee01
parent9231f63151272eaf5dd2b0c0e7f06dd2c045b095 (diff)
downloadperlweeklychallenge-club-25edfe826e2c2a5dadb25bef935d53242647e0a8.tar.gz
perlweeklychallenge-club-25edfe826e2c2a5dadb25bef935d53242647e0a8.tar.bz2
perlweeklychallenge-club-25edfe826e2c2a5dadb25bef935d53242647e0a8.zip
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";
+
+