【问题标题】:Defining global variables in perl Mason Framework在 perl Mason 框架中定义全局变量
【发布时间】:2011-11-04 16:08:17
【问题描述】:

我最近遇到一个问题:如何在 perl Mason 框架中定义一个全局变量?我需要定义一个变量并为其分配一个值,该值对所有 Mason 组件都是可见的,但我所有的尝试都碰巧不成功,因为组件告诉他们看不到该变量。

提前致谢。

【问题讨论】:

    标签: perl mason


    【解决方案1】:

    您需要在 Apache 配置或构建 Mason 解释器对象时在 allow_globals 参数中声明全局变量。

    使用 Mason 解释器对象时的示例:

    my $interp = HTML::Mason::Interp->new(
        ...,
        allow_globals => [
            '$global',
        ],
    );
    

    Apache 配置示例:

    PerlAddVar MasonAllowGlobals $global
    

    【讨论】:

    • 实际上我不想在 Apache 配置中进行更改。您能否提供一些有关如何构建 Mason 解释器对象并在其中使用 alow_globals 的代码示例?
    • 如果您在 Apache 下运行 Mason,那么您需要更改 Apache 配置以添加新的全局变量。
    • Mason 不是只能在 Apache 下使用吗?我很确定这是可能的,但我是 Mason 的新手,在文档中找不到关于这个问题的任何注释。
    • 不,您可以创建解释器对象并调用组件,而无需使用 Apache。
    猜你喜欢
    • 2011-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-06
    • 1970-01-01
    相关资源
    最近更新 更多