Hello community,

here is the log from the commit of package perl-Spreadsheet-Read for 
openSUSE:Factory checked in at 2013-06-25 06:58:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Spreadsheet-Read (Old)
 and      /work/SRC/openSUSE:Factory/.perl-Spreadsheet-Read.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-Spreadsheet-Read"

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/perl-Spreadsheet-Read/perl-Spreadsheet-Read.changes  
    2012-02-17 15:01:09.000000000 +0100
+++ 
/work/SRC/openSUSE:Factory/.perl-Spreadsheet-Read.new/perl-Spreadsheet-Read.changes
 2013-06-25 06:58:15.000000000 +0200
@@ -1,0 +2,22 @@
+Sat Jun 15 10:44:00 UTC 2013 - [email protected]
+
+- obsolete xsl2csv
+
+------------------------------------------------------------------
+Tue Jun  4 18:21:48 UTC 2013 - [email protected]
+
+- updated to 0.49
+    * /dev/null cannot be used for tests on Windows
+    * Improve documentation consistency (RT#80409)
+    * Updated copyright to 2013
+    * Force old(er) tar format (ustar) - assumes GNU tar on release box
+    * Fix yml/json optional_features
+    * Install utilities from example by default
+    * Several minor changes (for maint)
+    * Note that empty sheets are skipped when clip is true (RT#75277)
+    * Allow undef as valid value for the options (Max Maischein)
+    * Don't generate warnings when stripping whitespace and only
+      generating one of cells or rc. (Max Maschein)
+    * Fix test warning under perl-5.17.x
+
+-------------------------------------------------------------------

Old:
----
  Spreadsheet-Read-0.46.tgz

New:
----
  Spreadsheet-Read-0.49.tgz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ perl-Spreadsheet-Read.spec ++++++
--- /var/tmp/diff_new_pack.bgrWgg/_old  2013-06-25 06:58:16.000000000 +0200
+++ /var/tmp/diff_new_pack.bgrWgg/_new  2013-06-25 06:58:16.000000000 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package perl-Spreadsheet-Read
 #
-# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -19,7 +19,7 @@
 %bcond_with opt
 
 Name:           perl-Spreadsheet-Read
-Version:        0.46
+Version:        0.49
 Release:        0
 %define cpan_name Spreadsheet-Read
 Summary:        Read the data from a spreadsheet
@@ -29,6 +29,8 @@
 Source:         
http://www.cpan.org/authors/id/H/HM/HMBRAND/%{cpan_name}-%{version}.tgz
 BuildArch:      noarch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
+Obsoletes:      xls2csv < 1.07
+Provides:       xls2csv = 1.07
 BuildRequires:  perl
 BuildRequires:  perl-macros
 BuildRequires:  perl(Test::Harness)
@@ -46,11 +48,8 @@
 BuildRequires:  perl(Text::CSV_PP) >= 1.23
 BuildRequires:  perl(Text::CSV_XS) >= 0.69
 %endif
-Requires:       perl(File::Temp)
 %{perl_requires}
 %if 0%{?suse_version} > 1010
-Recommends:     perl(File::Temp) >= 0.22
-Recommends:     perl(IO::Scalar)
 Recommends:     perl(Spreadsheet::ParseExcel) >= 0.26
 Recommends:     perl(Spreadsheet::ParseExcel::FmtDefault)
 Recommends:     perl(Spreadsheet::ReadSXC) >= 0.2

++++++ Spreadsheet-Read-0.46.tgz -> Spreadsheet-Read-0.49.tgz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Spreadsheet-Read-0.46/Changes 
new/Spreadsheet-Read-0.49/Changes
--- old/Spreadsheet-Read-0.46/Changes   2012-02-14 08:48:36.000000000 +0100
+++ new/Spreadsheet-Read-0.49/Changes   2013-05-11 09:11:31.000000000 +0200
@@ -1,3 +1,21 @@
+0.49   - 11 May 2013, H.Merijn Brand
+    * /dev/null cannot be used for tests on Windows
+
+0.48   - 14 Mar 2013, H.Merijn Brand
+    * Improve documentation consistency (RT#80409)
+    * Updated copyright to 2013
+    * Force old(er) tar format (ustar) - assumes GNU tar on release box
+    * Fix yml/json optional_features
+    * Install utilities from example by default
+    * Several minor changes (for maint)
+
+0.47   - 30 Jun 2012, H.Merijn Brand
+    * Note that empty sheets are skipped when clip is true (RT#75277)
+    * Allow undef as valid value for the options (Max Maischein)
+    * Don't generate warnings when stripping whitespace and only
+      generating one of cells or rc. (Max Maschein)
+    * Fix test warning under perl-5.17.x
+
 0.46   - 14 Feb 2012, H.Merijn Brand
     * Updated copyright to 2012
     * Support passing attributes to the underlying parser
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Spreadsheet-Read-0.46/MANIFEST 
new/Spreadsheet-Read-0.49/MANIFEST
--- old/Spreadsheet-Read-0.46/MANIFEST  2012-02-14 08:53:37.000000000 +0100
+++ new/Spreadsheet-Read-0.49/MANIFEST  2013-05-25 10:31:48.000000000 +0200
@@ -23,6 +23,7 @@
 files/macosx.xls
 files/misc.xls
 files/misc.xlsx
+files/misc_ws.xls
 files/perc.xls
 files/perc.xlsx
 files/test.csv
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Spreadsheet-Read-0.46/META.json 
new/Spreadsheet-Read-0.49/META.json
--- old/Spreadsheet-Read-0.46/META.json 2012-02-14 08:53:38.000000000 +0100
+++ new/Spreadsheet-Read-0.49/META.json 2013-05-25 10:31:48.000000000 +0200
@@ -1,89 +1,129 @@
 {
-   "resources" : {
-      "repository" : "http://repo.or.cz/w/Spreadsheet-Read.git";,
-      "license" : "http://dev.perl.org/licenses/";
-      },
-   "meta-spec" : {
-      "version" : "2.0",
-      "url" : "https://metacpan.org/module/CPAN::Meta::Spec?#meta-spec";
-      },
-   "test_requires" : {
-      "Test::More" : "0.88",
-      "Test::Harness" : "0",
-      "Test::NoWarnings" : "0"
-      },
-   "distribution_type" : "module",
-   "generated_by" : "Author",
-   "version" : "0.46",
    "name" : "Spreadsheet-Read",
+   "release_status" : "stable",
    "author" : [
       "H.Merijn Brand <[email protected]>"
-      ],
-   "license" : "perl",
-   "provides" : {
-      "Spreadsheet::Read" : {
-         "version" : "0.46",
-         "file" : "Read.pm"
-         }
-      },
+   ],
+   "abstract" : "Meta-Wrapper for reading spreadsheet data",
+   "meta-spec" : {
+      "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec";,
+      "version" : "2"
+   },
+   "dynamic_config" : 1,
+   "license" : [
+      "perl_5"
+   ],
+   "version" : "0.49",
    "optional_features" : {
-      "opt_tools" : {
-         "recommends" : {
-            "Tk::TableMatrix::Spreadsheet" : "0",
-            "Tk::NoteBook" : "0",
-            "Tk" : "0"
-            },
-         "description" : "Spreadsheet tools"
+      "opt_csv" : {
+         "prereqs" : {
+            "runtime" : {
+               "requires" : {
+                  "Text::CSV_XS" : "0.69"
+               },
+               "recommends" : {
+                  "Text::CSV_XS" : "0.97",
+                  "Text::CSV_PP" : "1.29",
+                  "Text::CSV" : "1.21"
+               }
+            }
          },
+         "description" : "Provides parsing of CSV streams"
+      },
       "opt_excelx" : {
-         "requires" : {
-            "Spreadsheet::XLSX" : "0.13",
-            "Spreadsheet::XLSX::Fmt2007" : "0"
-            },
-         "description" : "Provides parsing of Microsoft Excel 2007 files"
+         "description" : "Provides parsing of Microsoft Excel 2007 files",
+         "prereqs" : {
+            "runtime" : {
+               "requires" : {
+                  "Spreadsheet::XLSX::Fmt2007" : "0",
+                  "Spreadsheet::XLSX" : "0.13"
+               }
+            }
+         }
+      },
+      "opt_excel" : {
+         "prereqs" : {
+            "runtime" : {
+               "recommends" : {
+                  "Spreadsheet::ParseExcel" : "0.59"
+               },
+               "requires" : {
+                  "Spreadsheet::ParseExcel::FmtDefault" : "0",
+                  "Spreadsheet::ParseExcel" : "0.26"
+               }
+            }
          },
-      "opt_csv" : {
-         "requires" : {
-            "Text::CSV_XS" : "0.69"
-            },
-         "recommends" : {
-            "Text::CSV_PP" : "1.29",
-            "Text::CSV_XS" : "0.86",
-            "Text::CSV" : "1.21"
-            },
-         "description" : "Provides parsing of CSV streams"
+         "description" : "Provides parsing of Microsoft Excel files"
+      },
+      "opt_tools" : {
+         "prereqs" : {
+            "runtime" : {
+               "recommends" : {
+                  "Tk::TableMatrix::Spreadsheet" : "0",
+                  "Tk::NoteBook" : "0",
+                  "Tk" : "0"
+               }
+            }
          },
+         "description" : "Spreadsheet tools"
+      },
       "opt_oo" : {
+         "description" : "Provides parsing of OpenOffice spreadsheets",
+         "prereqs" : {
+            "runtime" : {
+               "requires" : {
+                  "Spreadsheet::ReadSXC" : "0.20"
+               }
+            }
+         }
+      }
+   },
+   "prereqs" : {
+      "runtime" : {
          "requires" : {
-            "Spreadsheet::ReadSXC" : "0.20"
-            },
-         "description" : "Provides parsing of OpenOffice spreadsheets"
+            "Data::Dumper" : "0",
+            "Carp" : "0",
+            "File::Temp" : "0.22",
+            "perl" : "5.006",
+            "Exporter" : "0"
          },
-      "opt_excel" : {
-         "requires" : {
-            "Spreadsheet::ParseExcel" : "0.26",
-            "Spreadsheet::ParseExcel::FmtDefault" : "0"
-            },
          "recommends" : {
-            "Spreadsheet::ParseExcel" : "0.59"
-            },
-         "description" : "Provides parsing of Microsoft Excel files"
+            "perl" : "5.016003",
+            "File::Temp" : "0.2301",
+            "IO::Scalar" : "0"
          }
       },
-   "requires" : {
-      "perl" : "5.006",
-      "File::Temp" : "0.22",
-      "Data::Dumper" : "0",
-      "Exporter" : "0",
-      "Carp" : "0"
-      },
-   "recommends" : {
-      "Test::More" : "0.98",
-      "perl" : "5.014002",
-      "IO::Scalar" : "0"
+      "test" : {
+         "requires" : {
+            "Test::NoWarnings" : "0",
+            "Test::Harness" : "0",
+            "Test::More" : "0.88"
+         },
+         "recommends" : {
+            "Test::More" : "0.98"
+         }
       },
-   "abstract" : "Meta-Wrapper for reading spreadsheet data",
-   "configure_requires" : {
-      "ExtUtils::MakeMaker" : "0"
+      "configure" : {
+         "requires" : {
+            "ExtUtils::MakeMaker" : "0"
+         }
+      }
+   },
+   "resources" : {
+      "license" : [
+         "http://dev.perl.org/licenses/";
+      ],
+      "repository" : {
+         "web" : "http://repo.or.cz/w/Spreadsheet-Read.git";,
+         "type" : "git",
+         "url" : "http://repo.or.cz/r/Spreadsheet-Read.git";
+      }
+   },
+   "provides" : {
+      "Spreadsheet::Read" : {
+         "version" : "0.49",
+         "file" : "Read.pm"
       }
-   }
+   },
+   "generated_by" : "Author"
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Spreadsheet-Read-0.46/META.yml 
new/Spreadsheet-Read-0.49/META.yml
--- old/Spreadsheet-Read-0.46/META.yml  2012-02-14 08:53:38.000000000 +0100
+++ new/Spreadsheet-Read-0.49/META.yml  2013-05-25 10:31:48.000000000 +0200
@@ -1,66 +1,56 @@
---- #YAML:1.0
-name:                   Spreadsheet-Read
-version:                0.46
-abstract:               Meta-Wrapper for reading spreadsheet data
-license:                perl
-author:                 
+--- 
+abstract: Meta-Wrapper for reading spreadsheet data
+author: 
   - H.Merijn Brand <[email protected]>
-generated_by:           Author
-distribution_type:      module
-provides:
-  Spreadsheet::Read:
-    file:               Read.pm
-    version:            0.46
-requires:                       
-  perl:                 5.006
-  Exporter:             0
-  Carp:                 0
-  Data::Dumper:         0
-  File::Temp:           0.22
-configure_requires:
-  ExtUtils::MakeMaker:  0
-test_requires:
-  Test::Harness:        0
-  Test::More:           0.88
-  Test::NoWarnings:     0
-recommends:
-  perl:                 5.014002
-  IO::Scalar:           0
-  Test::More:           0.98
-resources:
-  license:              http://dev.perl.org/licenses/
-  repository:           http://repo.or.cz/w/Spreadsheet-Read.git
-meta-spec:
-  version:              1.4
-  url:                  http://module-build.sourceforge.net/META-spec-v1.4.html
-optional_features:
-  opt_csv:
-    description:        Provides parsing of CSV streams
-    requires:
-      Text::CSV_XS:                        0.69
-    recommends:
-      Text::CSV:                           1.21
-      Text::CSV_PP:                        1.29
-      Text::CSV_XS:                        0.86
-  opt_excel:
-    description:        Provides parsing of Microsoft Excel files
-    requires:
-      Spreadsheet::ParseExcel:             0.26
+configure_requires: 
+  ExtUtils::MakeMaker: 0
+dynamic_config: 1
+generated_by: Author, CPAN::Meta::Converter version 2.130880
+license: perl
+meta-spec: 
+  url: http://module-build.sourceforge.net/META-spec-v1.4.html
+  version: '1.4'
+name: Spreadsheet-Read
+optional_features: 
+  opt_csv: 
+    description: Provides parsing of CSV streams
+    requires: 
+      Text::CSV_XS: '0.69'
+  opt_excel: 
+    description: Provides parsing of Microsoft Excel files
+    requires: 
+      Spreadsheet::ParseExcel: '0.26'
       Spreadsheet::ParseExcel::FmtDefault: 0
-    recommends:
-      Spreadsheet::ParseExcel:             0.59
-  opt_excelx:
-    description:        Provides parsing of Microsoft Excel 2007 files
-    requires:
-      Spreadsheet::XLSX:                   0.13
-      Spreadsheet::XLSX::Fmt2007:          0
-  opt_oo:
-    description:        Provides parsing of OpenOffice spreadsheets
-    requires:
-      Spreadsheet::ReadSXC:                0.20
-  opt_tools:
-    description:        Spreadsheet tools
-    recommends:
-      Tk:                                  0
-      Tk::NoteBook:                        0
-      Tk::TableMatrix::Spreadsheet:        0
+  opt_excelx: 
+    description: Provides parsing of Microsoft Excel 2007 files
+    requires: 
+      Spreadsheet::XLSX: '0.13'
+      Spreadsheet::XLSX::Fmt2007: 0
+  opt_oo: 
+    description: Provides parsing of OpenOffice spreadsheets
+    requires: 
+      Spreadsheet::ReadSXC: '0.20'
+  opt_tools: 
+    description: Spreadsheet tools
+provides: 
+  Spreadsheet::Read: 
+    file: Read.pm
+    version: '0.49'
+recommends: 
+  File::Temp: '0.2301'
+  IO::Scalar: 0
+  Test::More: '0.98'
+  perl: '5.016003'
+requires: 
+  Carp: 0
+  Data::Dumper: 0
+  Exporter: 0
+  File::Temp: '0.22'
+  Test::Harness: 0
+  Test::More: '0.88'
+  Test::NoWarnings: 0
+  perl: '5.006'
+resources: 
+  license: http://dev.perl.org/licenses/
+  repository: http://repo.or.cz/r/Spreadsheet-Read.git
+version: '0.49'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Spreadsheet-Read-0.46/Makefile.PL 
new/Spreadsheet-Read-0.49/Makefile.PL
--- old/Spreadsheet-Read-0.46/Makefile.PL       2012-01-11 09:25:18.000000000 
+0100
+++ new/Spreadsheet-Read-0.49/Makefile.PL       2013-02-14 17:54:44.000000000 
+0100
@@ -10,7 +10,7 @@
          [ "ss2tk",    "Show a Spreadsheet in Perl/Tk"                 ],
          [ "xls2csv",  "Wrapper around xlscat for easy XLS => CSV"     ],
          ) {
-       prompt ("Do you want to install '$_->[0]' ($_->[1]) ? ", "n") =~ 
m/[Yy]/ and
+       prompt ("Do you want to install '$_->[0]' ($_->[1]) ? ", "y") =~ 
m/[Yy]/ and
            push @exe, "examples/$_->[0]";
        }
     }
@@ -48,6 +48,7 @@
 #      "Tk::NoteBook"                  => 4.009,
 #      "Tk::TableMatrix::Spreadsheet"  => 1.2,
        },
+    macro        => { TARFLAGS   => "--format=ustar -c -v -f", },
     );
 $ExtUtils::MakeMaker::VERSION > 6.30 and $wm{LICENSE} = "perl";
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Spreadsheet-Read-0.46/README 
new/Spreadsheet-Read-0.49/README
--- old/Spreadsheet-Read-0.46/README    2012-01-11 09:25:18.000000000 +0100
+++ new/Spreadsheet-Read-0.49/README    2013-01-21 17:41:19.000000000 +0100
@@ -59,7 +59,7 @@
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (C) 2005-2012 H.Merijn Brand
+Copyright (C) 2005-2013 H.Merijn Brand
 
 This library is free software; you can redistribute it and/or modify
 it under the same terms as Perl itself.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Spreadsheet-Read-0.46/Read.pm 
new/Spreadsheet-Read-0.49/Read.pm
--- old/Spreadsheet-Read-0.46/Read.pm   2012-02-14 08:42:22.000000000 +0100
+++ new/Spreadsheet-Read-0.49/Read.pm   2013-03-14 21:49:16.000000000 +0100
@@ -9,21 +9,23 @@
 =head1 SYNOPSIS
 
  use Spreadsheet::Read;
- my $ref = ReadData ("test.csv", sep => ";");
- my $ref = ReadData ("test.sxc");
- my $ref = ReadData ("test.ods");
- my $ref = ReadData ("test.xls");
- my $ref = ReadData ("test.xlsx");
- my $ref = ReadData ($fh, parser => "xls");
-
- my $a3 = $ref->[1]{A3}, "\n"; # content of field A3 of sheet 1
+ my $book  = ReadData ("test.csv", sep => ";");
+ my $book  = ReadData ("test.sxc");
+ my $book  = ReadData ("test.ods");
+ my $book  = ReadData ("test.xls");
+ my $book  = ReadData ("test.xlsx");
+ my $book  = ReadData ($fh, parser => "xls");
+
+ my $sheet = $book->[1];             # first datasheet
+ my $cell  = $book->[1]{A3};         # content of field A3 of sheet 1
+ my $cell  = $book->[1]{cell}[1][3]; # same, unformatted
 
 =cut
 
 use strict;
 use warnings;
 
-our $VERSION = "0.46";
+our $VERSION = "0.49";
 sub  Version { $VERSION }
 
 use Carp;
@@ -100,6 +102,7 @@
     $type eq "oo"              and return "sxc";
     $type eq "ods"             and return "sxc";
     $type eq "openoffice"      and return "sxc";
+    $type eq "libreoffice"     and return "sxc";
     $type eq "perl"            and return "prl";
     $type eq "squirelcalc"     and return "sc";
     return exists $can{$type} ? $type : "";
@@ -139,7 +142,7 @@
     ($c, $r);
     } # cell2cr
 
-# my @row = cellrow ($ss->[1], 1);
+# my @row = cellrow ($book->[1], 1);
 sub cellrow
 {
     my $sheet = shift or return;
@@ -151,7 +154,7 @@
     map { $s->[$_][$row] } 1..$sheet->{maxcol};
     } # cellrow
 
-# my @row = row ($ss->[1], 1);
+# my @row = row ($book->[1], 1);
 sub row
 {
     my $sheet = shift or return;
@@ -163,7 +166,7 @@
     } # row
 
 # Convert {cell}'s [column][row] to a [row][column] list
-# my @rows = rows ($ss->[1]);
+# my @rows = rows ($book->[1]);
 sub rows
 {
     my $sheet = shift or return;
@@ -189,11 +192,12 @@
            $ss->{maxrow} && $ss->{maxcol} or next;
            foreach my $row (1 .. $ss->{maxrow}) {
                foreach my $col (1 .. $ss->{maxcol}) {
-                   defined $ss->{cell}[$col][$row] or next;
-                   $s & 2 && $ss->{cell}[$col][$row] =~ s/\s+$// and
-                       $ss->{cr2cell ($col, $row)}   =~ s/\s+$//;
-                   $s & 1 && $ss->{cell}[$col][$row] =~ s/^\s+// and
-                       $ss->{cr2cell ($col, $row)}   =~ s/^\s+//;
+                   for (($opt->{cells} ? $ss->{cell}[$col][$row] : ()),
+                        ($opt->{rc} ? $ss->{cr2cell ($col, $row)} : ())) {
+                       defined or next;
+                       $s & 2 and s/\s+$//;
+                       $s & 1 and s/^\s+//;
+                       }
                    }
                }
            }
@@ -250,12 +254,12 @@
        elsif (@_ % 2 == 0)          { %opt = @_          }
        }
 
