Perlで日本語
・Perlで日本語を使用するときの三原則
原則1:外部から入力された文字列はデコードして内部文字列に変換する
# 文字コードはバイト文字列がどの文字コードで記述されているかを知らせるもの
内部文字列 = decode(文字コード,バイト文字列);
use Encode 'decode';
# コマンドライン引数(外部からの入力)
my $byte_str = shift;
# UTF-8バイト文字列を内部文字列に変換
my $internal_str = decode('UTF-8',$byte_str);
原則2:外部へ出力する文字列はデコードしてバイト文字列に変換する
バイト文字列 = encode(文字コード,内部文字列);
use Encode 'decode';
# 内部文字列をUTF-8バイト文字列に変換
my $byte_str = encode('UTF-8',$internal_str);
原則3:ソースコードはUTF-8で保存し、utf8プラグマを有効にする
UTF-8文字列リテラルを内部文字列に変換
use Encode 'decode'
my $byte_str = 'あいうえお';
my $internal_str = decode('UTF-8',$byte_str);