if( my $pid = fork ) { print "I am the parent pid ($$), and I'm going to wait for $pid to exit.\n"; my $kid; do { $kid = waitpid $pid, 0; } while $kid > 0; exit 0; } else { exec(qw(ls -al /tmp)); die "hrm, exec() failed: $!"; }