App-DBBrowser
view release on metacpan or search on metacpan
lib/App/DBBrowser/GetContent/Parse.pm view on Meta::CPAN
seek $fh, 0, 0;
require String::Unescape;
my $options = {
map { $_ => String::Unescape::unescape( $sf->{o}{csv_in}{$_} ) }
# grep length: keep the default value if the option is set to ''
grep { length $sf->{o}{csv_in}{$_} }
keys %{$sf->{o}{csv_in}}
};
require Text::CSV_XS;
my $csv = Text::CSV_XS->new( $options ) or die Text::CSV_XS->error_diag();
$csv->callbacks( error => sub {
my ( $code, $str, $pos, $rec, $fld ) = @_;
if ( $code == 2012 ) {
# no warnings for end of data.
# 2012 "EOF - End of data in parsing input stream"
}
else {
my $error_input = $csv->error_input() // 'No Error Input defined.';
my $prompt = "Error Input:";
$error_input =~ s/\R/ /g;
my $info = "Close with ENTER\nText::CSV_XS\n$code $str\nrecord:$rec field:$fld position:$pos\n";
( run in 0.265 second using v1.01-cache-2.11-cpan-8d75d55dd25 )