--- bin/csv2yaml.pl 2009/03/15 19:45:44 9 +++ bin/csv2yaml.pl 2009/03/15 21:07:54 15 @@ -37,7 +37,33 @@ warn "# fields = ",dump( @fields ) if $debug; - $hash->{ $columns[$_] } = $fields[$_] foreach ( 0 .. $#fields ); + foreach ( 0 .. $#fields ) { + my $n = $columns[$_]; + my $v = $fields[$_]; + + $v =~ s{\s*#\s*$}{}; + $v =~ s{^\s+}{}; + $v =~ s{\s+$}{}; + + # fix tel fields + $v =~ s{\s+}{#}g if $n =~ m{tel}; + $v =~ s[\x{17d}][F] if $n =~ m{spol}; + + if ( $v =~ m{#} ) { + my @v = split(/\s*#\s*/, $v); + foreach my $pos ( 0 .. $#v ) { + if ( $n =~ m{tel} ) { + if ( $v[$pos] =~ m{^09} ) { + $hash->{ $n . '_mobile' } ||= $v[$pos]; + } else { + $hash->{ $n . '_fixed' } ||= $v[$pos]; + } + } + $hash->{ $n . '_' . $pos } = $v[$pos]; + } + } + $hash->{ $n } = $v; + } warn dump( $hash ) if $debug;