回答編集履歴
1
補足
test
CHANGED
@@ -3,3 +3,22 @@
|
|
3
3
|
ここをみて原則通りにやってみてください。
|
4
4
|
現状では、入力データのデコード、出力データのエンコード、ともにできていないでしょう。あらゆる処理はデコードされたデータに対してしか試みてはいけません。
|
5
5
|
|
6
|
+
最低限のコードを書いておきます。
|
7
|
+
* データは読み込むと同時にデコードする。
|
8
|
+
* データは書き込む寸前にエンコードする。
|
9
|
+
* いま扱おうとしているデータがデコードされているのか居ないのか常に意識する。
|
10
|
+
* あらゆる処理はデコードされたデータについてのみ行う。
|
11
|
+
* あやふやな認識のまま試行錯誤をしない。
|
12
|
+
* **巷にあふれるいい加減な解説は信用しない**。
|
13
|
+
|
14
|
+
```
|
15
|
+
use strict;
|
16
|
+
use warnings;
|
17
|
+
use utf8;
|
18
|
+
|
19
|
+
open(my $fhi, '<encoding(cp932)', "input.sjis.txt") or die; # 読み込みながらdecode
|
20
|
+
open(my $fho, '>:utf8', "output.utf8.out"); # 書き出す時にencode
|
21
|
+
while(<$fhi>){
|
22
|
+
/東京/ and print {$fho} $_;
|
23
|
+
}
|
24
|
+
```
|