$VAR1 = [ 'AB', '1', 'Traverse' ]; $VAR2 = [ 'AB', '3', 'Traverse' ]; $VAR3 = [ 'CD', '2', 'Traverse' ]; $VAR4 = [ 'CD', '2', 'Traverse' ]; $VAR1 = [ 'JK', '1', 'Traverse1' ]; $VAR2 = [ 'JK', '3', 'Traverse1' ]; $VAR3 = [ 'KJ', '2', 'Traverse1' ]; $VAR4 = [ 'KJ', '2', 'Traverse1' ]; #### Traverse AB 4 CD 4 Subtotal 8 Traverse1 JK 4 KJ 4 Subtotal 8 Total 16 #### my $size = scalar(@f); for ( my $i=0;$i<$size;$i++ ) { my $key = "$f[$i]->[0]"; $result{$key}->[0] += $f[$i]->[1]; } #### Traverse AB 4 CD 4 Subtotal 8 Traverse1 JK 4 KJ 4 Subtotal 8 Total 16