- 追加された行はこの色です。
- 削除された行はこの色です。
* use encoding [#o1debe37]
** 効果 [#e2b879ba]
- Perlのソースコード自体の文字列を、UTF8フラグ付きにする。
- 標準入力と標準出力を指定した文字コードに変換する。
- その際、入力についてはUTF8フラグを付け、出力についてはUTF8フラグを落とす。
** 使いどころ [#ob588d97]
Perlのソースコード内に日本語を書いて、それを加工するような時。
上のプログラムは正しく「あ」が表示される。下は化ける。
#!/usr/bin/perl
use encoding 'euc-jp';
$text = "あああ";
print substr($text,0,1),"\n";
#!/usr/bin/perl
#use encoding 'euc-jp';
$text = "あああ";
print substr($text,0,1),"\n";
** 注意点 [#b996384e]
- ファイルの入出力については効果がない。それにはuse openなどを使う。
- (標準出力に)print()する文字列はUTF8フラグがあってはならない(Perlがwarningを出す)。そのため、出力時にUTF8を落とすのは必要なこと。
** 文字コードの変換 [#caf98f4d]
以下のようにすると、EUCからSJISへ変換して表示される。
#!/usr/bin/perl
use encoding 'euc-jp', STDOUT=>'shift_jis'
while(<>){
print $_;
}
**use utf8 [#o15c2b2e]
use utf8は、use encoding 'utf8'と同じ意味。