You could also try the Threads implementation if you're running 5.8.0. There, you can simply return values and the parent can get them via the join command. True, Threads are still kinda experemental...