1package Data::Localize::Format::Maketext;
2use Moo;
3
4extends 'Data::Localize::Format';
5
6sub format {
7    my ($self, $lang, $value, @args) = @_;
8
9    $value =~ s|\[([^\]]+)\]|
10        my @vars = split(/,/, $1);
11        my $method;
12        if ($vars[0] !~ /^_(-?\d+)$/) {
13            $method = shift @vars;
14        }
15
16        ($method) ?
17            $self->$method( $lang, map { (/^_(-?\d+)$/) ? $args[$1 - 1] : $_; } @args ) :
18            @args[ map { (/^_(-?\d+)$/ ? $1 : $_) - 1 } @vars ];
19    |gex;
20
21    return $value;
22}
23
241;
25
26__END__
27
28=head1 NAME
29
30Data::Localize::Format::Maketext - Maketext Formatter
31
32=head1 METHODS
33
34=head2 format
35
36=cut
37