while (1) { # This tells us if the processReader has data for us to read if(@ready=$select->can_read(0)) { # Read the data, if it fails, its because we reached # the End of file. if(read($ready[0], $tmp, 128)) { $read_flag=1; } # Add the output from the process to the variable $output.="$tmp"; # We don't have any more to read, break out of the loop if(eof($ready[0]) ) { last; } }else{ sleep(2); } }