http://www.perlmonks.org?node_id=882083


in reply to Re^2: eof not recognised when applying diamond operator to invocation arguments?
in thread eof not recognised when applying diamond operator to invocation arguments?

Mainly because it's unnecessarily hard to understand:  eof(); WTF?  Why does it have to be before the loop? If you move it after the loop, it will work with Perl 5.12 just fine, too, but not with 5.10.  Also, someone (including yourself) looking at this later might figure the additional array @filenames is superfluous (and remove it), etc.

Any compelling reason you can't use the more direct version you mentioned yourself elsewhere in the thread?

Replies are listed 'Best First'.
Re^4: eof not recognised when applying diamond operator to invocation arguments?
by pat_mc (Pilgrim) on Jan 14, 2011 at 16:54 UTC
    Any compelling reason you can't use the more direct version you mentioned yourself elsewhere in the thread?
    Yes ... I need to use nested loops because I am reading the input file, parsing the input line and - if and when I find a certain pattern - read 100 lines further. If I use the direct version I will keep losing one line because the inside loop and the outside loop both read an line one after the other.