1 package MojoFacets::Import::CSV;
9 use Data::Dump qw(dump);
12 __PACKAGE__->attr('path');
13 __PACKAGE__->attr('full_path');
18 my $path = $self->path;
20 my $data = read_file $self->full_path, { binmode => ':cp1250' }; # FIXME configurable!
22 my @lines = split(/\r?\n/, $data);
23 $data = { items => [] };
25 my $delimiter = qr/;/;
27 shift @lines; # FIXME ship non-header line
28 my $header_line = shift @lines;
30 my @header = split( $delimiter, $header_line );
31 warn "# header ",dump( @header );
33 while ( my $line = shift @lines ) {
35 my @v = split($delimiter, $line);
37 foreach my $i ( 0 .. $#v ) {
38 $item->{ $header[$i] || "f_$i" } = [ $v[$i] ];
40 push @{ $data->{items} }, $item;
43 $data->{header} = [ @header ];