Skeets wrote:
> James Britt wrote:
> > Skeets wrote:
> >
> > >
> > > what i don't know how to do is to...
> > >
> > > 1. write this data to a newly created file (case: file doesn't exist)
> >
> > File.open( some_file_name, 'w'){|f| f.puts(the_data)}
> >
> > > 2. overwrite the data (case: file exists but data needs to be updated).
> > You can use the same code.  It will overwrite the current file with the
> > new data.
> >
> > >
> > > eg, let's say my ip changed to 127.0.0.2.  i want to delete "#ip
> > > 127.0.0.1" and replace it with "#ip 127.0.0.2".  i i'd also consider if
> > > deleting just 127.0.0.1 and replacing it with 127.0.0.2 if it makes
> > > more sense.
> >
> > Just overwrite the old file with the new, complete, data.
>
> thanks for the tip.  at first glance, though, i'm thinking i want to
> delete only the line(s) that change.  eg, if the i line changes, i
> don't want to read in the whole file, i'd prefer to just overwrite the
> #ip line.
>
> is this doable?  if so, is it too much trouble for a short file like
> this one?
>
> i perused the linked references, but didn't find a way to delete a
> specific line and replace it.
>
> thanks again.

Load the whole file that you want to change into an array.
Each element of the array is a line of the file.
Change a line.
Write the lines back to the file.