in reply to PerlIO, random write file access and O_CREAT

There is sysopen:

use Fcntl qw< O_CREAT O_RDWR >; sysopen my $fh, $filename, O_CREAT()|O_RDWR(), 0666 or die "Can't open $filename: $!\n";

(Note that your code still unconditionally truncates the file each time.)

- tye        

Replies are listed 'Best First'.
Re^2: PerlIO, random write file access and O_CREAT (sysopen)
by vsespb (Chaplain) on May 29, 2013 at 15:46 UTC

    I thought sysopen can't be mixes with print/read, as buffered IO and unbuffered cannot be mixed? And I mentioned that I don't want to use syswrite

    Or sysopen is not about unbuffered IO (in opposite to syswrite) ?

    (Note that your code still unconditionally truncates the file each time.)
    Ok, could you please example why? First file open mode is append, and second is read (read/write)

      Oh, right, the append prevents the truncate. My mistake.

      sysopen is just a different way of getting a file handle. It has no bearing on whether you use buffered or unbuffered I/O with that handle.

      - tye        

        Ok, thanks!