in reply to Re^2: reading several lines in a gulp
in thread reading several lines in a gulp

Why is scalar used in that? What's the effect?

push imposes list context (you can push more than one element in one statement), and <$file> would read the whole file at once in list context (as pointed out in the OP).

In other words, without scalar, the whole file would be read in the first iteration, which would kind of defeat the purpose of the exercise...