Martin Mares [off-list ref] writes:
But it did and I finally understand why: _line() can exit not only
by return, but also by falling over when readline() returns undef.
Ah, you are right and I feel stupid. It's been a while since I
wrote real Perl code the last time, and forgot that "the last
evaluation" rule when I was reading the code.
It did not help that one of the languages I use in my day-job
(which I am too ashamed to even name) uses "if fell off at the
end return undef" rule X-<.