1.20 CSVファイルを解析する

# 方法1 Text::ParseWords
use Text::ParseWords;
sub parse_csv0 {
  return quotewords("," => 0, $_[0]);
}

# 方法2 Text::CSV
use Text::CSV;
sub parse_csv1 {
  my $line = shift;
  my $csv = Text::CSV->new();
  return $csv->parse($line) && $csv->fields();
}

# 方法3 Tie::CSV_File
tie @data, "Tie::CSV_File", "data.csv";

for ($i = 0; $i < @data; $i++) {
  printf "Row %d (Line %d) is %s\n", $i, $i+1, "@{$data[$i]}";
  for ($j = 0; $j < @{$data[$i]}; $i++) {
    print "Column $j is <$data[$i][$j]>\n";
  }
}