in reply to Program waiting for a Ctrl C for continuation

Perhaps a piped open would be better than a system() command?

If necessary, you can probably print out a "^C" to the handle to kill it. This is an example where you should definitely check the return value from close().

open my $handle, "| @commands" or die "Can't fork. $!"; #print $handle , "\x3"; # if necessary close $handle or warn "Couldn't close $handle. $!";