是否可以在handler.pl
?
我需要为handler.pl
中的全局变量赋值,并从Mason组件中获取值。
我试过这种方式:
的httpd.conf
...
PerlRequire handler.pl
...
handler.pl
...
our $x = 'test';
...
something.mas
...
<h1><% $x %></h1>
...
但它不起作用,它不会返回<h1>test</h1>
但仅<h1></h1>
因为$x
未定义。我怎样才能使它发挥作用?
答案 0 :(得分:1)
是的,但您必须设置
PerlSetVar MasonAllowGlobals $x
在httpd.conf中,或在handler.pl中包含
allow_globals => [ '$x' ]
在您的apache处理程序定义中,或在组件运行的HTML :: Mason :: Commands包中声明它:
package HTML::Mason::Commands;
use vars '$x';
最后一个选项也是如何在所有组件中提供其他Perl模块:
package HTML::Mason::Commands;
use Data::Dumper;
use URI;
...
请参阅http://www.masonhq.com/?FAQ:Components#h-can_i_use_globals_in_components_