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行づつ読み込んでいます。