Perl Tcl :: pTk读取Tcl版本

前端之家收集整理的这篇文章主要介绍了Perl Tcl :: pTk读取Tcl版本前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想用Perl来读取该模块的Tcl版本
Tcl::pTk
与…有关.我发现以下哪个工作正常

use strict;
use warnings;

use Tcl::pTk;

my $int = new Tcl::pTk;

$int->Eval(<<'EOS');
# pure-tcl code to create widgets (e.g. generated by some GUI builder)
text .e
## http://wiki.tcl.tk/1626#tk_version
.e insert end "tcl_version      $tcl_version\n"
.e insert end "tcl_patchLevel   $tcl_patchLevel\n"
.e insert end "tk_version       $tk_version\n"
.e insert end "tk_patchLevel    $tk_patchLevel\n"
.e insert end "tk_library       $tk_library\n"
pack .e
EOS

my $e = $int->widget('.e');     # get .e entry into play
$int->MainLoop;

这会显示GUI中的值,但我想在脚本的其他部分使用$tcl_version.在这个我失败了,因为$tcl_version似乎不存在.我不需要GUI部分,只需要标量的值.

解决方法

应该尝试最简单的方法

my tcl_version = $int->Eval('info tclversion');

或者等同于Tcl方面:

my tcl_version = $int->Eval('set tcl_version');

所有Tcl命令都会产生一个结果,因此应该反映在这里.此外,大多数情况下,您最好获得版本报告的补丁级别;语言版本仅适用于粗略功能,而不是系统状态报告等详细信息(例如,您需要错误报告的补丁号).

猜你在找的Perl相关文章