#!/usr/bin/perl use strict; use warnings; use Text::CSV; my $csv = Text::CSV->new(); # create a new object $csv->setDelimiter('|'); my $sample_input_string = '""|""|""|""|""|""|""|""|Submit|""|""|""|GSM|GSM|'; if ($csv->parse($sample_input_string)) { my @field = $csv->fields; my $count = 0; for my $column (@field) { print ++$count, " => ", $column, "\n"; } print "\n"; } else { my $err = $csv->error_input; print "parse() failed on argument: ", $err, "\n"; }