http://qs321.pair.com?node_id=748919


in reply to Re^3: Hmmm: while(), file handle and $_ gotcha
in thread Hmmm: while(), file handle and $_ gotcha

Using a variable is even required if you want to add error checking.

while (my $line = <DATA>) { if ( $. % 10 == 1 ) { print $line; } for (0 .. 3) { defined( my $important_line = <DATA> ) or die("Premature EOF\n"); print $important_line; } }

Replies are listed 'Best First'.
Re^5: Hmmm: while(), file handle and $_ gotcha
by Porculus (Hermit) on Mar 06, 2009 at 21:47 UTC

    For small values of "required".

    print( scalar <DATA> // die "Premature EOF\n" );

    (But don't do that, because the version with the explicit variable is obviously right, whereas the version without one forces the reader to pause and wonder whether it will work or not. So it is, I suppose, required in the sense of "required by any sane coding standards" ...)