in reply to Capturing STDERR with a pipe

Redirect to /dev/null maybe?
open($ResultPipe, "./myprogram 1>/dev/null |");
# or maybe open($ResultPipe, "./myprogram 2&1>/dev/null |");
UPDATE:
oops ... looks like you want to keep STDOUT as well (thanks for the heads-up, BrowserUk). Have you tried IO::Tee? (thanks ksheperd ... IPC::Open3 is what i was trying to recommend ... jeffa shakes cob webs out of brain).

UPDATE (round 2)

Ok. this isn't probably the best solution, but why not just redirect STDERR to some kind of error log:
open($ResultPipe, "./myprogram 2>>./err_log |");

jeffa

should have just gone to bed ... :)