Hi Dave, On 24/02/16 12:44, Dave Howorth wrote:
I'm trying to define a custom vmethod but not succeeding.I tried using the way described in the manual and also by calling define_vmethod. Both ways appear to have set up methods in the Template::Stash::SCALAR_OPS hashref but neither of them appears to work, even with a very simple body. Any clues to what I'm doing wrong gratefully received!In the perl: use Template::Stash; $Template::Stash::SCALAR_OPS->{uniprot_is_obsolete} = sub { return 42; }; sub forty_two { return 42; } Template::Stash->define_vmethod('scalar', 'forty_two', &forty_two); warn join ' ', keys %$Template::Stash::SCALAR_OPS, "\n";
Those look fine - are you sure that [% representative %] is defined as a scalar rather than a hashref/arrayref/object?
Attached example test script for the two methods works for me on Template 2.26.
cheers, Tom
tt2-vmethods.pl
Description: Perl program
_______________________________________________ templates mailing list templates@template-toolkit.org http://mail.template-toolkit.org/mailman/listinfo/templates