Acme-Umlautify
view release on metacpan or search on metacpan
lib/Acme/Umlautify.pm view on Meta::CPAN
package Acme::Umlautify;
$Acme::Umlautify::VERSION = '1.07';
require Exporter;
require DynaLoader;
use utf8;
use warnings;
use strict;
push our @ISA, 'Exporter';
our @EXPORT = qw/umlautify umlautify_latin/;
our @EXPORT_OK = qw/umlautify umlautify_latin/;
our %map = ( A => 196, E => 203, I => 207, O => 214, U => 220, a => 228,
e => 235, i => 239, o => 246, u => 252, y => 255 );
sub new {
bless({},$_[0]);
}
sub do {
my $self = shift @_;
return $self->umlautify(@_);
}
sub umlautify {
shift @_ if ref $_[0] eq 'Acme::Umlautify';
my @out = map { join '', map { $_ =~ /[\s\t\n]/ ? $_ : "$_\x{0308}" } split '', $_; } @_;
return wantarray ? @out : $out[0];
}
sub umlautify_latin {
shift @_ if ref $_[0] eq 'Acme::Umlautify';
our %map;
my @out = map { join '', map { $_=chr($map{$_}) if $map{$_}; $_ } split '', $_; } @_;
return wantarray ? @out : $out[0];
}
__END__
=encoding utf8
=head1 NAME:
Acme::Umlautify - AÌdÌdÌ UÌmÌlÌaÌuÌtÌsÌ tÌoÌ eÌvÌeÌrÌyÌtÌhÌiÌnÌgÌ!Ì
=head1 SÌYÌNÌOÌPÌSÌIÌSÌ:Ì
Acme::Umlautify oÌfÌfÌeÌrÌsÌ bÌoÌtÌhÌ aÌnÌ oÌbÌjÌeÌcÌtÌ-ÌoÌrÌiÌeÌnÌtÌeÌdÌ iÌnÌtÌeÌrÌfÌaÌcÌeÌ aÌnÌdÌ aÌnÌ eÌxÌpÌoÌrÌtÌeÌdÌ mÌeÌtÌhÌoÌdÌ
tÌoÌ tÌrÌaÌnÌsÌfÌoÌrÌmÌ sÌtÌrÌiÌnÌgÌsÌ oÌfÌ tÌeÌxÌtÌ iÌnÌtÌoÌ tÌhÌeÌ zÌeÌnÌ oÌfÌ eÌxÌcÌeÌsÌsÌiÌvÌeÌ uÌmÌlÌaÌtÌaÌuÌgÌeÌ.Ì
=head1 UÌSÌAÌGÌEÌ:Ì
EÌxÌpÌoÌrÌtÌeÌdÌ MÌeÌtÌhÌoÌdÌ UÌsÌaÌgÌeÌ:Ì
use Acme::Umlautify 'umlautify';
print umlautify('Yea verily umlauts doth rock, dude.');
OÌbÌjÌeÌcÌtÌ-ÌOÌrÌiÌeÌnÌtÌeÌdÌ UÌsÌaÌgÌeÌ:Ì
use Acme::Umlautify;
my $au = new Acme::Umlautify;
print $au->umlautify('"Motley Crue" could have had way more umlauts, dude.');
IÌnÌ eÌiÌtÌhÌeÌrÌ cÌaÌsÌeÌ,Ì gÌiÌvÌeÌnÌ aÌnÌ aÌrÌrÌaÌyÌ oÌfÌ iÌnÌpÌuÌtÌ sÌtÌrÌiÌnÌgÌsÌ,Ì aÌ cÌoÌrÌrÌeÌsÌpÌoÌnÌdÌiÌnÌgÌ aÌrÌrÌaÌyÌ iÌsÌ
rÌeÌtÌuÌrÌnÌeÌdÌ lÌoÌoÌkÌiÌnÌgÌ fÌaÌrÌ cÌoÌoÌlÌeÌrÌ.Ì OÌnÌ aÌ sÌcÌaÌlÌeÌ oÌfÌ oÌnÌeÌ tÌoÌ tÌeÌnÌ iÌtÌ'ÌsÌ aÌnÌ EÌLÌEÌVÌEÌNÌ!Ì
=head1 LÌAÌTÌIÌNÌ MÌOÌDÌEÌ:Ì
BÌyÌ dÌeÌfÌaÌuÌlÌtÌ,Ì uÌmÌlÌaÌuÌtÌsÌ aÌdÌdÌeÌdÌ tÌoÌ aÌlÌlÌ nÌoÌnÌ-ÌsÌpÌaÌcÌeÌ cÌhÌaÌrÌaÌcÌtÌeÌrÌsÌ bÌyÌ mÌaÌpÌpÌiÌnÌgÌ tÌhÌeÌmÌ tÌoÌ
UÌTÌFÌ-Ì8Ì cÌhÌaÌrÌaÌcÌtÌeÌrÌsÌ.Ì AÌsÌ wÌiÌtÌhÌ aÌlÌlÌ hÌaÌnÌdÌlÌiÌnÌgÌ oÌfÌ UÌTÌFÌ,Ì tÌhÌiÌsÌ mÌaÌyÌ oÌrÌ mÌaÌyÌ nÌoÌtÌ cÌaÌuÌsÌeÌ iÌsÌsÌuÌeÌsÌ.Ì
IÌnÌ oÌlÌdÌeÌrÌ vÌeÌrÌsÌiÌoÌnÌsÌ oÌfÌ tÌhÌiÌsÌ mÌoÌdÌuÌlÌeÌ,Ì aÌ LÌaÌtÌiÌnÌ-Ì1Ì eÌnÌcÌoÌdÌiÌnÌgÌ tÌeÌcÌhÌnÌiÌqÌuÌeÌ wÌaÌsÌ uÌsÌeÌdÌ.Ì CÌhÌaÌrÌaÌcÌtÌeÌrÌsÌ
wÌeÌrÌeÌ sÌiÌmÌpÌlÌyÌ mÌaÌpÌpÌeÌdÌ tÌoÌ tÌhÌeÌsÌeÌ cÌoÌrÌrÌeÌsÌpÌoÌnÌdÌiÌnÌgÌ chr() cÌoÌdÌeÌsÌ:Ì
A = 196 e = 203 i = 207 o = 214 U = 220 A = 228
e = 235 i = 239 o = 246 U = 252 Y = 255
TÌhÌiÌsÌ lÌeÌfÌtÌ uÌsÌ wÌiÌtÌhÌ tÌhÌeÌ sÌiÌtÌuÌaÌtÌiÌoÌnÌ wÌhÌeÌrÌeÌ tÌhÌeÌrÌeÌ wÌaÌsÌ nÌoÌ lÌoÌwÌeÌrÌ-ÌcÌaÌsÌeÌ yÌ wÌiÌtÌhÌ
uÌmÌlÌaÌuÌtÌsÌ.Ì AÌnÌdÌ fÌoÌrÌ fÌaÌnÌsÌ oÌfÌ SÌpÌiÌnÌaÌlÌ TÌaÌpÌ,Ì tÌhÌeÌrÌeÌ wÌaÌsÌ nÌoÌ NÌ wÌiÌtÌhÌ uÌmÌlÌaÌuÌtÌsÌ.Ì TÌhÌeÌyÌ wÌeÌrÌeÌ
sÌtÌuÌcÌkÌ uÌpÌdÌaÌtÌiÌnÌgÌ tÌhÌeÌiÌrÌ tÌeÌrÌmÌiÌnÌaÌlÌsÌ mÌaÌnÌuÌaÌlÌlÌyÌ wÌiÌtÌhÌ iÌnÌkÌ.Ì
IÌfÌ yÌoÌuÌ wÌiÌsÌhÌ tÌoÌ uÌsÌeÌ tÌhÌiÌsÌ oÌlÌdÌeÌrÌ,Ì lÌeÌsÌsÌ aÌwÌeÌsÌoÌmÌeÌ,Ì LÌaÌtÌiÌnÌ-Ì1Ì eÌnÌcÌoÌdÌiÌnÌgÌ,Ì iÌtÌ iÌsÌ aÌvÌaÌiÌlÌaÌbÌlÌeÌ aÌsÌ
aÌ mÌeÌtÌhÌoÌdÌ aÌnÌdÌ aÌlÌsÌoÌ eÌxÌpÌoÌrÌtÌeÌdÌ aÌsÌumlautify_latin()
=head1 BÌUÌGÌSÌ AÌNÌDÌ SÌOÌUÌRÌCÌEÌ:Ì
BÌuÌgÌ tÌrÌaÌcÌkÌiÌnÌgÌ fÌoÌrÌ tÌhÌiÌsÌ mÌoÌdÌuÌlÌeÌ:Ì https://rt.cpan.org/Dist/Display.html?Name=ACME-Umlautify
SÌoÌuÌrÌcÌeÌ hÌoÌsÌtÌiÌnÌgÌ:Ì http://www.github.com/bennie/perl-ACME-Umlautify
=head1 TÌEÌRÌMÌIÌNÌOÌLÌOÌGÌYÌ:Ì
"ÌIÌsÌ tÌhÌeÌ tÌeÌrÌmÌ "ÌuÌmÌlÌaÌuÌtÌ"Ì cÌoÌrÌrÌeÌcÌtÌ?Ì DÌoÌeÌsÌnÌ'ÌtÌ tÌhÌaÌtÌ oÌnÌlÌyÌ rÌeÌfÌeÌrÌ tÌoÌ tÌhÌeÌ lÌeÌtÌtÌeÌrÌ UÌ wÌiÌtÌhÌ tÌhÌeÌ
tÌwÌoÌ dÌoÌtÌsÌ?Ì IÌsÌnÌ'ÌtÌ tÌhÌeÌ tÌeÌrÌmÌ 'ÌdÌiÌaÌeÌrÌeÌsÌiÌsÌ'Ì tÌhÌeÌ cÌoÌrÌrÌeÌcÌtÌ nÌaÌmÌeÌ?Ì"Ì
YÌeÌsÌ.Ì NÌoÌ.Ì AÌnÌdÌ pÌoÌsÌsÌiÌbÌlÌyÌ.Ì
( run in 3.708 seconds using v1.01-cache-2.11-cpan-437f7b0c052 )