Perl使用环境变量启动外部程序

时间:2019-08-12 16:06:16

标签: perl parameters

我想在Linux下的perl程序中启动一个外部命令(然后捕获输出)。但是我的命令具有仅由环境变量设置的参数。 尝试过类似的东西:

open CMD, "NSRWATCH=36s;export NSRWATCH;nsrwatch|";

但是没有办法。 有任何线索吗?

2 个答案:

答案 0 :(得分:1)

两个线索:

在调用外部命令之前在Perl中设置环境变量

local $ENV{"NSRWATCH"} = "36s";
open CMD, "nsrwatch |";

或设置变量并在同一条语句中运行命令

open CMD, "NSRWATCH=36s nsrwatch |";

答案 1 :(得分:0)

抱歉,初始命令确实起作用(如ikegami所说)。 由于ASCII控制字符淹没了屏幕,因此结果并非预期。