如何在perl程序中使用任意外部程序作为过滤器?

时间:2016-04-10 02:27:41

标签: perl template-toolkit

我想使用当前C版的Fletcher Penny的Multi-markdown作为Template Toolkit中的过滤器。我不清楚如何设置它。

目前我并没有将TT称为模块,而只是编写使用tpage和ttree调用的模板。

1 个答案:

答案 0 :(得分:4)

模板工具包过滤器实际上很容易编写。

模块:

package Template::Plugin::Filter::MultiMarkdown;

use strict;
use warnings;

our @ISA = 'Template::Plugin::Filter';

sub init {
    my $self = shift;
    $self->install_filter('markdown');
    return $self;
}

sub filter {
    my ($self, $text) = @_;
    ... Code that transforms $text and returns the transformed text ...
}

1;

用法:

[% USE Filter.MultiMarkdown %]

[% FILTER markdown %]...[% END %]
  -or-
[% ... | markdown %]