use strict; use warnings; use Data::Dumper; my @data = ( "o1 n1 a1\n", "o2 n2 a2\n", "o3 n1 a3\n", ); my %caseCount; for my $caseMetrics (@data) { my $caseNumber = (split /\t/, $caseMetrics)[1]; $caseCount{$caseNumber}++; } print Dumper(\%caseCount); __END__ Output... $VAR1 = { 'n2' => 1, 'n1' => 2 };