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

Am I not able to open a file for reading and writing using the +<operator on a FreeBSD OS? For instance: open(FH,"+<file.txt") || die(); When I try, it doesn't give me an error message, but the modifications I try to make seem never to occur when I look at the file later...

Replies are listed 'Best First'.
Re: Reading AND writing on BSD?
by diskcrash (Hermit) on Apr 20, 2001 at 08:02 UTC
    Hey there A. M.

    Would a flush(); be useful?

    -diskcrash

      but im reading everything into a variable first, then seek()ing to the beginning of the file to write to it, then the close() should automatically flush the write buffer, shouldnt it? so where would I put the flush()? the code is as follows:
      open(FH,"+<file.txt") || die($!); @fh = <FH>; # operate on file contents, store shit to print in $fh seek(FH,0,0); print FH $fh; close(FH);
        Have you confirmed that $fh contains data? If there is a bug in the code you omitted and $fh is undefined then the file will not be changed.
        Just a guess, do you mean
        print FH @fh;

        Try some opening one file for reading and one for writing. Does it make it there?
      AFAIK flush(); isnt a default perlfunc...

      Greetz
      Beatnik
      ... Quidquid perl dictum sit, altum viditur.