diff options
| author | Roger Bell_West <roger@firedrake.org> | 2020-01-30 16:11:09 +0000 |
|---|---|---|
| committer | Roger Bell_West <roger@firedrake.org> | 2020-01-30 16:11:09 +0000 |
| commit | 1ebecd71bd0a34b6bf94b246de841a78b3fe3758 (patch) | |
| tree | d07601740f971912c5ace001ef18a620286d68c0 /challenge-045 | |
| parent | fcc1f0519c6131b86c68eb479f76e1dac99e67ae (diff) | |
| download | perlweeklychallenge-club-1ebecd71bd0a34b6bf94b246de841a78b3fe3758.tar.gz perlweeklychallenge-club-1ebecd71bd0a34b6bf94b246de841a78b3fe3758.tar.bz2 perlweeklychallenge-club-1ebecd71bd0a34b6bf94b246de841a78b3fe3758.zip | |
Solutions to #45. Hope you feel better soon!
Diffstat (limited to 'challenge-045')
| -rwxr-xr-x | challenge-045/roger-bell-west/perl5/ch-1-decode.pl | 22 | ||||
| -rwxr-xr-x | challenge-045/roger-bell-west/perl5/ch-1.pl | 28 | ||||
| -rwxr-xr-x | challenge-045/roger-bell-west/perl5/ch-2.pl | 7 | ||||
| -rwxr-xr-x | challenge-045/roger-bell-west/perl6/ch-1.p6 | 26 | ||||
| -rwxr-xr-x | challenge-045/roger-bell-west/perl6/ch-2.p6 | 6 |
5 files changed, 89 insertions, 0 deletions
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 <F>; 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 $_; +} |
