X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FSQL%2FTranslator%2FParser%2FExcel.pm;h=0d98f6ba826bd5d77ad00cc92bd721b1f51ef82a;hb=f997b9abba66e206221b46a5ecedc597327eba64;hp=2f367e3e11d80ddccb79057eec4d6e7970c4b93e;hpb=854b7210fa1f6c5d1729314fedc76346009cb00b;p=dbsrgits%2FSQL-Translator.git diff --git a/lib/SQL/Translator/Parser/Excel.pm b/lib/SQL/Translator/Parser/Excel.pm index 2f367e3..0d98f6b 100644 --- a/lib/SQL/Translator/Parser/Excel.pm +++ b/lib/SQL/Translator/Parser/Excel.pm @@ -1,12 +1,7 @@ package SQL::Translator::Parser::Excel; # ------------------------------------------------------------------- -# $Id: Excel.pm,v 1.10 2003-10-10 15:58:11 kycl4rk Exp $ -# ------------------------------------------------------------------- -# Copyright (C) 2003 Ken Y. Clark , -# darren chamberlain , -# Chris Mungall , -# Mike Mellilo +# Copyright (C) 2002-2009 SQLFairy Authors # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License as @@ -54,7 +49,7 @@ and field sizes. True by default. use strict; use vars qw($DEBUG $VERSION @EXPORT_OK); $DEBUG = 0 unless defined $DEBUG; -$VERSION = sprintf "%d.%02d", q$Revision: 1.10 $ =~ /(\d+)\.(\d+)/; +$VERSION = '1.59'; use Spreadsheet::ParseExcel; use Exporter; @@ -153,8 +148,11 @@ sub parse { $data =~ /^-?\.\d+$/ ) { $type = 'float'; - my ( $w, $d ) = map { s/,//g; $_ } split( /\./, $data ); - $size = [ length $w + length $d, length $d ]; + my ( $w, $d ) = + map { s/,//g; length $_ || 1 } + split( /\./, $data ) + ; + $size = [ $w + $d, $d ]; } else { $type = 'char'; @@ -173,7 +171,7 @@ sub parse { } for my $field ( keys %field_info ) { - my $size = $field_info{ $field }{'size'} || 0; + my $size = $field_info{ $field }{'size'} || [ 1 ]; my $data_type = $field_info{ $field }{'char'} ? 'char' : $field_info{ $field }{'float'} ? 'float' :