我在perl脚本中定义了一个变量。
如何使用tcl脚本中定义的相同值访问同一个变量,该脚本存在于与perl脚本存在的目录相同的目录中
答案 0 :(得分:2)
您可以将其写入perl脚本中的配置文件,然后让tcl脚本从该配置文件中读取值。
答案 1 :(得分:2)
如果不知道Perl和Tcl程序之间的确切关系,很难知道解决这个问题的最佳方法。可能是传递值副本的最佳方式是作为另一个脚本调用的参数(在两种语言中都是微不足道的)或作为环境变量。或者您可以将值存储在共享文件中;将它存储在数据库中(例如,在SQLite中)实际上只是一个成熟版本。或者你可以付出相当大的努力并将这两种语言嫁接在一起,这样它就是两种语言同时可以看到的真正的共享价值。 (这需要很多更多努力。)
以下两种简单方法;如果它们看起来与你非常相似,那是因为它反过来是相同的模式。
在Perl方面:
my $theResult = `tclsh script.tcl "$theArgument"`;
在Tcl一侧(在script.tcl中):
set theArgument [lindex $argv 0]
# .... process ....
puts $theResult
在Tcl方面:
set theResult [exec perl script.pl $theArgument]
在Perl端(在script.pl中):
my $theArgument = $ARGV[0];
# .... process ....
print "$result\n";