@children[0]=sub{ child_1_code }; @children[1]=sub{ child_2_code }; @children[2]=sub{ child_3_code }; foreach $child @children { spawn( $child); } while (($returned_child = wait()) > 0 ) { print "Child $returned_child has finished"; } sub spawn { $code=shift; die "Something fishy: $!\n" if (($ret=fork()) == -1); return if $ret; exit &$code; }