古い記事
ランダムジャンプ
新しい記事
かなり昔から自分用に使っている半角全角変換テーブル(英数記号用)。
CPANとかにモジュールがあるかもしれないけど、
まあコピペで済むので今後のためにここに載せておく。

my %h2z = (
"0" => "0", "1" => "1", "2" => "2", "3" => "3", "4" => "4",
"5" => "5", "6" => "6", "7" => "7", "8" => "8", "9" => "9",
"A" => "A", "B" => "B", "C" => "C", "D" => "D", "E" => "E",
"F" => "F", "G" => "G", "H" => "H", "I" => "I", "J" => "J",
"K" => "K", "L" => "L", "M" => "M", "N" => "N", "O" => "O",
"P" => "P", "Q" => "Q", "R" => "R", "S" => "S", "T" => "T",
"U" => "U", "V" => "V", "W" => "W", "X" => "X", "Y" => "Y",
"Z" => "Z", "a" => "a", "b" => "b", "c" => "c", "d" => "d",
"e" => "e", "f" => "f", "g" => "g", "h" => "h", "i" => "i",
"j" => "j", "k" => "k", "l" => "l", "m" => "m", "n" => "n",
"o" => "o", "p" => "p", "q" => "q", "r" => "r", "s" => "s",
"t" => "t", "u" => "u", "v" => "v", "w" => "w", "x" => "x",
"y" => "y", "z" => "z", " " => " ", "!" => "!", "\"" => "”",
"\#" => "#", "\$" => "$", "%" => "%", "&" => "&", "'" => "’",
"(" => "(", ")" => ")", "*" => "*", "+" => "+", "," => ",",
"-" => "−", "." => ".", "/" => "/", ":" => ":", ";" => ";",
"<" => "<", "=" => "=", ">" => ">", "?" => "?", "@" => "@",
"[" => "[", "\\" => "¥", "]" => "]", "^" => "^", "_" => "_",
"`" => "‘", "{" => "{", "|" => "|", "}" => "}", "~" => "〜",
);

# test
my $str = join("", map {$_.$h2z{$_}} keys %h2z);
print "$str\n";
$str =~ s{([\x20-\x7e])}{(defined $h2z{$1}) ? $h2z{$1} : $1}eg;
print "$str\n";


英数だけならこちらの方法が手軽です:
- [を] 半角アルファベット・数字を全角に「すぐに」変換[2005-12-10-2]
この記事に言及しているこのブログ内の記事