#! /usr/bin/perl
use warnings;
use strict;
use List::Util qw{ sum };
use Data::Table;
my $t = new Data::Table(
[
['a', 1000, 2000, 3000, 200,500],
['b', 2000, 1000, 1000, 700,800],
['c', 3000, 3000, 3000, 5,7],
],
['Name', 'value1', 'value2', 'value3', 'value4', 'value5'], 0);
$t->addCol(undef, 'v1-3');
$t->colsMap(sub { $_->[-1] = sum(@$_[1 .. 3]) / 3 });
$t->addCol(undef, 'v4,5');
$t->colsMap(sub { $_->[-1] = sum(@$_[4, 5]) / 2 });
print $t->csv;
####
sub set_avg {
my @cols = @_;
sub { $_->[-1] = sum(@$_[@cols]) / @cols }
}
$t->addCol(undef, 'v1-3');
$t->colsMap(set_avg(1 .. 3));
$t->addCol(undef, 'v4,5');
$t->colsMap(set_avg(4, 5));
####
($q=q:Sq=~/;[c](.)(.)/;chr(-||-|5+lengthSq)`"S|oS2"`map{chr |+ord
}map{substrSq`S_+|`|}3E|-|`7**2-3:)=~y+S|`+$1,++print+eval$q,q,a,