if ( $child = fork ) { #Do Parent stuff here } else { while ( $child2 = fork ) { # fork 2nd child, wait for wait; # it to finish and re-fork } # Do second level child stuff here # Every time we finish, child # 1 starts us again exit; }