将环境变量从perl传递到tcl

将环境变量从perl传递到tcl,perl,unix,tcl,Perl,Unix,Tcl,我是Perl和Tcl的新手。我试图将一个变量从Perl脚本传递到Tcl脚本。我将变量声明为环境变量并尝试传递。但没有结果。请查找以下代码: Perl方面: $ENV{'output_directory_final'} = "./$Image_name/$Date_release/final"; Tcl方面: set out_path ${output_directory_final}; 但是,这是行不通的。有人能给出其他想法吗?根据特例,Tcl中的全局数组env包含流程的环境变量值。在您

我是Perl和Tcl的新手。我试图将一个变量从Perl脚本传递到Tcl脚本。我将变量声明为环境变量并尝试传递。但没有结果。请查找以下代码:

Perl方面:

 $ENV{'output_directory_final'} = "./$Image_name/$Date_release/final";
Tcl方面:

 set out_path ${output_directory_final};

但是,这是行不通的。有人能给出其他想法吗?

根据特例,Tcl中的全局数组
env
包含流程的环境变量值。在您的情况下,请尝试以下操作:

set out_path $env(output_directory_final)

请注意,如果您在
proc
中,则需要使用
global env
命令来获取对变量的本地访问。

如何调用Tcl?它是从Perl代码中运行的吗?您需要创建一个用于演示问题的,其他人可以在本地使用和运行的。为什么需要传递一个“全局”变量?您是否希望
output\u directory\u final
与另一个匹配
output\u directory\u init
?他们显然是不同的…@JimGarrison我正在启动一项工作并修改tcl脚本。因此,我无法给出完整的代码。但是,这是一个问题,我提出了我的代码,其中有一个问题。@RedCricket我更改了标题。抱歉打错了!或者,正确地指定全局命名空间:
$::env(…)
。对于一个自称是新手的人来说,我只是在回避
名称空间
的概念。