use strict; use warnings; my $inputFile = q{/path/to/NRT2.txt}; open my $inputFH, q{<}, $inputFile or die qq{open: < $inputFile: $!\n}; my %occurs; while ( <$inputFH> ) { $occurs{ $1 } ++ if m{^>([^_]+)} } close $inputFH or die qq{close: < $inputFile: $!\n}; print qq{$_: $occurs{ $_ } occurrences in $inputFile\n} for sort keys %occurs;