* 日本語テキストファイルの操作 [#f6769a49]
* 日本語テキストファイルの操作 - open()[#f6769a49]
** ファイルを開く [#if477b8a]
- use openで指定するか、3つの引数を取るopen()を使うか。
- use openで指定した時は、必ず2つの引数のopen()を使う。でないと、上書きされる。

*** use open [#re5f9518]
 use open IN => ':utf8';
 open my $in, '<utf.txt' or die;

 use open IN => ':encoding(euc-jp)';
 open my $in, '<euc.txt' or die;

*** 3つの引数を取るopen() [#x38bb27f]
 open IN, "<:encoding(euc-jp)", "euc.txt";

 open IN, "<:utf8", "utf.txt";

** ファイルに書き出す [#a2d214c4]
- 書き出す文字列($text)はUTF8フラグを落としていないと、Perlがwarningを出す。
-(ただし、ファイルにはUTFな文字列がちゃんと書き込まれている。)
- 従って、UTFで出力したい場合でも、下のいずれかの方法でUTFフラグを落としてやる必要がある。
- 書き出す文字列にUTF8フラグがない場合は、何もする必要はない。

*** use open [#ea73e06a]
 use open OUT => ':encoding(shift_jis)';
 open my $out, '>sjis.txt' or die;
 print $out $text;

*** 3つの引数を取るopen() [#b53355bc]
 open my $out, '>:encoding(shift_jis)', 'sjis.txt' or die;
 print $out $text;

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS