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
With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
In the absence of evidence, opinion is indistinguishable from prejudice.
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|