You are in a loop, so $dnaString is being added to everytime the line doesn't match your start pattern. $dnaString is always one step behind @seqList so when you come to the next start line, it pushes the previous $dnaString onto @sequences, then clears it for the next iteration. Best thing to do is try it: set $count = 1 and see what happens.
Update: after re-reading this I'm a bit confused myself. Better to put a print statement within the loop:
my $dnaString = '';
...
if ($line=~/^>(\S+)/){
print qq|Count: $count, Match: $1, String: $dnaString\n|;
push (@seqList, $1);