$ perl use strict; use warnings; use Data::Table; my $t = new Data::Table([ [ 1, 2, 3 ], [ 10, 20, " " ] ], [ 'A', 'B' ], 1); # create emtpy column my @newCol = (); $newCol[ $t->nofRow - 1 ] = undef; $t->addCol(\@newCol, 'adding_up'); # Put the formula in the empty column $t->colsMap( sub { $_->[2] = ((defined($_->[0]) && $_->[0] =~ m/^\d+$/) ? $_->[0] : 0) + ((defined($_->[1]) && $_->[1] =~ m/^\d+$/) ? $_->[1] : 0); } ); print $t->csv; __END__ A,B,adding_up 1,10,11 2,20,22 3, ,3