You forget that open() handles all the magic. "| ...", " ...|", and
the rest of the family. Sysopen specifically doesn't. So one could
easily (and does) use open to do the magic, and then uses sysread/syswrite
to handle the dirty details of playing with a pipe.

Oh, before I forget, one also needs to use sysread/syswrite if one is
doing 4 arg select.

Now, sysread/syswrite might possibly be eliminated if perl6 has its own
stdio replacement and direct access or at a minimum coordination between
4 arg select and buffering were properly handled. (Calling Mr. Dan,
Calling Mr. Dan...)

<chaim>

>>>>> "NW" == Nathan Wiger <[EMAIL PROTECTED]> writes:

NW> Chaim Frenkel wrote:
>> 
>> >>>>> "NW" == Nathan Wiger <[EMAIL PROTECTED]> writes:
>> 
NW> # Replaced by 'open sys'
NW> sysopen
NW> sysread         # sys->read instead
NW> syswrite        # sys->write instead
>> 
>> sysread and syswrite also work on files that were opened via standard
>> open. It bypasses the stdio library.

NW> Yeah, I know. The question is how frequently this is used.

NW> Since you can't mix read/print with sysread/syswrite, my suspicion is
NW> that most people use sysopen and then sysread/syswrite, or open then
NW> read/print. This is what I've always done, personally (but then again
NW> I'm not everyone either). :-)

NW> Since sysopen only takes a few extra args, I don't think it's too much
NW> of a hassle to require sysopen for sysread/syswrite access. It also
NW> makes it clear this is a special type of file access that doesn't (and
NW> shouldn't!) obey formats, regular reads/prints, etc.

NW> That's my input. If lots of people are against me we can change this.

NW> -Nate




-- 
Chaim Frenkel                                        Nonlinear Knowledge, Inc.
[EMAIL PROTECTED]                                               +1-718-236-0183

Reply via email to