我正在用 Perl 编写一个用于代码编译的跨平台构建脚本。
在 Windows 中,我需要执行 vsvars32.bat 来设置环境变量:
sub set_win_env {
#MSVC version 9.0 is installed
$VS90COMNTOOLS = $ENV{'VS90COMNTOOLS'};
$VS90COMNTOOLS .= "vsvars32.bat"
if($VS90COMNTOOLS ne "") {
system("$VS90COMNTOOLS");
}
}
通过执行批处理文件设置的环境变量会丢失,因为解释器会生成另一个 shell 来执行批处理文件。
如何在父 Perl 脚本中导入这些变量?