vec($rin,fileno($self),1) = 1; vec($ein,fileno($self),1) = 1; vec($win,fileno($self),1) = 1; while(1) { ($found) = select($rout=$rin,$wout=$win,$eout=$ein,1); if($found) { my $rc = sysread($in,$buf,1024); if(defined $rc) { # non-error if ($rc > 0) { # read successful print "Got $buf\n"; runplayer($self,$buf,$out); } else { # end of file print "EOF\n"; last; } } else { print "sysread() error: $!\n"; last; } } }