#!/usr/bin/env perl use strict; use warnings; use List::Util 'sum0'; my (@all_data, @sum_data); while () { next if $. == 1; push @all_data, [split]; } print "All (original) data:\n"; print "@$_\n" for @all_data; for (@all_data) { push @sum_data, [$_->[0], sum0 @$_[1 .. $#$_]]; } print "\nSummary data:\n"; print "@$_\n" for @sum_data; __DATA__ GeneID Tp1 Tp2 Tp3 ALA1 10 12 11 THR8 57 99 12 HUA4 100 177 199 ABA5 2 5 10 #### All (original) data: ALA1 10 12 11 THR8 57 99 12 HUA4 100 177 199 ABA5 2 5 10 Summary data: ALA1 33 THR8 168 HUA4 476 ABA5 17