diff options
| author | Mohammad Sajid Anwar <Mohammad.Anwar@yahoo.com> | 2024-01-31 13:04:16 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-01-31 13:04:16 +0000 |
| commit | 45be1794376135a6b801530cebd2a29b04ca715d (patch) | |
| tree | c2c53e21477bb53ee707fe8fc9f35c38bb16494e | |
| parent | 233588c3a15107cf8e5ad35a7bdcd3534ae2242f (diff) | |
| parent | 9f5a6b4518271be9a6eafc81ea341add51686490 (diff) | |
| download | perlweeklychallenge-club-45be1794376135a6b801530cebd2a29b04ca715d.tar.gz perlweeklychallenge-club-45be1794376135a6b801530cebd2a29b04ca715d.tar.bz2 perlweeklychallenge-club-45be1794376135a6b801530cebd2a29b04ca715d.zip | |
Merge pull request #9482 from PerlBoy1967/branch-for-challenge-254
w254 - Task 1 & 2
| -rwxr-xr-x | challenge-254/perlboy1967/perl/ch1.pl | 36 | ||||
| -rwxr-xr-x | challenge-254/perlboy1967/perl/ch2.pl | 36 |
2 files changed, 72 insertions, 0 deletions
diff --git a/challenge-254/perlboy1967/perl/ch1.pl b/challenge-254/perlboy1967/perl/ch1.pl new file mode 100755 index 0000000000..68c055158f --- /dev/null +++ b/challenge-254/perlboy1967/perl/ch1.pl @@ -0,0 +1,36 @@ +#!/bin/perl + +=pod + +The Weekly Challenge - 254 +- https://theweeklychallenge.org/blog/perl-weekly-challenge-254 + +Author: Niels 'PerlBoy' van Dijke + +Task 1: Three Power +Submitted by: Mohammad S Anwar + +You are given a positive integer, $n. + +Write a script to return true if the given integer is a power of three otherwise return false. + +=cut + +use v5.32; +use feature qw(signatures); +use common::sense; + +use Test2::V0; + +sub isPowerN ($n,$base) { + return 1 if $n == 0; + my $r = $n ** (1/$base); + $r =~ m#^\d+$# ? 1 : 0; +} + + +is(isPowerN($_,3),1,"isPowerN($_,3) == 1") for (0,1,8,27,64); +is(isPowerN($_,3),0,"isPowerN($_,3) == 0") for (2,7,9,26,28,63,65); +is(isPowerN($_,5),1,"isPowerN($_,5) == 1") for (1,32,243); + +done_testing; diff --git a/challenge-254/perlboy1967/perl/ch2.pl b/challenge-254/perlboy1967/perl/ch2.pl new file mode 100755 index 0000000000..2af8efbfb6 --- /dev/null +++ b/challenge-254/perlboy1967/perl/ch2.pl @@ -0,0 +1,36 @@ +#!/bin/perl + +=pod + +The Weekly Challenge - 254 +- https://theweeklychallenge.org/blog/perl-weekly-challenge-254 + +Author: Niels 'PerlBoy' van Dijke + +Task 2: Reverse Vowels +Submitted by: Mohammad S Anwar + +You are given a string, $s. + +Write a script to reverse all the vowels (a, e, i, o, u) in the given string. + +=cut + +use v5.32; +use feature qw(signatures); +use common::sense; + +use Test2::V0; + +sub reverseVowels ($str) { + my @v = $str =~ m/(?i)[aeiou]/g; + ucfirst lc $str =~ s/(?i)[aeiou]/pop @v/egr; +} + + +is(reverseVowels('Raku'),'Ruka'); +is(reverseVowels('Perl'),'Perl'); +is(reverseVowels('Julia'),'Jaliu'); +is(reverseVowels('Uiua'),'Auiu'); + +done_testing; |
