CSVエスケープしてくれるTemplateのプラグイン

ってCPANにあったっけ?軽く見てみてもわかんなかったんで作った

package Template::Plugin::EscapeCSV;
use strict;
use warnings;
use base qw/Template::Plugin::Filter/;

our $VERSION = '0.01';

sub init {
    my $self = shift;
    $self->install_filter($self->{_ARGS}->[0] || 'csv');
    $self;
}

sub filter {
    my ($self, $text) = @_;
    $text =~ s/\x22/\x22\x22/go;
    return qq{"$text"};
}

1;

使い方は

[% USE EscapeCSV -%]
[% FOR data IN datas -%]
[% data.name|csv %],[% data.mail|csv %],[% data.address|csv %]
[% END -%]