http://www.perlmonks.org?node_id=820899


in reply to Inplace without backup uses no extra disk space?

Windows doesn't allow(*) you to delete an open file. So yes, it is required that you create a backup in order to use -i.

However, editing a file in-place isn't that hard to program, even if you need to delete and/or add to the file--provided you only need to process the file serially. Ie. from the beginning to the end, record by record.

The trick is to maintain an in-memory buffer sufficient to ensure that you don't try to overwrite a part of the file before you've read it. If the aggregate additions amount to more than can be held in memory, then using a spill file as the buffer is a little more complex.

Do you have some estimate of the volume of edits/deletions/insertions required?

That said, disks are cheap. The first UK ad google found offered 500GB for £32.

Another approach would be to write the file to a CD/DVD; delete it from the disk; then read it from the optical drive and write to the disk.

(*)It may be possible using obscure backup APIs and special privileges, but that should be considered a very last resort.


Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
  • Comment on Re: Inplace without backup uses no extra disk space?

Replies are listed 'Best First'.
Re^2: Inplace without backup uses no extra disk space?
by bellaire (Hermit) on Feb 02, 2010 at 14:27 UTC
    Isn't 40G a bit large for optical storage? :)

      Actually, I think he said 60GB. So that's just 13 DVDs or 95 CDs. Update:No. You're right 40GB. so 9 DVDs or 62 CDs!

      Of course, the new hard disk would probably be cheaper than the media.

      It could get a tad expensive if he has to do it frequently--but his data would be safe:)


      Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
      "Science is about questioning the status quo. Questioning authority".
      In the absence of evidence, opinion is indistinguishable from prejudice.
        True, but for some reason I doubt that a machine with a 60GB hard drive will already be equipped with a blu-ray burner. ;)