Tripletail::CSV - CSV のパースと生成

TABLE OF CONTENTS


NAME

Tripletail::CSV - CSV のパースと生成


SYNOPSIS

  # パース
  my $csv = $TL->getCsv;
  my $parser = $csv->parseCsv($CGI->getFile('upload'));
  
  while (my $row = $parser->next) {
      # $row: ['カラム1', 'カラム2', ...]
  }
  
  # 生成
  $TL->print($csv->makeCsv([ qw(aaa bbb ccc) ]), "\n");
  $TL->print($csv->makeCsv([ qw(aaa bbb ccc) ]), "\n");

DESCRIPTION

CSV のパースと生成を行う為のクラス。 カンマを含むカラム、改行コードを含むカラム等も 正しく処理する事が出来る。

文字列のパースの他に、ファイルハンドルからのパースも可能。

METHODS

$TL->getCsv
  my $csv = $TL->getCsv;

Tripletail::CSV オブジェクトを取得する。

parseCsv
  my $parser = $csv->parseCsv("a,b,c,d,e");
  my $parser = $csv->parseCsv(IO::Scalar->new(\"a,b,c,d,e"));

与えられた文字列またはファイルハンドルから パーサオブジェクトを生成する。

返されたオブジェクトに対して next メソッドを一度呼ぶ度に、 一行分のデータが配列リファレンスで返される。 最後の行を読んだ後は undef が返される。

  while (my $row = $parser->next) {
      ...
  }

CSV に問題があってパースできない場合は、next メソッドを呼んだ 時に例外が発生する。

makeCsv
  my $line = $csv->makeCsv([1, 2, 3]);

与えられた配列リファレンスから CSV 1行を生成して返す。 戻り値の末尾に改行文字は付加されない。


BUGS

このモジュールは Text::CSV_XS に依存しており、もしそれが利用可能 でない状態で $TL->getCsv を呼ぶと例外が発生する。


SEE ALSO

Tripletail
Text::CSV_XS

AUTHOR INFORMATION

Tripletail::CSV - CSV のパースと生成

INDEX

Tripletail::CSV - CSV のパースと生成