Text::CSV::Encoded - 日本語を含んだCSVファイルを扱う
日本語を含んだCSVファイルを扱うにはText::CSV::Encodedモジュールを使用します。以下にCSVを処理するサンプルを示します。スクリプトはUTF-8で保存します。
use strict;
use warnings;
use utf8;
use Text::CSV::Encoded;
my $file = shift;
my $encoding = 'UTF-8';
my $csv = Text::CSV::Encoded->new({
encoding_in => $encoding,
encoding_out => $encoding
});
open my $fh, "<", $file
or die "Can't open $file: $!";
while (my $fields = $csv->getline($fh)) {
# データの編集(ここでは最初のフィールドに編集という文字をくっつける)
$fields->[0] .= '編集';
# フィールドのデータを出力
$csv->print(*STDOUT, $fields);
# 改行を出力
print "\n";
}
while文を使って、CSVファイルの行を1行づつ読み込んでいます。
Perlゼミ

