将变量从perl脚本传递给tcl脚本

时间:2014-02-14 09:31:26

标签: perl tcl

我在perl脚本中定义了一个变量。

如何使用tcl脚本中定义的相同值访问同一个变量,该脚本存在于与perl脚本存在的目录相同的目录中

2 个答案:

答案 0 :(得分:2)

您可以将其写入perl脚本中的配置文件,然后让tcl脚本从该配置文件中读取值。

答案 1 :(得分:2)

如果不知道Perl和Tcl程序之间的确切关系,很难知道解决这个问题的最佳方法。可能是传递值副本的最佳方式是作为另一个脚本调用的参数(在两种语言中都是微不足道的)或作为环境变量。或者您可以将值存储在共享文件中;将它存储在数据库中(例如,在SQLite中)实际上只是一个成熟版本。或者你可以付出相当大的努力并将这两种语言嫁接在一起,这样它就是两种语言同时可以看到的真正的共享价值。 (这需要很多更多努力。)

以下两种简单方法;如果它们看起来与你非常相似,那是因为它反过来是相同的模式。

简单方法:Perl→Tcl

在Perl方面:

my $theResult = `tclsh script.tcl "$theArgument"`;

在Tcl一侧(在script.tcl中):

set theArgument [lindex $argv 0]
# .... process ....
puts $theResult

简单方法:Tcl→Perl

在Tcl方面:

set theResult [exec perl script.pl $theArgument]

在Perl端(在script.pl中):

my $theArgument = $ARGV[0];
# .... process ....
print "$result\n";