【发布时间】:2013-06-27 18:03:09
【问题描述】:
简单的问题:有没有办法可以在 perl mason 文件中创建一个常量字符串?我希望能够将硬编码字符串分配给我的 perl 文件顶部的变量,然后能够在文件的其余部分中使用它。类似于 Java 的
private static final String DEFAULT_USERNAME = "Bobby Joe";
【问题讨论】:
简单的问题:有没有办法可以在 perl mason 文件中创建一个常量字符串?我希望能够将硬编码字符串分配给我的 perl 文件顶部的变量,然后能够在文件的其余部分中使用它。类似于 Java 的
private static final String DEFAULT_USERNAME = "Bobby Joe";
【问题讨论】:
Perl 中的一个等效概念是constant pragma:
% use constant DEFAULT_USERNAME => "Bobby Joe";
<h1>Welcome, <% DEFAULT_USERNAME %></h1>
这是语法糖,它实际上在当前包中创建了一个名为DEFAULT_USERNAME 的子例程,就像你说的那样
sub DEFAULT_USERNAME () { "Bobby Joe" }
【讨论】:
% use 行放在我的梅森文件中的哪个位置?我需要将它包含在任何标签中吗?
use 语句可以放在 mason 文件中的任何位置(.mc 文件,对吗?)。据我了解,您可以将 Perl 代码放在以 % 开头的行上(不要忘记空格),或者在 <%perl></%perl> 或 <%init></%init> 标签内。
use模板中的模块,或者(在梅森中)把它放在一个单独的文件中并包含在其他具有<& constants.mi &> 语法的模板。