in reply to Non-buffered read from program
Both sysread and <FH> will return immediately if some data (for <FH>, a whole line) were collected from the pipe. There is no need to turn on autoflush ($|) for the FH filehandle. If you are not getting the data it is because whois is probably not sending it. Probably it is using stdio, and since its output is a pipe, it is buffered. If that's the case, then there's not much you can do about it. None of the versions of whois that I have produce this status message so I cannot test whether this is so, but you can verify whether yours is outputting any data with truss or strace:
truss -t write whois x.x.x.x 2>&1 | cat
|
|---|