UTF-8を使用する
プログラムを記述する場合に文字コードとしてUTF-8を使用する場合を確認します。
UTF-8を使用する場合は「utf8」プラグマを使ってプログラムの冒頭で次のように記述します。
use utf8;
これでPerlのプログラムがUTF-8を使って記述されていることを宣言することができます。テキストエディタなどでプログラムを記述した時に、文字コードをUTF-8を指定して保存して下さい。
ただしWindows環境の場合であれば、何かキーボードから文字を入力したり、画面に出力する時にはシフトJISを使用するため合わせて次の設定が必要となります。
use utf8; binmode STDIN, ':encoding(cp932)'; binmode STDOUT, ':encoding(cp932)'; binmode STDERR, ':encoding(cp932)';
※「cp932」はMicrosoftがShift_JISを独自に拡張した文字コードです。「cp932」の代わりに「shiftjis」や「Shift_JIS」を指定してもいいですが「cp932」の方がよりよさそうです。
これで標準入力からはシフトJISがUTF-8に変換されて読み込まれ、標準出力と標準エラー出力にはUTF-8がシフトJISに変換されて出力されます。
これでUTF-8を使ってPerlのプログラムを記述する準備ができました。
サンプルプログラム
では簡単なプログラムで確認して見ます。
use strict; use warnings; use utf8; binmode STDIN, ':encoding(cp932)'; binmode STDOUT, ':encoding(cp932)'; binmode STDERR, ':encoding(cp932)'; print "こんにちは¥n"; print "図表¥n";
上記を「test1-1.pl」の名前で保存します。保存する時の文字コードは「UTF-8」として下さい。そしてコマンドプロンプトを起動し、プログラムを保存したディレクトリに移動してから次のように実行して下さい。
日本語も問題なく処理されていることが確認できます。
( Written by Tatsuo Ikura )