in reply to Re^3: How to reset a variable for each file inside a while( <> ) loop?
in thread How to reset a variable for each file inside a while( <> ) loop?

Thanks to all who took the time to reply and contribute to the discussion from which I learnt a lot!

Based on the comments made I'd like to summarise the - in my view most elegant - solution to my question here: eof permits to detect the end of file, $ARGV holds the name of the file currently read and $. holds the current line number in that file.
I just tested the following code snippet and it does exactly what I was looking for:
while ( <> ) { print "Reading line $. in file $ARGV.\n"; $. = 0 if eof; }

So, thanks again to all of you who contributed!

Cheers -

Pat

Replies are listed 'Best First'.
Re^5: How to reset a variable for each file inside a while( <> ) loop?
by pjotrik (Friar) on Jun 16, 2008 at 10:20 UTC
    I'd recommend to follow what toolic advised: close the file instead of manually nulifying $. The value of $. is reset automatically when the file is closed, so the following does what you need:
    while (<>) { print "$ARGV.$.:$_\n"; close ARGV if eof; }