aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad Sajid Anwar <Mohammad.Anwar@yahoo.com>2025-11-11 13:47:40 +0000
committerGitHub <noreply@github.com>2025-11-11 13:47:40 +0000
commitf1569a76c2d78eec5b2e646d47724922336978da (patch)
tree4ca221793582594a0466e061ce5ec6333498962b
parentde3c251353838331b46f957ef52be398086de189 (diff)
parent49388d434dba7f86ba30becfb1afdc1fa3909b81 (diff)
downloadperlweeklychallenge-club-f1569a76c2d78eec5b2e646d47724922336978da.tar.gz
perlweeklychallenge-club-f1569a76c2d78eec5b2e646d47724922336978da.tar.bz2
perlweeklychallenge-club-f1569a76c2d78eec5b2e646d47724922336978da.zip
Merge pull request #13011 from kjetillll/challenge-347-kjetillll
https://theweeklychallenge.org/blog/perl-weekly-challenge-347/
-rw-r--r--challenge-347/kjetillll/perl/ch-1.pl13
-rw-r--r--challenge-347/kjetillll/perl/ch-2.pl15
2 files changed, 28 insertions, 0 deletions
diff --git a/challenge-347/kjetillll/perl/ch-1.pl b/challenge-347/kjetillll/perl/ch-1.pl
new file mode 100644
index 0000000000..8505fd31cf
--- /dev/null
+++ b/challenge-347/kjetillll/perl/ch-1.pl
@@ -0,0 +1,13 @@
+
+sub f {
+ pop() =~ /^(\d+)\w* (\w\w\w )(\d{4})/ or die;
+ my $m = 1 + index('Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec ', $2) / 4;
+ sprintf "$3-%02d-%02d", $m || die, $1
+}
+
+use Test::More tests => 5;
+is f("1st Jan 2025"), "2025-01-01";
+is f("22nd Feb 2025"), "2025-02-22";
+is f("15th Apr 2025"), "2025-04-15";
+is f("23rd Oct 2025"), "2025-10-23";
+is f("31st Dec 2025"), "2025-12-31";
diff --git a/challenge-347/kjetillll/perl/ch-2.pl b/challenge-347/kjetillll/perl/ch-2.pl
new file mode 100644
index 0000000000..9fbce101b1
--- /dev/null
+++ b/challenge-347/kjetillll/perl/ch-2.pl
@@ -0,0 +1,15 @@
+sub f {
+ pop()
+ =~ s/\D//gr
+ =~ s/\d{3}/$&-/gr
+ =~ s/-$//gr
+ =~ s/(\d)-(\d)$/-$1$2/gr
+}
+
+use Test::More tests => 5;
+is f("1-23-45-6"), "123-456";
+is f("1234"), "12-34";
+is f("12 345-6789"), "123-456-789";
+is f("123 4567"), "123-45-67";
+is f("123 456-78"), "123-456-78";
+