in reply to Array mysteriously growing
This post doesn't answer your question; it's about an error in your code.
Don't use my $var = ... if ...; Use my $var; $var = ... if ...; The former can leave Perl's guts in a twist.