From 2c54dc7da9968049249cccbb0e7457696ca18606 Mon Sep 17 00:00:00 2001 From: Dobrica Pavlinusic Date: Sat, 16 Oct 2010 14:55:01 +0200 Subject: [PATCH] strip quotes around values with spaces This still doesn't make us compliant CSV parser, since current code *WILL* split csv wrongly if delimiter is inside quotes --- lib/MojoFacets/Import/CSV.pm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/MojoFacets/Import/CSV.pm b/lib/MojoFacets/Import/CSV.pm index 479308b..de661c5 100644 --- a/lib/MojoFacets/Import/CSV.pm +++ b/lib/MojoFacets/Import/CSV.pm @@ -39,7 +39,7 @@ sub data { my $header_line = shift @lines; - my @header = split( $delimiter, $header_line ); + my @header = map { s/^"(.+)"$/$1/; $_ } split( $delimiter, $header_line ); warn "# header ",dump( @header ); while ( my $line = shift @lines ) { @@ -47,7 +47,9 @@ sub data { my @v = split($delimiter, $line); my $item; foreach my $i ( 0 .. $#v ) { - $item->{ $header[$i] || "f_$i" } = [ $v[$i] ]; + my $v = $v[$i]; + $v =~ s/^"(.+)"$/$1/; + $item->{ $header[$i] || "f_$i" } = [ $v ]; } push @{ $data->{items} }, $item; } -- 2.20.1