aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad Sajid Anwar <Mohammad.Anwar@yahoo.com>2024-02-05 20:52:03 +0000
committerGitHub <noreply@github.com>2024-02-05 20:52:03 +0000
commitfbdf9e745f0ca6ff5d26892002c63de914325cf8 (patch)
treeb9ab1438e97008ebd40d6c57419c8192aa9d6708
parent308775b9181479af42e5e407efbff5d4607dcbd2 (diff)
parent235245168d85bfa2adcf65582e2a030c72cefc94 (diff)
downloadperlweeklychallenge-club-fbdf9e745f0ca6ff5d26892002c63de914325cf8.tar.gz
perlweeklychallenge-club-fbdf9e745f0ca6ff5d26892002c63de914325cf8.tar.bz2
perlweeklychallenge-club-fbdf9e745f0ca6ff5d26892002c63de914325cf8.zip
Merge pull request #9530 from kjetillll/challenge-254-kjetillll
https://theweeklychallenge.org/blog/perl-weekly-challenge-254/
-rw-r--r--challenge-254/kjetillll/perl/ch-1.pl13
-rw-r--r--challenge-254/kjetillll/perl/ch-2.pl18
2 files changed, 31 insertions, 0 deletions
diff --git a/challenge-254/kjetillll/perl/ch-1.pl b/challenge-254/kjetillll/perl/ch-1.pl
new file mode 100644
index 0000000000..56d103140d
--- /dev/null
+++ b/challenge-254/kjetillll/perl/ch-1.pl
@@ -0,0 +1,13 @@
+sub is_three_power {
+ my $n = shift;
+ my $try = $n**(1/3);
+ int($try) ** 3 == $n or
+ int($try+1) ** 3 == $n;
+}
+
+use Test::More;
+ok( is_three_power(27) );
+ok( is_three_power(0) );
+ok(!is_three_power(6) );
+ok( is_three_power($_**3), "$_^3 = ".($_**3) ) for map int( $_ * rand 1e7 ), 0..10;
+done_testing;
diff --git a/challenge-254/kjetillll/perl/ch-2.pl b/challenge-254/kjetillll/perl/ch-2.pl
new file mode 100644
index 0000000000..a64ec3a23e
--- /dev/null
+++ b/challenge-254/kjetillll/perl/ch-2.pl
@@ -0,0 +1,18 @@
+sub reverse_vowels {
+ pop =~ s/[aeiou]/ push @_, $&; $& /geir
+ =~ s/[aeiou]/ $& eq lc$& ? lc pop : uc pop /geir
+}
+
+use Test::More;
+is( reverse_vowels('Raku') => 'Ruka' );
+is( reverse_vowels('Perl') => 'Perl' );
+is( reverse_vowels('Julia') => 'Jaliu' );
+is( reverse_vowels('Uiua') => 'Auiu' );
+is( reverse_vowels('Queue') => 'Qeueu' );
+is( reverse_vowels('Queen') => 'Qeeun' );
+is( reverse_vowels('Audio') => 'Oidua' );
+is( reverse_vowels('Suave') => 'Seavu' );
+is( reverse_vowels('Euouae') => 'Eauoue' );
+is( reverse_vowels('non-antidisestablishmentarianismistically to say the least')
+ => 'nan-entedasostablishmintirainasmestically te siy thi laost' );
+done_testing;