Calling outside subs and modules in Template Toolkit without Plugins?

后端 未结 3 1972
再見小時候
再見小時候 2020-12-31 20:54

I am trying to call an outside Perl module in a Template Toolkit .tt file. The module I want to use is Util, and I want to call Util::prettify_date

3条回答
  •  夕颜
    夕颜 (楼主)
    2020-12-31 21:47

    Have you tried useing the module in a [% PERL %] block?

    Now, I personally would write a plugin which relays, say, a MyOrg::Plugin::Util->prettify_date to Util::prettify_date after getting rid of the first argument. You can automate the creation of these methods as well:

    my @to_proxy = qw( prettify_date );
    
    sub new {
        my $class = shift;
    
        {
            no strict 'refs';
            for my $sub ( @to_proxy) {
                *{"${class}::${sub}"} = sub {
                    my $self = shift;
                    return "My::Util::$sub"->( @_ );
                }
            }
        }
        bless {} => $class;
    }
    

提交回复
热议问题