my $parentFlag; my $pid = fork(); if ($pid) { #parent process $parentFlag= 1; } elsif (defined $pid) { #child process $parentFlag= 0; } else { #error on fork die "some useful message: $!\n"; } END { if ($parentFlag) { #parent end code } elsif (defined $parentFlag) { #child end code } else { #end block after failed fork or exit before the fork? } }