Enforce XML::LibXML version requirements
[dbsrgits/SQL-Translator.git] / lib / SQL / Translator / Parser / Excel.pm
index 2f367e3..0d98f6b 100644 (file)
@@ -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 <kclark@cpan.org>,
-#                    darren chamberlain <darren@cpan.org>,
-#                    Chris Mungall <cjm@fruitfly.org>,
-#                    Mike Mellilo <mmelillo@users.sourceforge.net>
+# 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'   :