kees has asked for the wisdom of the Perl Monks concerning the following question:
BTW: IPC::Open3 does not take care for the fact that fileno(STDIN) == fileno(badhandle)also evaluates to true in case of fileno(STDIN) == 0 (which is often the case).use strict; use IO::Socket; use IPC::Open3; my $childwriter; my $childreader; socketpair($childwriter, $childreader, AF_UNIX, SOCK_STREAM, PF_UNSPEC +) || die "socketpair: $!"; my $stderrchildwriter; my $stderrchildreader; socketpair($stderrchildwriter, $stderrchildreader, AF_UNIX, SOCK_STREA +M, PF_UNSPEC) || die "socketpair: $!"; my (@cmd) = "java -version 2>&1"; print "File handles:\n"; printf "out: $childwriter (%d), $childreader (%d)\n", fileno($childwri +ter), fileno($childreader); printf "err: $stderrchildwriter (%d), $stderrchildreader (%d)\n", file +no($stderrchildwriter), fileno($stderrchildreader); my $childpid = open3("<&$childreader", ">&$childreader", ">&$stderrchi +ldreader", @cmd);
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: fileno unexpectly returns undef (stringify)
by tye (Sage) on Feb 23, 2012 at 16:13 UTC | |
|
Re: fileno unexpectly returns undef
by Eliya (Vicar) on Feb 23, 2012 at 16:56 UTC | |
by kees (Initiate) on Feb 24, 2012 at 11:39 UTC |