aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad Sajid Anwar <Mohammad.Anwar@yahoo.com>2025-11-17 03:19:10 +0000
committerGitHub <noreply@github.com>2025-11-17 03:19:10 +0000
commitdbdce3486560bc5297f995e795270c9f87fc9f50 (patch)
treee490c398b86e79b0dfce941adc2e41e9c72f2b65
parent1d28114efdfebf0b9e2fa3bfbb9eb84cf6095c05 (diff)
parentbf60329be00b15425b5861bd5f75f99039d59d8b (diff)
downloadperlweeklychallenge-club-dbdce3486560bc5297f995e795270c9f87fc9f50.tar.gz
perlweeklychallenge-club-dbdce3486560bc5297f995e795270c9f87fc9f50.tar.bz2
perlweeklychallenge-club-dbdce3486560bc5297f995e795270c9f87fc9f50.zip
Merge pull request #13039 from jaldhar/challenge-347
Challenge 347 by Jaldhar H. Vyas.
-rw-r--r--challenge-347/jaldhar-h-vyas/blog.txt1
-rwxr-xr-xchallenge-347/jaldhar-h-vyas/perl/ch-1.pl9
-rwxr-xr-xchallenge-347/jaldhar-h-vyas/perl/ch-2.pl15
-rwxr-xr-xchallenge-347/jaldhar-h-vyas/raku/ch-1.raku24
-rwxr-xr-xchallenge-347/jaldhar-h-vyas/raku/ch-2.raku15
5 files changed, 64 insertions, 0 deletions
diff --git a/challenge-347/jaldhar-h-vyas/blog.txt b/challenge-347/jaldhar-h-vyas/blog.txt
new file mode 100644
index 0000000000..1a547c5ce9
--- /dev/null
+++ b/challenge-347/jaldhar-h-vyas/blog.txt
@@ -0,0 +1 @@
+https://www.braincells.com/perl/2025/11/perl_weekly_challenge_week_347.html
diff --git a/challenge-347/jaldhar-h-vyas/perl/ch-1.pl b/challenge-347/jaldhar-h-vyas/perl/ch-1.pl
new file mode 100755
index 0000000000..cb69ff1843
--- /dev/null
+++ b/challenge-347/jaldhar-h-vyas/perl/ch-1.pl
@@ -0,0 +1,9 @@
+#!/usr/bin/perl
+use 5.038;
+use warnings;
+use Time::Piece;
+
+my $str = shift;
+$str =~ s/st|nd|rd|th//;
+
+say Time::Piece->strptime($str, '%d %b %Y')->ymd; \ No newline at end of file
diff --git a/challenge-347/jaldhar-h-vyas/perl/ch-2.pl b/challenge-347/jaldhar-h-vyas/perl/ch-2.pl
new file mode 100755
index 0000000000..01283c71ba
--- /dev/null
+++ b/challenge-347/jaldhar-h-vyas/perl/ch-2.pl
@@ -0,0 +1,15 @@
+#!/usr/bin/perl
+use 5.038;
+use warnings;
+
+my $phone = shift;
+
+$phone =~ s/[ \-]//g;
+my @groups = $phone =~ /.{1,3}/g;
+
+if (length $groups[-1] == 1) {
+ $groups[-2] =~ s/(.)$//;
+ $groups[-1] = "$1$groups[-1]";
+}
+
+say join q{-}, @groups;
diff --git a/challenge-347/jaldhar-h-vyas/raku/ch-1.raku b/challenge-347/jaldhar-h-vyas/raku/ch-1.raku
new file mode 100755
index 0000000000..f0a730c6a1
--- /dev/null
+++ b/challenge-347/jaldhar-h-vyas/raku/ch-1.raku
@@ -0,0 +1,24 @@
+#!/usr/bin/raku
+
+sub MAIN(
+ $str
+) {
+ my %months = (
+ Jan => '01',
+ Feb => '02',
+ Mar => '03',
+ Apr => '04',
+ May => '05',
+ Jun => '06',
+ Jul => '07',
+ Aug => '08',
+ Sep => '09',
+ Oct => '10',
+ Nov => '11',
+ Dec => '12'
+ );
+ my $date = S:g/(st|nd|rd|th)// given $str;
+ my ($day, $month, $year) = $date.words;
+
+ Date.new($year, %months{$month}, $day).say;
+} \ No newline at end of file
diff --git a/challenge-347/jaldhar-h-vyas/raku/ch-2.raku b/challenge-347/jaldhar-h-vyas/raku/ch-2.raku
new file mode 100755
index 0000000000..8a230992da
--- /dev/null
+++ b/challenge-347/jaldhar-h-vyas/raku/ch-2.raku
@@ -0,0 +1,15 @@
+#!/usr/bin/raku
+
+sub MAIN(
+ $phone
+) {
+ my $formatted = S:g/' ' || \-// given $phone;
+ my @groups = $formatted.comb(3);
+
+ if @groups[*-1].chars == 1 {
+ @groups[*-2] = @groups[*-2].subst(/(.)$/, q{});
+ @groups[*-1] = "$0@groups[*-1]";
+ }
+
+ @groups.join(q{-}).say;
+} \ No newline at end of file