From 1ebecd71bd0a34b6bf94b246de841a78b3fe3758 Mon Sep 17 00:00:00 2001 From: Roger Bell_West Date: Thu, 30 Jan 2020 16:11:09 +0000 Subject: Solutions to #45. Hope you feel better soon! --- challenge-045/roger-bell-west/perl5/ch-1-decode.pl | 22 +++++++++++++++++ challenge-045/roger-bell-west/perl5/ch-1.pl | 28 ++++++++++++++++++++++ challenge-045/roger-bell-west/perl5/ch-2.pl | 7 ++++++ challenge-045/roger-bell-west/perl6/ch-1.p6 | 26 ++++++++++++++++++++ challenge-045/roger-bell-west/perl6/ch-2.p6 | 6 +++++ 5 files changed, 89 insertions(+) create mode 100755 challenge-045/roger-bell-west/perl5/ch-1-decode.pl create mode 100755 challenge-045/roger-bell-west/perl5/ch-1.pl create mode 100755 challenge-045/roger-bell-west/perl5/ch-2.pl create mode 100755 challenge-045/roger-bell-west/perl6/ch-1.p6 create mode 100755 challenge-045/roger-bell-west/perl6/ch-2.p6 diff --git a/challenge-045/roger-bell-west/perl5/ch-1-decode.pl b/challenge-045/roger-bell-west/perl5/ch-1-decode.pl new file mode 100755 index 0000000000..adc0d37376 --- /dev/null +++ b/challenge-045/roger-bell-west/perl5/ch-1-decode.pl @@ -0,0 +1,22 @@ +#! /usr/bin/perl + +use strict; +use warnings; + +my @in; +while (<>) { + chomp; + push @in,split ' ',$_; +} + +my @out; +foreach my $n (0..length($in[0])-1) { + foreach my $w (@in) { + if (length($w)<$n+1) { + last; + } + push @out,substr($w,$n,1); + } +} + +print join('',@out),"\n"; diff --git a/challenge-045/roger-bell-west/perl5/ch-1.pl b/challenge-045/roger-bell-west/perl5/ch-1.pl new file mode 100755 index 0000000000..8ac68094ee --- /dev/null +++ b/challenge-045/roger-bell-west/perl5/ch-1.pl @@ -0,0 +1,28 @@ +#! /usr/bin/perl + +use strict; +use warnings; + +use Getopt::Std; + +my %o=(n => 8); + +getopts('n:',\%o); + +my $in=''; +while (<>) { + s/\s+//g; + $in.=$_; +} + +my $l=length($in)-1; +my @out; +foreach my $c (0..$o{n}-1) { + my $out; + for (my $k=$c;$k<=$l;$k+=$o{n}) { + $out.=substr($in,$k,1); + } + push @out,$out; +} + +print join(' ',@out),"\n"; diff --git a/challenge-045/roger-bell-west/perl5/ch-2.pl b/challenge-045/roger-bell-west/perl5/ch-2.pl new file mode 100755 index 0000000000..05cc82fffd --- /dev/null +++ b/challenge-045/roger-bell-west/perl5/ch-2.pl @@ -0,0 +1,7 @@ +#! /usr/bin/perl + +use strict; +use warnings; + +open F,$0; +print ; diff --git a/challenge-045/roger-bell-west/perl6/ch-1.p6 b/challenge-045/roger-bell-west/perl6/ch-1.p6 new file mode 100755 index 0000000000..717371c15f --- /dev/null +++ b/challenge-045/roger-bell-west/perl6/ch-1.p6 @@ -0,0 +1,26 @@ +#! /usr/bin/perl6 + +my $n=8; + +my $in=''; + +for lines() { + .chomp; + my $t=$_; + $t ~~ s:g/\s+//; + $in~=$t; +} + +my $l=chars($in)-1; +my @out; +for (0..$n-1) -> $c { + my $out; + my $k=$c; + while ($k <= $l) { + $out~=substr($in,$k,1); + $k+=$n; + } + push @out,$out; +} + +say @out.join(' '); \ No newline at end of file diff --git a/challenge-045/roger-bell-west/perl6/ch-2.p6 b/challenge-045/roger-bell-west/perl6/ch-2.p6 new file mode 100755 index 0000000000..046b37b0c7 --- /dev/null +++ b/challenge-045/roger-bell-west/perl6/ch-2.p6 @@ -0,0 +1,6 @@ +#! /usr/bin/perl6 + +my $f=open :r,$*PROGRAM-NAME; +for $f.lines { + say $_; +} -- cgit