-    defined $opt{rc}   or $opt{rc}     = $def_opts{rc};
-    defined $opt{cells}        or $opt{cells}  = $def_opts{cells};
-    defined $opt{attr} or $opt{attr}   = $def_opts{attr};
-    defined $opt{clip} or $opt{clip}   = $opt{cells};
-    defined $opt{strip}        or $opt{strip}  = $def_opts{strip};
-    defined $opt{dtfmt} or $opt{dtfmt} = $def_opts{dtfmt};
+    exists $opt{rc}    or $opt{rc}     = $def_opts{rc};
+    exists $opt{cells} or $opt{cells}  = $def_opts{cells};
+    exists $opt{attr}  or $opt{attr}   = $def_opts{attr};
+    exists $opt{clip}  or $opt{clip}   = $opt{cells};
+    exists $opt{strip} or $opt{strip}  = $def_opts{strip};
+    exists $opt{dtfmt} or $opt{dtfmt}  = $def_opts{dtfmt};
 
     # $debug = $opt{debug} // 0;
     $debug = defined $opt{debug} ? $opt{debug} : $def_opts{debug};
@@ -569,7 +573,7 @@
                }
            s/^r([0-9]+)c([0-9]+)\s*=\s*// or next;
            my ($c, $r) = map { $_ + 1 } $2, $1;
