in reply to opening '-|' on Windows

This is just a wild guess, but I think you may need the "cmd" shell to process the "|" pipes.

Instead of starting your cmd with "tar ...", try
"cmd /c tar ...".

This will give the windows shell (cmd.exe) a chance to manage the pipe.

     "There are only two truly infinite things. The universe and stupidity, and I'm not too sure about the universe"- Albert Einstein

Replies are listed 'Best First'.
Re^2: opening '-|' on Windows
by Tanktalus (Canon) on Apr 16, 2005 at 01:51 UTC

    Actually, I tried that. If you look closely at the do_pipe_command function above, I run (qw(cmd /c), join ' ', @cmd). However, I don't think I ever get that far - I think it's the opening of "-|" that causes the failure much earlier in the same sub. It's when I changed it to use cmd /c explicitly that I started to think there was something more sinister going on ;-)