in reply to Re^6: How to Multiplex a Client using IO::Select
in thread How to Multiplex a Client using IO::Select

Win32::Socketpair will only work in windows. i need platform independent one

I know. You can use it conditionally.

use IO::Handle qw( ); # For autoflush BEGIN { # Override pipe to return something selectable on Windows. if ($^O eq 'MSWin32') { require Win32::Socketpair; require subs; subs->import('pipe'); *pipe = sub { ($_[0], $_[1]) = Win32::Socketpair::winsocketpair() or return; }; } } pipe(my $r, my $w) or die $!; $w->autoflush(1); print $w ("Hello World\n"); print(scalar(<$r>));

Unfortunately, turns out it crashes on my system.