Text::Transliterator - Wrapper around Perl tr/../../ operator
my $tr = Text::Transliterator->new($from, $to, $modifiers); # or my $tr = Text::Transliterator->new(\%map, $modifiers); $tr->(@strings);
This package is a simple wrapper around Perl's transliteration operator tr/../../... Starting either from two strings of characters, or from a map of characters, it will compile a function that applies the transliteration to any list of strings.
tr/../../..
This does very little work, and therefore would barely merit a module on its own; it was written mainly for serving as a base package for Text::Transliterator::Unaccent. However, in some situations it may be useful in its own right, since Perl has no construct similar to qr/.../ for "compiling" a transliteration. As a matter of fact, the tr/../../ documentation says "if you want to use variables, you must use an eval()" ... which is what the present module does, albeit in a somewhat more controlled way.
qr/.../
tr/../../
my $tr = Text::Transliterator->new($from, $to, $modifiers); # or my $tr = Text::Transliterator->new(\%map, $modifiers);
Creates a new transliterator function.
In the first syntax, the arguments are two strings that will be passed directly to the tr/.../.../ operator (see "Regexp Quote-Like Operators" in perlop), i.e. a string of characters to be replaced, and a string of replacement characters. The third argument $modifiers is optional and may contain a string with any combination of the cds modifiers to the tr/.../.../ operator.
tr/.../.../
$modifiers
cds
In the second syntax, the argument is a hashref, in which keys are the characters to be replaced, and values are the replacement characters. Optional $modifiers are as above.
The return value from that new method is actually a reference to a function, not an object. That function is called as
new
$tr->(@strings);
and modifies every member of @strings in place, like the tr/.../.../ operator. The return value is the number of transliterated characters in the last member of @strings.
@strings
Laurent Dami, <dami@cpan.org>
<dami@cpan.org>
Please report any bugs or feature requests to bug-text-transliterator at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Text-Transliterator. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
bug-text-transliterator at rt.cpan.org
You can find documentation for this module with the perldoc command.
perldoc Text::Transliterator
You can also look for information at:
RT: CPAN's request tracker
http://rt.cpan.org/NoAuth/Bugs.html?Dist=Text-Transliterator
AnnoCPAN: Annotated CPAN documentation
http://annocpan.org/dist/Text-Transliterator
CPAN Ratings
http://cpanratings.perl.org/d/Text-Transliterator
Search CPAN
http://search.cpan.org/dist/Text-Transliterator/
Copyright 2010, 2017 Laurent Dami.
This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.
See http://dev.perl.org/licenses/ for more information.
To install Text::Transliterator, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Text::Transliterator
CPAN shell
perl -MCPAN -e shell install Text::Transliterator
For more information on module installation, please visit the detailed CPAN module installation guide.