我无法理解正在执行exe的Perl脚本的一部分。
open(SYSTEM, "$appl 2>&1 |") || die "$!: $appl";
根据this我可以理解它正在执行一个exe(变量$appl
存储exe的路径及其args),但我不理解2>&1
部分。 AFAIK不是我们的exe所要求的,所以它必须是一些标准惯例。知道这是做什么的吗?
PS:我们的Perl有点旧,因此是open()的旧语法。
答案 0 :(得分:3)
您可以在此处看到2>&1
的简要说明:In the shell, what does " 2>&1 " mean?
基本上它告诉命令行将EXE引发的任何错误消息重定向到标准输出,其中perl脚本可以获取输出。
如果没有这个,或者从命令行运行EXE,它通常会将错误引导到单独的输出(STDERR)到信息消息出现的位置(STDOUT)。
答案 1 :(得分:2)