On Fri, 18 Jan 2002 17:54:35 +0000 (GMT), Richard Smith wrote: >> How about the "seek" function? > >I have never used that function before. Just to clarify, if I use > >seek FILEHANDLE, 0; > >That will reset to the start of the file?
No, but seek FILEHANDLE, 0, 0; will. Oh, and open the file in "+<" mode, and don't forget to truncate() the file (handle) before writing anything, if your new data could be shorter than the old data. Otherwise, you'll keep remains ofthe old data. Alternatively, truncate *after* you've done writing, bu likely you'll have to seek() again before doing that for it to work. IIRC, that is necessary on some OSes. open FH, "+<$file"; # file *must* exist; @lines = <FH>; # read all lines splice @lines, 1, 1; # remove second line seek FH, 0, 0; # start of file print FH @lines; # write it back; seek FH, 0, 1; # make sure it's in a proper state truncate FH, tell FH; # shorten the file close FH; Untested, though. -- Bart.