Encodeモジュールで日本語化したい
今まで全てのPerlをjcode.plを使って日本語化してきました。
長年根本の構造をきちんと理解せず、jcode.plは呪文のように最初に宣言して使用してきたため、現在文字化け対策をするため、今回Encodeモジュールを使って日本語変換を行うための方法が分からず困っています。
formから送信されてきたものを変換するため、
foreach $pair(@pairs) {
($name,$value) = split(/=/,$pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg;
$name =~ tr/+/ /;
$name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg;
&jcode'convert(*name,'sjis');
&jcode'convert(*value,'sjis');
$in{$name} = $value;#ここは状況に応じて変えてます
}
として最初に一括して変換してやり、
ウェブ上で表示させるときは
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
を指定してそのまま表示、
メールなどでは
&jis("Subject: $sub"); print AAA "$msg\n";
sub jis { $msg = $_[0]; &jcode'convert(*msg, 'jis'); }
などとして出力してきました。
これらをEncodeモジュールを使って書き換えたいのですが、参考に
http://digit.que.ne.jp/work/wiki.cgi?Perl%E3%83%A1%E3%83%A2%2F%E6%97%A5%E6%9C%AC%E8%AA%9E%E3%81%AE%E6%89%B1%E3%81%84
このページを読んだのですが、perlの根本が理解できていないので、どこをどうしていいのか分かりません。
上のような形式をEncodeモジュールを使って書き換えるとすればどのようにすればいいのでしょうか。
(どう聞けばいいかも分からないので、うまく伝えられたか不安ですが)