aboutsummaryrefslogtreecommitdiff
path: root/challenge-105
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2021-03-24 06:27:11 +0000
committerGitHub <noreply@github.com>2021-03-24 06:27:11 +0000
commitf6d6ef4d24932d766e0a938ab24a7f961f0b8072 (patch)
treeb9de3d95135f1261c64976afae2c428a8ea97f82 /challenge-105
parent52543a25a7b1c9cf3b47c325a64c92368941c8fb (diff)
parentdd5ec40c2b036fdfdfa63b3751542fd0e1aa5b96 (diff)
downloadperlweeklychallenge-club-f6d6ef4d24932d766e0a938ab24a7f961f0b8072.tar.gz
perlweeklychallenge-club-f6d6ef4d24932d766e0a938ab24a7f961f0b8072.tar.bz2
perlweeklychallenge-club-f6d6ef4d24932d766e0a938ab24a7f961f0b8072.zip
Merge pull request #3763 from stuart-little/stuart-little_105_perl
1st commit on 105_perl
Diffstat (limited to 'challenge-105')
-rwxr-xr-xchallenge-105/stuart-little/perl/ch-1.pl16
-rwxr-xr-xchallenge-105/stuart-little/perl/ch-2.pl25
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]);