use File::Copy; open(PROGRAM_OUT, "| $runbin/$program.x") or die "Couldn't open '$runbin/$program.x': $!; stopped"; copy(\*STDIN, PROGRAM_OUT) or die "Couldn't copy: $!; stopped"; close(PROGRAM_OUT) or die "Error while closing: $!/$?; stopped";