my $pid = open(PIPE, '-|'); if (!defined($pid)) { die "fork failure: $!\n"; } elsif (!$pid) { # Child process exec 'search', $pattern; die "exec failure: $!\n"; } else { # parent ... }