diff options
| author | chirvasitua <stuart-little@users.noreply.github.com> | 2021-03-22 08:34:03 -0400 |
|---|---|---|
| committer | chirvasitua <stuart-little@users.noreply.github.com> | 2021-03-22 19:11:32 -0400 |
| commit | dd5ec40c2b036fdfdfa63b3751542fd0e1aa5b96 (patch) | |
| tree | 9258fe3ce996fdba27e0b1abb2dd4c9f4212574a | |
| parent | 7c2d89ebc351875ef67e4e351cbb8d813852d8fe (diff) | |
| download | perlweeklychallenge-club-dd5ec40c2b036fdfdfa63b3751542fd0e1aa5b96.tar.gz perlweeklychallenge-club-dd5ec40c2b036fdfdfa63b3751542fd0e1aa5b96.tar.bz2 perlweeklychallenge-club-dd5ec40c2b036fdfdfa63b3751542fd0e1aa5b96.zip | |
1st commit on 105_perl
| -rwxr-xr-x | challenge-105/stuart-little/perl/ch-1.pl | 16 | ||||
| -rwxr-xr-x | challenge-105/stuart-little/perl/ch-2.pl | 25 |
2 files changed, 41 insertions, 0 deletions
diff --git a/challenge-105/stuart-little/perl/ch-1.pl b/challenge-105/stuart-little/perl/ch-1.pl new file mode 100755 index 0000000000..50beff816c --- /dev/null +++ b/challenge-105/stuart-little/perl/ch-1.pl @@ -0,0 +1,16 @@ +#!/usr/bin/perl +use warnings; +use v5.12; + +# run <script> <exponent> <number> + +use feature qw(signatures); +no warnings qw(experimental::signatures); + +sub nthRoot($exp,$nr) { + my $rootFloor = 1; + while (($rootFloor+1)**$exp <= $nr) {$rootFloor++}; + return ($rootFloor ** $exp == $nr) ? ($rootFloor) : (exp ((log $nr)/$exp)) +} + +say nthRoot(@ARGV[0,1]); diff --git a/challenge-105/stuart-little/perl/ch-2.pl b/challenge-105/stuart-little/perl/ch-2.pl new file mode 100755 index 0000000000..5266f1f35b --- /dev/null +++ b/challenge-105/stuart-little/perl/ch-2.pl @@ -0,0 +1,25 @@ +#!/usr/bin/perl +use warnings; +use v5.12; + +# run <script> <name> + +use feature qw(signatures); +no warnings qw(experimental::signatures); + +sub ellis($c,$name) { + qq|${\ do{$c}}o-| . (($c eq substr(lc $name,0,1)) ? (substr($name,1)) : ($c . substr($name,1))); +} + +sub verse($name) { + my $main = ucfirst($name); + my $verse=<<"END"; +$main, $main, ${\ do {ellis('b',$main)}} +Bonana-fanna ${\ do {ellis('f',$main)}} +Fee fi ${\ do {ellis('m',$main)}} +$main! +END + return $verse; +} + +say verse($ARGV[0]); |
