my $newcount = 0; my $totdupAlleles = scalar (@allele); my @newcount; for (my $i=0;$i<$totdupAlleles-1;$i++){ if ($allele[$i] eq $allele[$i+1]){ $newcount++; } # if ($allele[$i] ne $allele[$i+1] or $i = $totdupAlleles-1){ # alternative line to try and capture last count if ($allele[$i] ne $allele[$i+1]){ push @newcount, $newcount+1; $newcount = 0; } } print join ("\n", @newcount); #### HLA-A*02:01 HLA-A*02:01 HLA-A*02:01 HLA-A*02:01 HLA-A*02:01 HLA-A*02:01 HLA-A*02:01 HLA-A*03:01 HLA-A*03:01 HLA-A*03:01 HLA-A*02:01 HLA-A*02:01 HLA-A*02:01 HLA-A*02:01 HLA-A*02:01 HLA-A*02:01 HLA-A*02:01 HLA-A*02:03 HLA-A*02:03 HLA-A*02:03 HLA-A*02:03 HLA-A*02:03 HLA-A*02:03 HLA-A*02:03 HLA-A*02:03