diff options
| -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; |
