From 3de80cb2d8c1c86eafd06d1556817bb4952fcd45 Mon Sep 17 00:00:00 2001 From: Dobrica Pavlinusic Date: Sat, 16 Oct 2010 17:13:26 +0200 Subject: [PATCH] strip spaces around values --- lib/MojoFacets/Import/CSV.pm | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/lib/MojoFacets/Import/CSV.pm b/lib/MojoFacets/Import/CSV.pm index ae8a518..fad2dad 100644 --- a/lib/MojoFacets/Import/CSV.pm +++ b/lib/MojoFacets/Import/CSV.pm @@ -18,15 +18,19 @@ sub _split_line { my ( $delimiter, $line ) = @_; my @v; while ( $line ) { - if ( $line =~ s/^"([^"]+)"\Q$delimiter\E?// ) { - push @v, $1; - } elsif ( $line =~ s/^([^\Q$delimiter\E]+)\Q$delimiter\E?// ) { - push @v, $1; - } elsif ( $line =~ s/^\Q$delimiter\E// ) { - push @v, $null; + my $v; + if ( $line =~ s/^"\s*([^"]+)\s*"\Q$delimiter\E?// ) { + $v = $1; + } elsif ( $line =~ s/^\s*([^\Q$delimiter\E]+)\s*\Q$delimiter\E?// ) { + $v = $1; + } elsif ( $line =~ s/^\s*\Q$delimiter\E// ) { + $v = $null; } else { die "can't parse [$line]\n"; } + + $v =~ s/^\s*(.+?)\s*$/$1/; + push @v, $v; } return @v; -- 2.20.1