... # time to start a separate process, but we want the parent to keep running # (i.e. parent and child run simultaneously) my $childpid = fork(); if ( !defined( $childpid )) { die "couldn't fork: $!"; } elsif ( $childpid == 0 ) { # this is what the child does: exec( "other_program", @args ); # at this point, the other_program is running; it replaces # (has the same pid that was originally assigned to) the # "child copy" of the current script } # and here, the parent continues what it was doing...