in reply to Exiting backticks early

Open the child process as a pipe, read as many lines as you want, then kill it.
my $pid = open my $fh, '-|', $cmd, @args; my @ten_lines; for (0..9) { my $line = <$fh> // last; push @ten_lines, $line; } kill TERM => $pid;