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Ì:Ì
( run in 2.215 seconds using v1.01-cache-2.11-cpan-0bb4e1dffa6 )