diff options
| author | Kjetil Skotheim <kjetil.skotheim@sikt.no> | 2024-02-05 21:47:11 +0100 |
|---|---|---|
| committer | Kjetil Skotheim <kjetil.skotheim@sikt.no> | 2024-02-05 21:47:11 +0100 |
| commit | 235245168d85bfa2adcf65582e2a030c72cefc94 (patch) | |
| tree | 7a4615a98cc9d6016ac101beca91a5c4cc472ea4 | |
| parent | 04c92115f9c30fedf9839a7d0c2e0705914a35a8 (diff) | |
| download | perlweeklychallenge-club-235245168d85bfa2adcf65582e2a030c72cefc94.tar.gz perlweeklychallenge-club-235245168d85bfa2adcf65582e2a030c72cefc94.tar.bz2 perlweeklychallenge-club-235245168d85bfa2adcf65582e2a030c72cefc94.zip | |
https://theweeklychallenge.org/blog/perl-weekly-challenge-254/
| -rw-r--r-- | challenge-254/kjetillll/perl/ch-1.pl | 13 | ||||
| -rw-r--r-- | challenge-254/kjetillll/perl/ch-2.pl | 18 |
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; |
