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.

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. ;)