No, primary reason to use sysread/syswrite with select, is because readline and print are not working with select.
Of course they do:
#! perl -sw use strict; use Win32::Socketpair qw[ winsocketpair ]; my( $fd1, $fd2 ) = winsocketpair(); my $v = ''; vec( $v, my $fn1 = fileno( $fd1 ), 1) = 1; vec( $v, my $fn2 = fileno( $fd2 ), 1) = 1; while( 1 ) { if( select( my $vin = $v, my $vout = $v, undef, undef ) > 0 ) { if( vec( $vout, $fn1, 1 ) ) { print( $fd1 "hello\n" ) or last; } if( vec( $vin, $fn2, 1 ) ) { defined( my $buffer = <$fd2> ) or last; print "read: $buffer"; } } } __END__ C:\test>junk88 read: hello read: hello read: hello read: hello read: hello read: hello read: hello read: hello read: hello read: hello read: hello read: hello read: hello read: hello read: hello read: hello read: hello read: hello read: hello read: hello read: hello read: hello read: hello read: hello read: hello read: hello read: hello read: hello read: hello read: hello read: hello read: hello read: hello read: hello read: hello read: hello read: hello read: hello Terminating on signal SIGINT(2) read: hello
In reply to Re^5: sysread/syswrite wrappers
by BrowserUk
in thread sysread/syswrite wrappers
by vsespb
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |