use IO::Handle; if ($pid = open(CHILD1, "-|")) { here you can read fom STDIN that what your child will tell you, but I don't know if this methode works with multiple childs. }