aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorchirvasitua <stuart-little@users.noreply.github.com>2021-05-10 13:55:32 -0400
committerchirvasitua <stuart-little@users.noreply.github.com>2021-05-10 13:55:32 -0400
commit585840f99f844b429ad0c963733751aa33bcd532 (patch)
treed449b94193c0c89c404f01c7bb0d8f2dd652cb3b
parent765d55c53dabebcd6b5832e3396e6d4fdcbb56e1 (diff)
downloadperlweeklychallenge-club-585840f99f844b429ad0c963733751aa33bcd532.tar.gz
perlweeklychallenge-club-585840f99f844b429ad0c963733751aa33bcd532.tar.bz2
perlweeklychallenge-club-585840f99f844b429ad0c963733751aa33bcd532.zip
1st commit on 112_perl
-rwxr-xr-xchallenge-112/stuart-little/perl/ch-1.pl9
-rwxr-xr-xchallenge-112/stuart-little/perl/ch-2.pl28
2 files changed, 37 insertions, 0 deletions
diff --git a/challenge-112/stuart-little/perl/ch-1.pl b/challenge-112/stuart-little/perl/ch-1.pl
new file mode 100755
index 0000000000..d43271e650
--- /dev/null
+++ b/challenge-112/stuart-little/perl/ch-1.pl
@@ -0,0 +1,9 @@
+#!/usr/bin/perl
+use warnings;
+use v5.12;
+
+# run <script> <path>
+
+use Path::Resolve;
+
+say Path::Resolve->new()->resolve($ARGV[0]);
diff --git a/challenge-112/stuart-little/perl/ch-2.pl b/challenge-112/stuart-little/perl/ch-2.pl
new file mode 100755
index 0000000000..78e986f4c3
--- /dev/null
+++ b/challenge-112/stuart-little/perl/ch-2.pl
@@ -0,0 +1,28 @@
+#!/usr/bin/perl
+use warnings;
+use v5.12;
+
+# run <script> <number>
+
+use feature qw(signatures);
+no warnings qw(experimental::signatures);
+
+my %memo=(
+ 1 => [[1,],],
+ 2 => [[1,1],[2,]]
+);
+
+sub memoSteps($n) {
+ (! exists $memo{$n}) && do {
+ my @prevTot = ((map {my @ar = (1,@{$_}); \@ar} @{memoSteps($n-1)}), (map {my @ar = (2,@{$_}); \@ar} @{memoSteps($n-2)}));
+ $memo{$n} = \@prevTot;
+ };
+ return $memo{$n};
+}
+
+my @res = @{memoSteps($ARGV[0])};
+say scalar @res, "\n", "-" x 10;
+
+for (@res) {
+ say "@{$_}";
+}