use strict; use warnings; my $info = <; # Skip the header line while () { my ($key) = split /,/, $_, 2; $lookup{$key} = 0; } open my $InFile, '<', \$info or die "Failed top open menory file: $!";; <$InFile>; # Skip Header while (<$InFile>) { my ($key) = split /,/, $_, 2; next unless exists $lookup{$key}; ++$lookup{$key}; } close $InFile; for my $key (sort keys %lookup) { print "$key: $lookup{$key}\n"; } __DATA__ PDB ID,SITE NUMBER,RESIDUE TYPE,CHAIN ID,RESIDUE NUMBER,CHEMICAL FUNCTION,EVIDENCE TYPE,LITERATURE ENTRY 102l,0,GLU,,11,S,PSIBLAST,206l 103l,0,GLU,,11,S,PSIBLAST,206l 104l,0,GLU,A,11,S,PSIBLAST,206l #### 102l: 1 103l: 1 104l: 2