in reply to win32 pipe help

To put it simply, I think that what you want is one of:
# run xx.exe word_up and get the output of that program in a variable my $xx_output = `xx.exe word_up`; # just plain run the program... let the output go to the terminal # just as it would be if you ran it at your dos prompt system "xx.exe word_up";
You're sort of confusing the program's input stream from it's command line. (In perl, this is the difference between STDIN and @ARGV... in C you'd call it stdin and argv/argc... whatever). It's the difference between (again at a command prompt) doing:
echo stuff | foo.exe
(where "stuff" is going to be the input to foo.exe) and doing:
foo.exe stuff
(where "stuff" is the first parameter to foo.exe). And it's also possible that you're additionally confusing it with:
foo.exe < stuff
(where "stuff" is the name of a file, the contents of which are to be the input to foo.exe).
------------ :Wq Not an editor command: Wq