# encodeOpen.pl 入力ファイルを指定して,特定のエンコードで読み込み標準出力に出力するスクリプト # 2005-05-12 (c) CHIBA Shoju (e-mail: schiba(at)reitaku-u.ac.jp) # スクリプトの加工,再利用は自由です。 use encoding "shiftjis"; # encoding プラグマで標準出入力及びスクリプトのエンコードを shiftjis に指定 binmode STDERR, ":encoding(shiftjis)"; # encoding プラグマで標準エラー出力のエンコードを shiftjis に指定 use Encode 'decode'; # Encode モジュール (Encode.pm) の decode 関数を使用することを宣言 $inputtext = 'sjis.txt'; # 入力テキストは Shift JIS open (IN, '<', $inputtext); # ファイルを読み込み専用としてオープン while () { # 先ほどオープンしたファイルハンドル IN を指定して,読み込む (標準出力 <> ではない) $line = decode('shiftjis', $_); # ファイルからの入力は Encode::decode 関数で個別にエンコードを指定する。ここでは shiftjis を指定しているが,入力ファイルのエンコードにあわせ,euc-jp なども指定可能。 print $line; # ここで出力される内容は標準出力なので encoding プラグマにより Shift JIS に自動変換される。 } close (IN); # ファイルハンドルを閉じる