diff options
| author | Mohammad Sajid Anwar <Mohammad.Anwar@yahoo.com> | 2025-11-17 03:19:10 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-11-17 03:19:10 +0000 |
| commit | dbdce3486560bc5297f995e795270c9f87fc9f50 (patch) | |
| tree | e490c398b86e79b0dfce941adc2e41e9c72f2b65 | |
| parent | 1d28114efdfebf0b9e2fa3bfbb9eb84cf6095c05 (diff) | |
| parent | bf60329be00b15425b5861bd5f75f99039d59d8b (diff) | |
| download | perlweeklychallenge-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.txt | 1 | ||||
| -rwxr-xr-x | challenge-347/jaldhar-h-vyas/perl/ch-1.pl | 9 | ||||
| -rwxr-xr-x | challenge-347/jaldhar-h-vyas/perl/ch-2.pl | 15 | ||||
| -rwxr-xr-x | challenge-347/jaldhar-h-vyas/raku/ch-1.raku | 24 | ||||
| -rwxr-xr-x | challenge-347/jaldhar-h-vyas/raku/ch-2.raku | 15 |
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 |