-           if (m/.* {(.*)}$/ or m/"(.*)"/) {
+           if (m/.* \{(.*)}$/ or m/"(.*)"/) {
                my $cell = cr2cell ($c, $r);
                $opt{rc}    and $data[1]{cell}[$c][$r] = $1;
                $opt{cells} and $data[1]{$cell} = $1;
@@ -671,13 +675,12 @@
 return its content in a universal manner independent of the parsing
 module that does the actual spreadsheet scanning.
 
-For OpenOffice this module uses Spreadsheet::ReadSXC
+For OpenOffice and/or LibreOffice this module uses Spreadsheet::ReadSXC
 
 For Microsoft Excel this module uses Spreadsheet::ParseExcel or
 Spreadsheet::XLSX
 
-For CSV this module uses Text::CSV_XS (0.29 or up required, 0.73 or
-up preferred) or Text::CSV_PP (1.05 or up required).
+For CSV this module uses Text::CSV_XS or Text::CSV_PP.
 
 For SquirrelCalc there is a very simplistic built-in parser
 
@@ -685,32 +688,32 @@
 
 The data is returned as an array reference:
 
-  $ref = [
-       # Entry 0 is the overall control hash
-       { sheets  => 2,
-         sheet   => {
-           "Sheet 1"   => 1,
-           "Sheet 2"   => 2,
-           },
-         type    => "xls",
-         parser  => "Spreadsheet::ParseExcel",
-         version => 0.26,
-         },
-       # Entry 1 is the first sheet
-       { label  => "Sheet 1",
-         maxrow => 2,
-         maxcol => 4,
-         cell   => [ undef,
-           [ undef, 1 ],
-           [ undef, undef, undef, undef, undef, "Nugget" ],
-           ],
-         A1     => 1,
-         B5     => "Nugget",
-         },
-       # Entry 2 is the second sheet
-       { label => "Sheet 2",
-         :
-       :
+  $book = [
+      # Entry 0 is the overall control hash
+      { sheets  => 2,
+        sheet   => {
+          "Sheet 1"  => 1,
+          "Sheet 2"  => 2,
+          },
+        type    => "xls",
+        parser  => "Spreadsheet::ParseExcel",
+        version => 0.59,
+        },
+      # Entry 1 is the first sheet
+      { label   => "Sheet 1",
+        maxrow  => 2,
+        maxcol  => 4,
+        cell    => [ undef,
+          [ undef, 1 ],
+          [ undef, undef, undef, undef, undef, "Nugget" ],
+          ],
+        A1      => 1,
+        B5      => "Nugget",
+        },
+      # Entry 2 is the second sheet
+      { label   => "Sheet 2",
+        :
+        :
 
 To keep as close contact to spreadsheet users, row and column 1 have
 index 1 too in the C<cell> element of the sheet hash, so cell "A1" is
@@ -724,33 +727,33 @@
 some spreadsheet meta-data. The entry C<sheet> is there to be able to find
 the sheets when accessing them by name:
 
-  my %sheet2 = %{$ref->[$ref->[0]{sheet}{"Sheet 2"}]};
+  my %sheet2 = %{$book->[$book->[0]{sheet}{"Sheet 2"}]};
 
 =head2 Functions
 
 =over 2
 
-=item my $ref = ReadData ($source [, option => value [, ... ]]);
+=item my $book = ReadData ($source [, option => value [, ... ]]);
 
-=item my $ref = ReadData ("file.csv", sep => ',', quote => '"');
+=item my $book = ReadData ("file.csv", sep => ',', quote => '"');
 
-=item my $ref = ReadData ("file.xls", dtfmt => "yyyy-mm-dd");
+=item my $book = ReadData ("file.xls", dtfmt => "yyyy-mm-dd");
 
-=item my $ref = ReadData ("file.ods");
+=item my $book = ReadData ("file.ods");
 
-=item my $ref = ReadData ("file.sxc");
+=item my $book = ReadData ("file.sxc");
 
-=item my $ref = ReadData ("content.xml");
+=item my $book = ReadData ("content.xml");
 
-=item my $ref = ReadData ($content);
+=item my $book = ReadData ($content);
 
-=item my $ref = ReadData ($fh, parser => "xls");
+=item my $book = ReadData ($fh, parser => "xls");
 
 Tries to convert the given file, string, or stream to the data
 structure described above.
 
 Processing Excel data from a stream or content is supported through
-a File::Temp temporary file or IO::Scalar when available.  
+a File::Temp temporary file or IO::Scalar when available.
 
 ReadSXC does preserve sheet order as of version 0.20.
 
@@ -762,7 +765,8 @@
 
 Force the data to be parsed by a specific format. Possible values are
 C<csv>, C<prl> (or C<perl>), C<sc> (or C<squirelcalc>), C<sxc> (or C<oo>,
-C<ods>, C<openoffice>) C<xls> (or C<excel>), and C<xlsx> (or C<excel2007>).
+C<ods>, C<openoffice>, C<libreoffice>) C<xls> (or C<excel>), and C<xlsx>
+(or C<excel2007>).
 
 When parsing streams, instead of files, it is highly recommended to pass
 this option.
@@ -783,7 +787,9 @@
 =item clip
 
 If set, C<ReadData ()> will remove all trailing lines and columns per
-sheet that have no visual data.
+sheet that have no visual data. If a sheet has no data at all, the
+sheet will be skipped entirely when this attribute is true.
+
 This option is only valid if C<cells> is true. The default value is
 true if C<cells> is true, and false otherwise.
 
@@ -865,31 +871,31 @@
   my ($col, $row) = cell2cr ("D14"); # returns ( 4, 14)
   my ($col, $row) = cell2cr ("AB4"); # returns (28,  4)
 
-=item my @row = row ($ref, $row)
+=item my @row = row ($sheet, $row)
 
-=item my @row = Spreadsheet::Read::row ($ss->[1], 3)
+=item my @row = Spreadsheet::Read::row ($book->[1], 3)
 
-Get full row of formatted values (like C<< $ss->{A3} .. $ss->{G3} >>)
+Get full row of formatted values (like C<< $sheet->{A3} .. $sheet->{G3} >>)
 
 Note that the indexes in the returned list are 0-based.
 
 C<row ()> is not imported by default, so either specify it in the
 use argument list, or call it fully qualified.
 
-=item my @row = cellrow ($ref, $row)
+=item my @row = cellrow ($book, $row)
 
-=item my @row = Spreadsheet::Read::cellrow ($ss->[1], 3)
+=item my @row = Spreadsheet::Read::cellrow ($book->[1], 3)
 
-Get full row of unformatted values (like C<< $ss->{cell}[1][3] .. 
$ss->{cell}[7][3] >>)
+Get full row of unformatted values (like C<< $sheet->{cell}[1][3] .. 
$sheet->{cell}[7][3] >>)
 
 Note that the indexes in the returned list are 0-based.
 
 C<cellrow ()> is not imported by default, so either specify it in the
 use argument list, or call it fully qualified.
 
-=item my @rows = rows ($ref)
+=item my @rows = rows ($book)
 
-=item my @rows = Spreadsheet::Read::rows ($ss->[1])
+=item my @rows = Spreadsheet::Read::rows ($book->[1])
 
 Convert C<{cell}>'s C<[column][row]> to a C<[row][column]> list.
 
@@ -1067,7 +1073,7 @@
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (C) 2005-2012 H.Merijn Brand
+Copyright (C) 2005-2013 H.Merijn Brand
 
 This library is free software; you can redistribute it and/or modify
 it under the same terms as Perl itself.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Spreadsheet-Read-0.46/examples/ss-dups-tk.pl 
new/Spreadsheet-Read-0.49/examples/ss-dups-tk.pl
--- old/Spreadsheet-Read-0.46/examples/ss-dups-tk.pl    2012-01-11 
09:28:25.000000000 +0100
+++ new/Spreadsheet-Read-0.49/examples/ss-dups-tk.pl    2013-01-21 
17:41:12.000000000 +0100
@@ -1,7 +1,7 @@
 #!/pro/bin/perl
 
 # ss-dup-tk.pl: Find dups in spreadsheet
-#        (m)'09 [23-01-2009] Copyright H.M.Brand 2005-2012
+#        (m)'09 [23-01-2009] Copyright H.M.Brand 2005-2013
 
 use strict;
 use warnings;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Spreadsheet-Read-0.46/examples/ss2tk 
new/Spreadsheet-Read-0.49/examples/ss2tk
--- old/Spreadsheet-Read-0.46/examples/ss2tk    2012-01-11 09:26:16.000000000 
+0100
+++ new/Spreadsheet-Read-0.49/examples/ss2tk    2013-01-21 17:41:16.000000000 
+0100
@@ -1,7 +1,7 @@
 #!/pro/bin/perl
 
 # ss2tk: show SpreadSheet file in Tk::TableMatrix::Spreadsheet (*)
-#        (m)'07 [26-06-2007] Copyright H.M.Brand 2005-2012
+#        (m)'07 [26-06-2007] Copyright H.M.Brand 2005-2013
 
 use strict;
 use warnings;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Spreadsheet-Read-0.46/examples/xls2csv 
new/Spreadsheet-Read-0.49/examples/xls2csv
--- old/Spreadsheet-Read-0.46/examples/xls2csv  2012-01-11 09:26:23.000000000 
+0100
+++ new/Spreadsheet-Read-0.49/examples/xls2csv  2013-01-21 17:41:10.000000000 
+0100
@@ -1,7 +1,7 @@
 #!/pro/bin/perl
 
 # xls2csv: Convert Microsoft Excel spreadsheet to CSV
-#         (m)'08 [10-03-2008] Copyright H.M.Brand 2008-2012
+#         (m)'08 [10-03-2008] Copyright H.M.Brand 2008-2013
 
 use strict;
 use warnings;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Spreadsheet-Read-0.46/examples/xlscat 
new/Spreadsheet-Read-0.49/examples/xlscat
--- old/Spreadsheet-Read-0.46/examples/xlscat   2012-01-20 13:37:41.000000000 
+0100
+++ new/Spreadsheet-Read-0.49/examples/xlscat   2013-02-12 11:18:59.000000000 
+0100
@@ -1,12 +1,12 @@
 #!/pro/bin/perl
 
 # xls2cat: show XLS/SXC file as Text
-#        (m)'11 [03-02-2011] Copyright H.M.Brand 2005-2012
+#        (m)'13 [12-02-2013] Copyright H.M.Brand 2005-2013
 
 use strict;
 use warnings;
 
-our $VERSION = "2.1";
+our $VERSION = "2.2";
 
 sub usage
 {
@@ -51,7 +51,7 @@
     exit $err;
     } # usage
 
-use Getopt::Long qw(:config bundling nopermute noignorecase);
+use Getopt::Long qw(:config bundling noignorecase);
 my $opt_c;             # Generate CSV
 my $opt_s;             # Text separator
 my $opt_S;             # Sheets to print
Files old/Spreadsheet-Read-0.46/files/misc_ws.xls and 
new/Spreadsheet-Read-0.49/files/misc_ws.xls differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Spreadsheet-Read-0.46/t/10_basics.t 
new/Spreadsheet-Read-0.49/t/10_basics.t
--- old/Spreadsheet-Read-0.46/t/10_basics.t     2009-03-06 23:41:39.000000000 
+0100
+++ new/Spreadsheet-Read-0.49/t/10_basics.t     2013-05-11 09:08:14.000000000 
+0200
@@ -89,10 +89,13 @@
     my $arg = defined $_ ? $_ : "-- undef --";
     is ($ref, undef, "Illegal ReadData ([ $arg ])");
     }
-for (undef, "", " ", 0, 1, [], {}) {
-    my $ref = ReadData ("/dev/null", separator => $_);
-    my $arg = defined $_ ? $_ : "-- undef --";
-    is ($ref, undef, "Illegal ReadData ({ $arg })");
+SKIP: {
+    -c "/dev/null" or skip "/dev/null cannot be used for tests", 7;
+    for (undef, "", " ", 0, 1, [], {}) {
+       my $ref = ReadData ("/dev/null", separator => $_);
+       my $arg = defined $_ ? $_ : "-- undef --";
+       is ($ref, undef, "Illegal ReadData ({ $arg })");
+       }
     }
 for (undef, "", " ", 0, 1, [], {}) {
     my $ref;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Spreadsheet-Read-0.46/t/33_misc.t 
new/Spreadsheet-Read-0.49/t/33_misc.t
--- old/Spreadsheet-Read-0.46/t/33_misc.t       2009-03-29 17:34:17.000000000 
+0200
+++ new/Spreadsheet-Read-0.49/t/33_misc.t       2012-05-31 09:06:10.000000000 
+0200
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-my     $tests = 2;
+my     $tests = 6;
 use     Test::More;
 require Test::NoWarnings;
 
@@ -17,15 +17,41 @@
     open   STDERR, ">", "/dev/null" or die "/dev/null: $!\n";
     $xls = ReadData ("files/misc.xls",
        # All defaults reversed
-       rc              => 0,
+       rc      => 0,
        cells   => 0,
        attr    => 1,
        clip    => 1,
        debug   => 5,
        );
     }
-ok ($xls,                                      "Open with options");
-is ($xls->[0]{sheets}, 3,                      "Sheet Count");
+ok ($xls,                              "Open with options");
+is ($xls->[0]{sheets}, 3,              "Sheet Count");
+
+{   local *STDERR;     # We want the debug activated, but not shown
+    open   STDERR, ">", "/dev/null" or die "/dev/null: $!\n";
+    $xls = ReadData ("files/misc.xls",
+       # All defaults reversed, but undef
+       rc      => undef,
+       cells   => undef,
+       attr    => 1,
+       clip    => 1,
+       debug   => 5,
+       );
+    }
+ok ($xls,                              "Open with options");
+is (0+@{ $xls->[1]{cell}[1]}, 0,       "undef works as option value for 'rc'");
+ok (!exists $xls->[1]{A1},             "undef works as option value for 
'cells'");
+
+{   local *STDERR;     # We want the debug activated, but not shown
+    open   STDERR, ">", "/dev/null" or die "/dev/null: $!\n";
+    $xls = ReadData ("files/misc_ws.xls",
+       # No cells generated, but we strip whitespace. We don't want any warning
+       cells   => 0,
+       strip   => 3,
+       debug   => 5,
+       );
+    }
+ok ($xls,                              "Open with options, let's see if we get 
any warnings");
 
 unless ($ENV{AUTOMATED_TESTING}) {
     Test::NoWarnings::had_no_warnings ();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Spreadsheet-Read-0.46/t/63_misc.t 
new/Spreadsheet-Read-0.49/t/63_misc.t
--- old/Spreadsheet-Read-0.46/t/63_misc.t       2009-03-29 17:40:38.000000000 
+0200
+++ new/Spreadsheet-Read-0.49/t/63_misc.t       2012-05-31 08:41:11.000000000 
+0200
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-my     $tests = 2;
+my     $tests = 5;
 use     Test::More;
 require Test::NoWarnings;
 
@@ -17,15 +17,30 @@
     open   STDERR, ">", "/dev/null" or die "/dev/null: $!\n";
     $xls = ReadData ("files/misc.xlsx",
        # All defaults reversed
-       rc              => 0,
+       rc      => 0,
        cells   => 0,
        attr    => 1,
        clip    => 1,
        debug   => 5,
        );
     }
-ok ($xls,                                      "Open with options");
-is ($xls->[0]{sheets}, 3,                      "Sheet Count");
+ok ($xls,                              "Open with options");
+is ($xls->[0]{sheets}, 3,              "Sheet Count");
+
+{   local *STDERR;     # We want the debug activated, but not shown
+    open   STDERR, ">", "/dev/null" or die "/dev/null: $!\n";
+    $xls = ReadData ("files/misc.xlsx",
+       # All defaults reversed, but undef
+       rc      => undef,
+       cells   => undef,
+       attr    => 1,
+       clip    => 1,
+       debug   => 5,
+       );
+    }
+ok ($xls,                              "Open with options");
+is (0+@{ $xls->[1]{cell}[1]}, 0,       "undef works as option value for 'rc'");
+ok (!exists $xls->[1]{A1},             "undef works as option value for 
'cells'");
 
 unless ($ENV{AUTOMATED_TESTING}) {
     Test::NoWarnings::had_no_warnings ();

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to