my $csv = Text::CSV_XS->new ({ binary => 1, sep_char => ':' }); while (my $row = $csv->getline(*ARGV)) { my @fields = @$row; ... } die($csv->error_diag, "\n") if !$csv->eof;