我正在使用 Windows x64 机器并试图从命令中捕获 STDOUT 和 STDERR 流。我还必须写入命令的 STDIN。我正在尝试为此使用 perl 的 IPC::Open3,但没有运气。我正在使用这里发布的脚本和命令作为这里的脚本。我当然用 Windows 的“perl test.pl”替换了 $cmd 变量。
它应该打印“StdOut!” 和'StdErr!',以及pid,但我只得到PID。我不知道是因为我的操作系统,还是因为线程已经使用了 10 年(没什么大不了的,Perl 5 快 18 年了,对吧?)。另一个僧侣发布了这个脚本来解决另一个问题,但在我的电脑上它永远不会退出。
谁能给我一个使用 open3 在 perl 中启动命令、写入其 STDIN 并捕获其 STDERR 和 STDOUT 的工作示例?