in reply to Replace current line in while loop

I really, really, really recommend opening and writing a new file. But if you want you could read the documentation for open to learn about the +< mode, then tell and seek to learn how to move around within a filehandle, then use print to overwrite it.

If you do that you'll learn that a file is just a stream of bytes. So you can't just replace a line unless the replacement is the same length as the original. Otherwise you have to rewrite the rest of the file to replace the line. And once you go there then you have issues with possibly having the bit you're replacing overrun the bit you haven't read yet, with fairly bad results.

Should you go down this path, you'll learn why I really, really, really suggest opening a second file, writing the file with modifications, then doing an unlink then rename to finish.

Update: mr_mischief pointed out that I said pos where I meant tell. Oops...