http://qs321.pair.com?node_id=339410

bh_perl has asked for the wisdom of the Perl Monks concerning the following question:

Hi, How could I insert "+" symbols in binary files ? Could somebody give some ideas ? tqvm... bh
  • Comment on How to inset "+" symbol in binary files ?

Replies are listed 'Best First'.
Re: How to inset "+" symbol in binary files ?
by Abigail-II (Bishop) on Mar 24, 2004 at 14:48 UTC
    Uhm, the same way as you do in non-binary files? If the file is small: open the file read/write, read in the file (in a scalar), insert "+" wherever you want it, seek back to the beginning of the file, write the scalar, close the file. If the file is large, open a temporary file for writing, open the original file for reading, read from the file up to the point where you want to insert the "+" while writing what you've read (in chunks) to the temporary file, write "+" to temporary file, read rest of file while writing it to the temporary file, close both files, move temporary file to original file.

    Abigail

      If you do it on Windows, you have to use binmode on the file handle.

      - Tom

        Not using windows for anything but games/shell windows to other systems and Office apps I've always been curious as to why this is the case. It seems odd to me that an OS would care what kind of file you are opening.
        Always use binmode and you'll never get bit by this on any of the platforms it matters (windows is just one).