aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xchallenge-034/roger-bell-west/perl5/ch-1.pl36
-rwxr-xr-xchallenge-034/roger-bell-west/perl6/ch-1.p612
2 files changed, 48 insertions, 0 deletions
diff --git a/challenge-034/roger-bell-west/perl5/ch-1.pl b/challenge-034/roger-bell-west/perl5/ch-1.pl
new file mode 100755
index 0000000000..0aed9f3564
--- /dev/null
+++ b/challenge-034/roger-bell-west/perl5/ch-1.pl
@@ -0,0 +1,36 @@
+#! /usr/bin/perl
+
+use strict;
+use warnings;
+
+use List::Util qw(sum);
+
+my @data=map {rand()} (1..10);
+
+my @ma=map {sum(@data[$_-1..$_+1])/3} (1..$#data-1);
+
+unshift @ma,'';
+push @ma,'';
+
+my @out=map {[$data[$_],$ma[$_]]} (0..$#data);
+
+print tabular(\@out);
+
+sub tabular {
+ my $d=shift;
+ my @columnlength;
+ foreach my $row (@{$d}) {
+ foreach my $colno (0..$#{$row}) {
+ if (!defined($columnlength[$colno]) ||
+ $columnlength[$colno] < length($row->[$colno] || '')) {
+ $columnlength[$colno]=length($row->[$colno]);
+ }
+ }
+ }
+ my $format=join(' ',map {"%${_}s"} @columnlength);
+ my $result='';
+ foreach my $row (@{$d}) {
+ $result .= sprintf($format,@{$row})."\n";
+ }
+ return $result;
+}
diff --git a/challenge-034/roger-bell-west/perl6/ch-1.p6 b/challenge-034/roger-bell-west/perl6/ch-1.p6
new file mode 100755
index 0000000000..323b913ee7
--- /dev/null
+++ b/challenge-034/roger-bell-west/perl6/ch-1.p6
@@ -0,0 +1,12 @@
+#! /usr/bin/perl6
+
+my @data=map {rand}, (1..10);
+
+my @ma=map {sum(@data[$_-1..$_+1])/3}, (1..@data.end-1);
+
+unshift @ma,NaN;
+push @ma,NaN;
+
+my @out=map {[@data[$_],@ma[$_]]}, (0..@data.end);
+
+say @out.perl;