- Text::CSV
- Text::CSV_XS
process csv file using Text::CSV
What if there is a field with embedded comma (,)?
examples/perlarrays/process_csv_file_module.csv
Tudor;Vidor;10;Hapci Szundi;Morgo;7;Szende Kuka;"Hofeherke; alma";100;Kiralyno Boszorkany;Herceg;9;Meselo
examples/perlarrays/process_csv_file_module.pl
#!/usr/bin/perl use strict; use warnings; use Text::CSV; my $csv = Text::CSV->new({ sep_char => ';' }); my $file = 'process_csv_file_module.csv'; if (defined $ARGV[0]) { $file = $ARGV[0]; } my $sum = 0; open(my $data, '<', $file) or die "Could not open '$file'\n"; while (my $line = <$data>) { chomp $line; if ($csv->parse($line)) { my @fields = $csv->fields(); $sum += $fields[2]; } else { warn "Line could not be parsed: $line\n"; } } print "$sum\n";