我最近遇到了一个问题:如何在perl Mason框架中定义一个全局变量?我需要定义一个变量,并给它赋一个值,这个值在所有Mason组件中都是可见的,但是我所有的尝试都是不成功的,因为组件告诉我它们没有看到这个变量。
您需要在Apache配置中的allow_globals参数或在构建Mason解释器对象时声明全局变量。
使用Mason解释器对象的示例:
my $interp = HTML::Mason::Interp->new(
...,
allow_globals => [
'$global',
],
);
Apache配置示例:
PerlAddVar MasonAllowGlobals $global