#!/usr/bin/perl use strict; use warnings; use Data::Dumper qw(Dumper); use List::Util 'sum'; open my $fh, '<', \<) { chomp; my ($tag1, $tag2, $tag3) = split /\t/; if ($tag2 =~/NN/) { $hash{$tag3}{$tag1}++; } } print Dumper \%hash; for my $tag (keys %hash) { printf "%s freq: %d\n", $tag, sum values %{ $hash{$tag} }; }