aboutsummaryrefslogtreecommitdiff
path: root/challenge-254
diff options
context:
space:
mode:
authorMohammad Sajid Anwar <Mohammad.Anwar@yahoo.com>2024-01-31 13:04:16 +0000
committerGitHub <noreply@github.com>2024-01-31 13:04:16 +0000
commit45be1794376135a6b801530cebd2a29b04ca715d (patch)
treec2c53e21477bb53ee707fe8fc9f35c38bb16494e /challenge-254
parent233588c3a15107cf8e5ad35a7bdcd3534ae2242f (diff)
parent9f5a6b4518271be9a6eafc81ea341add51686490 (diff)
downloadperlweeklychallenge-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
Diffstat (limited to 'challenge-254')
-rwxr-xr-xchallenge-254/perlboy1967/perl/ch1.pl36
-rwxr-xr-xchallenge-254/perlboy1967/perl/ch2.pl36
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;