From b9918afa6541dd8fb9b4080c1670a4d2f7fc5fbc Mon Sep 17 00:00:00 2001 From: Lars Balker Date: Tue, 10 Sep 2019 17:11:12 +0200 Subject: 25 ch1 --- challenge-025/lars-balker/perl5/ch-1.pl | 41 +++++++++++++++++++++++++++++++++ challenge-025/lars-balker/perl5/ch-2.pl | 9 ++++++++ 2 files changed, 50 insertions(+) create mode 100644 challenge-025/lars-balker/perl5/ch-1.pl create mode 100644 challenge-025/lars-balker/perl5/ch-2.pl diff --git a/challenge-025/lars-balker/perl5/ch-1.pl b/challenge-025/lars-balker/perl5/ch-1.pl new file mode 100644 index 0000000000..c8715b78a7 --- /dev/null +++ b/challenge-025/lars-balker/perl5/ch-1.pl @@ -0,0 +1,41 @@ +#!/usr/bin/env perl + +use v5.20; +use strict; +use warnings; + +# Generate a longest sequence of the following “English Pokemon” names +# where each name starts with the last letter of previous name. + +my @names = qw/ + audino bagon baltoy banette bidoof braviary bronzor carracosta + charmeleon cresselia croagunk darmanitan deino emboar emolga + exeggcute gabite girafarig gulpin haxorus heatmor heatran ivysaur + jellicent jumpluff kangaskhan kricketune landorus ledyba loudred + lumineon lunatone machamp magnezone mamoswine nosepass petilil + pidgeotto pikachu pinsir poliwrath poochyena porygon2 porygonz + registeel relicanth remoraid rufflet sableye scolipede scrafty + seaking sealeo silcoon simisear snivy snorlax spoink starly + tirtouga trapinch treecko tyrogue vigoroth vulpix wailord + wartortle whismur wingull yamask +/; + +my $longest = []; + +try([], "", @names); + +say "@$longest"; + +# naive O(n^2) recursion +sub try { + my ($picks, $prefix, @rest) = @_; + + $longest = $picks if @$picks > @$longest; + + for (my $i = 0; $i < @rest; ++$i) { + next unless $rest[$i] =~ /^$prefix/; + try([@$picks, $rest[$i]], + substr($rest[$i], -1), + @rest[0..$i-1, $i+1..$#rest]); + } +} diff --git a/challenge-025/lars-balker/perl5/ch-2.pl b/challenge-025/lars-balker/perl5/ch-2.pl new file mode 100644 index 0000000000..b761386dc7 --- /dev/null +++ b/challenge-025/lars-balker/perl5/ch-2.pl @@ -0,0 +1,9 @@ +#!/usr/bin/env perl + +use v5.20; +use strict; +use warnings; + +# Create script to implement Chaocipher. Please checkout +# https://en.wikipedia.org/wiki/Chaocipher for more information. + -- cgit From 99abbb4bf4a84af167e361310393eb30dc1e2bb7 Mon Sep 17 00:00:00 2001 From: Lars Balker Date: Tue, 17 Sep 2019 12:41:38 +0200 Subject: fix --- challenge-025/lars-balker/perl5/ch-1.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/challenge-025/lars-balker/perl5/ch-1.pl b/challenge-025/lars-balker/perl5/ch-1.pl index c8715b78a7..f0d6584bc9 100644 --- a/challenge-025/lars-balker/perl5/ch-1.pl +++ b/challenge-025/lars-balker/perl5/ch-1.pl @@ -26,7 +26,7 @@ try([], "", @names); say "@$longest"; -# naive O(n^2) recursion +# naive brute force recursion sub try { my ($picks, $prefix, @rest) = @_; -- cgit From dc091e2c7ba1241a528a60620dad43e79e0350f3 Mon Sep 17 00:00:00 2001 From: Lars Balker Date: Tue, 22 Oct 2019 13:19:32 +0200 Subject: challenge 31 perl5 --- challenge-031/lars-balker/perl5/ch-1.pl | 9 +++++++++ challenge-031/lars-balker/perl5/ch-2.pl | 9 +++++++++ 2 files changed, 18 insertions(+) create mode 100644 challenge-031/lars-balker/perl5/ch-1.pl create mode 100644 challenge-031/lars-balker/perl5/ch-2.pl diff --git a/challenge-031/lars-balker/perl5/ch-1.pl b/challenge-031/lars-balker/perl5/ch-1.pl new file mode 100644 index 0000000000..b0e5a60b77 --- /dev/null +++ b/challenge-031/lars-balker/perl5/ch-1.pl @@ -0,0 +1,9 @@ +sub div { + my ($num, $denom) = @_; + my $res; + eval { $res = $num / $denom; }; + return $res // "divide by zero error" +} + +say div(1,0); +say div(1,1)' diff --git a/challenge-031/lars-balker/perl5/ch-2.pl b/challenge-031/lars-balker/perl5/ch-2.pl new file mode 100644 index 0000000000..605bb93eb1 --- /dev/null +++ b/challenge-031/lars-balker/perl5/ch-2.pl @@ -0,0 +1,9 @@ +use v5.10; +use warnings; +use strict; + +my $var = shift // die "usage: $0 "; + +no strict 'refs'; # we're specifically abusing this feature +$$var = $var; +say $$var; -- cgit From a6940ae3c8e2087107100d68eb252cd9d57386b4 Mon Sep 17 00:00:00 2001 From: Lars Balker Date: Tue, 22 Oct 2019 13:25:27 +0200 Subject: empty file deleted --- challenge-025/lars-balker/perl5/ch-2.pl | 9 --------- 1 file changed, 9 deletions(-) delete mode 100644 challenge-025/lars-balker/perl5/ch-2.pl diff --git a/challenge-025/lars-balker/perl5/ch-2.pl b/challenge-025/lars-balker/perl5/ch-2.pl deleted file mode 100644 index b761386dc7..0000000000 --- a/challenge-025/lars-balker/perl5/ch-2.pl +++ /dev/null @@ -1,9 +0,0 @@ -#!/usr/bin/env perl - -use v5.20; -use strict; -use warnings; - -# Create script to implement Chaocipher. Please checkout -# https://en.wikipedia.org/wiki/Chaocipher for more information. - -- cgit