【问题标题】:Error using Mason as stand-alone templating language使用 Mason 作为独立模板语言时出错
【发布时间】:2011-11-16 16:13:08
【问题描述】:

生日,

我正在尝试使用 HTML::Mason 1.35 作为独立的模板语言来生成电子邮件。考虑以下测试脚本:

#!/usr/bin/perl 使用严格; 使用警告; 使用 HTML::Mason::Compiler; 使用 HTML::Mason; 使用 Data::Dumper; 我的 $view_info = { 名称 => '约翰·史密斯', 出生日期 => '10-10-2010' }; 我的$输出; 我的 $mason_compiler = HTML::Mason::Compiler->new( allow_globals => [ qw( $view_info ) ] ); 我的 $mason_interpreter = HTML::Mason::Interp->new( 编译器 => $mason_compiler, comp_root => '/tmp/', out_method => \$输出 ); $mason_interpreter->exec('/something.m'); 打印自卸车{ 输出 => $输出 };

当我尝试运行它时,我收到以下错误:

以下参数在调用中传递给 HTML::Mason::Compiler::compile 但未在 验证选项:comp_class 堆: [/usr/share/perl5/HTML/Mason/Compiler.pm:191] [/usr/share/perl5/HTML/Mason/ComponentSource.pm:76] [/usr/share/perl5/HTML/Mason/Interp.pm:452] [/usr/share/perl5/HTML/Mason/Request.pm:239] [/usr/share/perl5/HTML/Mason/Request.pm:205] [/usr/share/perl5/Class/Container.pm:275] [/usr/share/perl5/Class/Container.pm:353] [/usr/share/perl5/HTML/Mason/Interp.pm:348] [/usr/share/perl5/HTML/Mason/Interp.pm:342] [./masontest.pl:26]

不使用编译器,只解释组件可以正常工作,但是添加编译器会出现此错误。任何线索我在这里做错了什么?

【问题讨论】:

  • 请添加您自己的解决方案作为答案,然后将其标记为已接受,这样每个人都可以一眼看出该问题已解决。感谢您跟进解决方案!
  • 我会的,但我看不到“回答你的问题”按钮:/ 也许我需要等待一段时间,或者可能出现一些故障。现在修复它:)

标签: perl templating mason


【解决方案1】:

另一种解决方案,但不是解释:使用HTML::Mason::Compiler::ToObject 作为编译器而不是HTML::Mason::Compiler。我现在不记得为什么,但这就是我的工作代码中的内容。

【讨论】:

    【解决方案2】:

    一个(可能的)解决方案:

    #!/usr/bin/perl 使用严格; 使用警告; 使用 HTML::Mason::Compiler; 使用 HTML::Mason; 使用 Data::Dumper; 我的 $view_info = { 名称 => '约翰·史密斯', 出生日期 => '10-10-2010' }; 我的$输出; 我的 $mason_interpreter = HTML::Mason::Interp->new( allow_globals => [ qw( $view_info ) ], comp_root => '/tmp/', out_method => \$输出 ); $mason_interpreter->set_global('$view_info', $view_info); $mason_interpreter->exec('/something.m'); 打印自卸车{ 输出 => $输出 };

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-03
      • 2022-08-19
      • 1970-01-01
      • 1970-01-01
      • 2021-10-29
      • 1970-01-01
      相关资源
      最近更新 更多