Juan Ladetto wrote:
> Hi there,
> I'm newby on template toolkit but I' trying to use it in a new project 
> I'm working at. I'm using Moose also and I'm fascinated with lazy 
> loading (i really love this feature, among others).
> The problem I'm having right now is with template toolkit and these kind 
> of variables.
> Here is the code I'm using.
> 
> #!/usr/bin/perl
> package value;
> {
>     use Moose;
>     has 'nolazy'    => ( is => 'ro', isa => 'Bool', default => 0);
>     has 'lazy'        => (is => 'ro', isa =>"Bool",
>                                     lazy =>1,
>                                     default =>
>                                         sub
>                                         {
>                                             return 1;                    
>                                                           
>                                         });
> }
> use Template;
> 
>         my $tt = Template->new({
>                                 INCLUDE_PATH => './',
>                                 EVAL_PERL    => 1,
>                                 }) || die $Template::ERROR, "\n";
>        
>         $Template::Parser::DEBUG = 1;
>         $Template::Directive::PRETTY = 1;
>         $myValue = value->new();
>         #discomment the above line and the lazy variable will show you a 
> value in the template;
> #        $myValue->lazy();
>        
>         $text = "no lazy var [% nolazy %] - lazy var [% lazy %]
> ";
>         $tt->process(\$text, $myValue) || die $tt->error(), "\n";       
> 1;
> 
> any thoughts on this?

process expects to receive a hashref so $myValue is not being treated as 
an object.  You need to do something like:

     $text = "no lazy var [% obj.nolazy %] - lazy var [% obj.lazy %]";
     $tt->process(\$text, {obj => $myValue}) || die $tt->error(), "\n";



_______________________________________________
templates mailing list
[email protected]
http://mail.template-toolkit.org/mailman/listinfo/templates

Reply via email to