$rin = $win = $ein = ''; vec($rin, fileno(STDIN), 1) = 1; vec($win, fileno(STDOUT), 1) = 1; $ein = $rin | $win; sub fhbits { local(@fhlist) = @_; local($bits); for (@fhlist) { vec($bits, fileno($_), 1) = 1; } $bits; } $rin = &fhbits(STDIN,TTY,SOCK); ($nfound, $timeleft) = select($rout=$rin, $wout=$win, $eout=$ein, $timeout); $nfound = select($rout=$rin, $wout=$win, $eout=$ein, undef); select(undef, undef, undef, 4.75);