And a follow-on question:

Any idea why I have to send the yprtool two "\n"s instead of one to make it
work?  With just one it hangs...  On the command line, it definitely works
with just one.

**************************************
($y,$p,$r) = (split(' ', $lines[15]))[11..13];

use IPC::Open2;
local (*GETYPR, *SENDYPR);
$pid = open2(\*GETYPR, \*SENDYPR, "$yprtool -l 90 0 0 ");

print SENDYPR "$y $p $r\n\n";
($y2, $p2, $r2) = split(' ',<GETYPR>);

close GETYPR;
close SENDYPR;

print "y: $y, p: $p, r: $r\n";
print "y2: $y2, p2: $p2, r2: $r2\n";
**************************************

TIA.

- Bryan





> That does it, thanks, Wiggins!
> 
> - B
> 
> 
> 
>> Bryan R Harris wrote:
>>> 
>>> I'd like to open 2-way pipe to a tool that we have here.  It's called
>>> yprtool and once it's open, you give it 3 numbers to its STDIN and it spits
>>> out 3 numbers to its STDOUT.  It stays open until you ctrl-c it.
>>> 
>>> What's the correct syntax for opening something like this?
>>> 
>>> This doesn't work:
>>> 
>>> **************************************
>>> $yprtool = '/Users/bh/Library/models/yprtool';
>>> open(YPRTOOL, "+<$yprtool|") or die "open error blah";
>>> print YPRTOOL "$a $b $c\n";
>>> $return = <YPRTOOL>;
>>> close(YPRTOOL) or die "a cruel death";
>>> **************************************
>>> 
>>> I think the problem is in the "+<", but I'm not sure.
>>> 
>>> - B
>>> 
>> 
>> Check out the IPC::Open2 and IPC::Open3 modules, they are standard.
>> 
>> perldoc IPC::Open2
>> perldoc IPC::Open3
>> 
>> Additionally there is good information available in,
>> 
>> perldoc perlipc
>> 
>> http://danconia.org
> 
> 



-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to