Yes. Try that with <ARGV> (aka <>) when there's only 15 lines in the files specified on the command line. After it hits EOF, it now starts reading unexpectedly from STDIN for the remaining 5 lines (after 1 undef
for the eof), because the process starts over!
Moral: Always watch for an early EOF from a filehandle.