default to , delimited csv
authorDobrica Pavlinusic <dpavlin@rot13.org>
Sun, 11 Jul 2010 21:44:47 +0000 (23:44 +0200)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Sun, 11 Jul 2010 21:44:47 +0000 (23:44 +0200)
Switch to ; delimited only if we don't have ; in first line
(which is some cruft in my file)

This allowes me to read in "normal" csv files with ease

lib/MojoFacets/Import/CSV.pm

index 5a83884..d3fbb3b 100644 (file)
@@ -23,9 +23,13 @@ sub data {
        my @lines = split(/\r?\n/, $data);
        $data = { items => [] };
 
-       my $delimiter = qr/;/;
+       my $delimiter = qr/,/;
+
+       if ( $lines[0] !~ /;/ && $lines[1] =~ /;/ ) {
+               shift @lines; # FIXME ship non-header line
+               $delimiter = qr/;/;
+       }
 
-       shift @lines; # FIXME ship non-header line
        my $header_line = shift @lines;
 
        my @header = split( $delimiter, $header_line );