arc_of_descent has asked for the wisdom of the Perl Monks concerning the following question:
Hi,
I'm stuck with this problem. I searched the docs and this site, but most of them deal with non-buffered output.
What I'm looking for is a way to read the output from a command which initially shows some output, and then blocks due to a network issue
This is the command when run on a Linux shell:
$ whois x.x.x.x [Querying whois.server.net]
The above command then hangs, most probably as that particular server is not available. Whats important is that this command does indicate which server it is trying.
I'm running the above command in a Perl script, and trying to capture the initial 2-3 lines, irrespective of whether the command blocks or not.
None of the following work:
open FH, "whois x.x.x.x 2>&1 |"; my $ofh = select FH; $|=1; while (<FH>) { print; } close FH;
open FH, "whois x.x.x.x 2>&1 |"; sysread FH, $output, 4192; close FH;
Any help would be much appreciated. Thanks!
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Non-buffered read from program
by derby (Abbot) on Dec 30, 2005 at 13:41 UTC | |
|
Re: Non-buffered read from program
by rinceWind (Monsignor) on Dec 30, 2005 at 13:35 UTC | |
by arc_of_descent (Hermit) on Dec 30, 2005 at 15:23 UTC | |
|
Re: Non-buffered read from program
by PreferredUserName (Pilgrim) on Dec 30, 2005 at 19:22 UTC | |
by arc_of_descent (Hermit) on Dec 30, 2005 at 20:21 UTC | |
by ph713 (Pilgrim) on Dec 30, 2005 at 23:02 UTC | |
|
Re: Non-buffered read from program
by myuji (Acolyte) on Dec 30, 2005 at 13:44 UTC | |
by arc_of_descent (Hermit) on Dec 30, 2005 at 14:08 UTC | |
by myuji (Acolyte) on Dec 30, 2005 at 14:44 UTC | |
|
Re: Non-buffered read from program
by Celada (Monk) on Dec 30, 2005 at 16:41 UTC | |
|
Re: Non-buffered read from program
by holli (Abbot) on Dec 30, 2005 at 13:18 UTC | |
by arc_of_descent (Hermit) on Dec 30, 2005 at 13:23 UTC | |
by Anonymous Monk on Jan 02, 2006 at 12:30 UTC | |
|
Re: Non-buffered read from program
by zentara (Cardinal) on Dec 30, 2005 at 16:39 UTC |