diff options
| author | Mohammad Sajid Anwar <Mohammad.Anwar@yahoo.com> | 2025-11-11 13:47:40 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-11-11 13:47:40 +0000 |
| commit | f1569a76c2d78eec5b2e646d47724922336978da (patch) | |
| tree | 4ca221793582594a0466e061ce5ec6333498962b | |
| parent | de3c251353838331b46f957ef52be398086de189 (diff) | |
| parent | 49388d434dba7f86ba30becfb1afdc1fa3909b81 (diff) | |
| download | perlweeklychallenge-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.pl | 13 | ||||
| -rw-r--r-- | challenge-347/kjetillll/perl/ch-2.pl | 15 |
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"; + |
