Perl入門ゼミ

テキスト処理、Linuxサーバー管理、Web開発
  1. Perl
  2. モジュール
  3. Text::CSV::Encoded

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";
}