use strict; use warnings; my %counts; my @seq; local $/=''; while(){ chop; s/\n//; @seq = split ''; } foreach my $element (@seq){ #count for each DNA base or group foreign letters $element =~/[agct]/gi ? $counts{$element}++ : $counts{'N'}++; } use Data::Dumper; print Dumper(\%counts); __DATA__ agcttgtc agtccxffhhhh