用于访问 CGI 脚本中常量变量的 Perl 语法

perl syntax to access the constant variable in cgi script

最近在调试一段代码,发现模板中的模板工具包用法中有如下用法

 #Constants.pm
 # Bugzilla version
 use constant BUGZILLA_VERSION => "4.0.11";


 #template file index.html.tmpl
 [% PROCESS global/header.html.tmpl
  header_addl_info = "version $constants.BUGZILLA_VERSION"
  style_urls = [ 'skins/standard/index.css' ] 
 %]

 #index.cgi
 use Bugzilla::Constants;
 .......

 print "buzilla version  :  $constants.BUGZILLA_VERSION <br/>";

当我在主 cgi 脚本中使用相同的语法时,出现错误 500

'.'在 Template::Toolkit.

中可能意味着不同的东西

在 Perl 中你只需使用 BUGZILLA_VERSION:

$ perl -E 'use constant BUGZILLA_VERSION=>"4.0.11"; say BUGZILLA_VERSION' 
4.0.11
$ 
 print "buzilla version  :  ".Bugzilla::Constants::BUGZILLA_VERSION." <br/>";