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


in reply to File handle question

If you start off with
open (FCMP, "anchor.txt") or die ("anchor.txt is not opened\n"); my @file = <FCMP>;
you can then replace while(<FCMP>) with foreach (@file) and the replace the second loop in its entirety, with print join("\n",@file)

If you want bonus cleverness, you could even replace the first loop with a single map() command, but that's probably leaping a step or two up on the learning curve.

Either way, as others have said, using <> steps through each line of input, you can either seek or re-open the file to go back to the beginning, or simply read the file into an array first, which avoids having to read the file from disk an extra time (a more expensive operation)



the hatter