Acme-EnclosedChar
view release on metacpan or search on metacpan
lib/Acme/EnclosedChar.pm view on Meta::CPAN
package Acme::EnclosedChar;
use strict;
use warnings;
use utf8;
use parent qw/Exporter/;
our @EXPORT_OK = qw/
enclose
enclose_katakana
enclose_week_ja
enclose_kansuji
enclose_kanji
enclose_all
/;
our $VERSION = '0.09';
my %MAP;
{
my @double_digits = split('', 'â©âªâ«â¬ââ®â¯â°â±â²'
. 'â³ããããããããã'
. 'ããããããã±ã²ã³ã´'
. 'ãµã¶ã·ã¸ã¹ãºã»ã¼ã½ã¾ã¿');
for my $i (10..50) {
$MAP{double_digits}->{$i} = shift @double_digits;
}
}
sub _tr_double_digits {
for my $dg (keys %{$MAP{double_digits}}) {
${$_[0]} =~ s!(^|[^\d])$dg([^\d]|$)!$1$MAP{double_digits}->{$dg}$2!g;
}
}
sub _tr_numbers {
${$_[0]} =~ tr/0123456789/âªâ â¡â¢â£â¤â¥â¦â§â¨/;
}
sub _tr_alphabet_uc {
${$_[0]} =~ tr/ABCDEFGHIJKLMNOPQRSTUVWXYZ/â¶â·â¸â¹âºâ»â¼â½â¾â¿ââââââ
ââââââââââ/;
}
sub _tr_alphabet_lc {
${$_[0]} =~ tr/abcdefghijklmnopqrstuvwxyz/âââââââââââââââââ â¡â¢â£â¤â¥â¦â§â¨â©/;
}
sub _tr_symbols {
${$_[0]} =~ tr/\-\=\+\*/ââââ/;
}
sub _tr_katakana {
${$_[0]} =~ tr/ã¢ã¤ã¦ã¨ãªã«ãã¯ã±ã³ãµã·ã¹ã»ã½ã¿ããããããããããããããããã ã¡ã¢ã¤ã¦ã¨ã©ãªã«ã¬ãã¯ã°ã±ã²/ããããããããããããããããã ã¡ã¢ã£ã¤ã¥ã¦ã§ã¨ã©ãªã«ã¬ã...
}
sub _tr_week_ja {
${$_[0]} =~ tr/æç«æ°´æ¨é忥/ããããããã/;
}
sub _tr_kansuji {
${$_[0]} =~ tr/ä¸äºä¸åäºå
ä¸å
«ä¹å/ãããããã
ãããã/;
}
sub _tr_kanji {
${$_[0]} =~ tr/æ ªæç¤¾åç¹è²¡ç¥å´ç§ç·å¥³é©åªå°æ³¨é ä¼åæ£ä¸ä¸ä¸å·¦å³å»å®å¦ç£ä¼è³åå¤/ãããããããããããããããã ã¡ã¢ã£ã¤ã¥ã¦ã§ã¨ã©ãªã«ã¬ãã®ã¯ã°/;
}
( run in 0.561 second using v1.01-cache-2.11-cpan-5735350b133 )