Yes you are quite right. I tried the following script and I am convienced. I have mixed it up with looping through array elements the other day, where I was caught by the '0' gotcha' and became a bit paranoid.
use strict;
use warnings;
while (<DATA>) {
print;
}
__DATA__
0
1
2
3