in reply to Re: while (my @row = $sth->fetchrow_array)
in thread while (my @row = $sth->fetchrow_array)

Using a named variable on foreach loops is often a good idea from a readability standpoint, but the parent reply makes it sound like it will change the behavior. This is not true. foreach automatically localizes the index variable if it is a global. See perlsyn.