Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package perl-Text-CSV_XS for 
openSUSE:Factory checked in at 2023-12-02 17:12:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Text-CSV_XS (Old)
 and      /work/SRC/openSUSE:Factory/.perl-Text-CSV_XS.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-Text-CSV_XS"

Sat Dec  2 17:12:47 2023 rev:52 rq:1130244 version:1.530.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Text-CSV_XS/perl-Text-CSV_XS.changes        
2023-09-29 21:13:59.694660154 +0200
+++ 
/work/SRC/openSUSE:Factory/.perl-Text-CSV_XS.new.25432/perl-Text-CSV_XS.changes 
    2023-12-02 17:12:58.880926539 +0100
@@ -1,0 +2,13 @@
+Fri Nov 24 03:08:00 UTC 2023 - Tina Müller <timueller+p...@suse.de>
+
+- updated to 1.53
+   see /usr/share/doc/packages/perl-Text-CSV_XS/ChangeLog
+
+  1.53 - 2023-11-22, H.Merijn Brand
+      * Two casts for -Wformat (issue 50)
+      * Add --skip-empty to csv2xlsx
+      * Add --font and --font-size to csv2xlsx
+      * Fix skip_empty_rows ("skip") and trailing newlines (Corey Hickey, 
PR#52)
+      * Fix comment in last line (RT#150501)
+
+-------------------------------------------------------------------

Old:
----
  Text-CSV_XS-1.52.tgz

New:
----
  Text-CSV_XS-1.53.tgz

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

Other differences:
------------------
++++++ perl-Text-CSV_XS.spec ++++++
--- /var/tmp/diff_new_pack.uqnkej/_old  2023-12-02 17:12:59.540950726 +0100
+++ /var/tmp/diff_new_pack.uqnkej/_new  2023-12-02 17:12:59.540950726 +0100
@@ -18,9 +18,9 @@
 
 %define cpan_name Text-CSV_XS
 Name:           perl-Text-CSV_XS
-Version:        1.520.0
+Version:        1.530.0
 Release:        0
-%define cpan_version 1.52
+%define cpan_version 1.53
 License:        Artistic-1.0 OR GPL-1.0-or-later
 Summary:        Comma-Separated Values manipulation routines
 URL:            https://metacpan.org/release/%{cpan_name}
@@ -28,9 +28,9 @@
 Source1:        cpanspec.yml
 BuildRequires:  perl
 BuildRequires:  perl-macros
-Provides:       perl(Text::CSV_XS) = 1.520.0
+Provides:       perl(Text::CSV_XS) = %{version}
 %define         __perllib_provides /bin/true
-Recommends:     perl(Encode) >= 3.19
+Recommends:     perl(Encode) >= 3.200.0
 %{perl_requires}
 
 %description

++++++ Text-CSV_XS-1.52.tgz -> Text-CSV_XS-1.53.tgz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Text-CSV_XS-1.52/CSV_XS.pm 
new/Text-CSV_XS-1.53/CSV_XS.pm
--- old/Text-CSV_XS-1.52/CSV_XS.pm      2023-09-20 18:28:07.000000000 +0200
+++ new/Text-CSV_XS-1.53/CSV_XS.pm      2023-09-22 10:29:41.000000000 +0200
@@ -23,7 +23,7 @@
 use Carp;
 
 use vars qw( $VERSION @ISA @EXPORT_OK %EXPORT_TAGS );
-$VERSION = "1.52";
+$VERSION = "1.53";
 @ISA     = qw( Exporter );
 XSLoader::load ("Text::CSV_XS", $VERSION);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Text-CSV_XS-1.52/CSV_XS.xs 
new/Text-CSV_XS-1.53/CSV_XS.xs
--- old/Text-CSV_XS-1.52/CSV_XS.xs      2023-09-21 09:08:32.000000000 +0200
+++ new/Text-CSV_XS-1.53/CSV_XS.xs      2023-11-20 18:35:19.000000000 +0100
@@ -614,7 +614,7 @@
        _cache_show_str ("tmp",  (int)strlen (s), (byte *)s);
        }
     if (csv->cache)
-       warn ("  %-20s %4d:0x%08x\n", "cache", sizeof (csv_t), csv->cache);
+       warn ("  %-20s %4d:0x%08lx\n", "cache", (int)sizeof (csv_t), (unsigned 
long)csv->cache);
     else
        warn ("  %-22s --:no cache yet\n", "cache");
     } /* _csv_diag */
@@ -974,7 +974,7 @@
        if (c == EOF || ser == 2) {                                     \
            sv_free (sv);                                               \
            sv = NULL;                                                  \
-           waitingForField = 0;                                        \
+           seenSomething = FALSE;                                              
\
            if (ser == 2) return FALSE;                                 \
            break;                                                      \
            }                                                           \
@@ -1423,16 +1423,16 @@
 #endif
 
 #if MAINT_DEBUG > 1
+static char _sep[64];
 static char *_sep_string (csv_t *csv) {
-    char sep[64];
     if (csv->sep_len) {
        int x;
        for (x = 0; x < csv->sep_len; x++)
-           (void)sprintf (sep + x * x, "%02x ", csv->sep[x]);
+           (void)sprintf (_sep + x * x, "%02x ", csv->sep[x]);
        }
     else
-       (void)sprintf (sep, "'%c' (0x%02x)", CH_SEP, CH_SEP);
-    return sep;
+       (void)sprintf (_sep, "'%c' (0x%02x)", CH_SEP, CH_SEP);
+    return _sep;
     } /* _sep_string */
 #endif
 
@@ -1998,9 +1998,12 @@
                        csv->used    = csv->size;
                        csv->fld_idx = 0;
                        c = CSV_GET;
+                       seenSomething = FALSE;
 #if MAINT_DEBUG > 5
                        (void)fprintf (stderr, "# COMMENT, SKIPPED\n");
 #endif
+                       if (c == EOF)
+                           break;
                        goto restart;
                        }
                    }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Text-CSV_XS-1.52/ChangeLog 
new/Text-CSV_XS-1.53/ChangeLog
--- old/Text-CSV_XS-1.52/ChangeLog      2023-09-21 09:59:52.000000000 +0200
+++ new/Text-CSV_XS-1.53/ChangeLog      2023-11-22 20:30:12.000000000 +0100
@@ -1,3 +1,10 @@
+1.53   - 2023-11-22, H.Merijn Brand
+    * Two casts for -Wformat (issue 50)
+    * Add --skip-empty to csv2xlsx
+    * Add --font and --font-size to csv2xlsx
+    * Fix skip_empty_rows ("skip") and trailing newlines (Corey Hickey, PR#52)
+    * Fix comment in last line (RT#150501)
+
 1.52   - 2023-09-21, H.Merijn Brand
     * Fix possible coredump in cache on non-IO parse (issue 49)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Text-CSV_XS-1.52/META.json 
new/Text-CSV_XS-1.53/META.json
--- old/Text-CSV_XS-1.52/META.json      2023-09-21 13:20:30.000000000 +0200
+++ new/Text-CSV_XS-1.53/META.json      2023-11-23 10:19:13.000000000 +0100
@@ -1,70 +1,70 @@
 {
-   "resources" : {
-      "license" : [
-         "http://dev.perl.org/licenses/";
-      ],
-      "bugtracker" : {
-         "web" : "http://rt.cpan.org/NoAuth/Bugs.html?Dist=Text-CSV_XS";
-      },
-      "homepage" : "https://metacpan.org/pod/Text::CSV_XS";,
-      "x_IRC" : "irc://irc.perl.org/#csv",
-      "repository" : {
-         "web" : "https://github.com/Tux/Text-CSV_XS";,
-         "url" : "https://github.com/Tux/Text-CSV_XS";,
-         "type" : "git"
-      }
-   },
-   "author" : [
-      "H.Merijn Brand <hmbrand.org>"
-   ],
-   "license" : [
-      "perl_5"
-   ],
-   "name" : "Text-CSV_XS",
-   "meta-spec" : {
-      "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec";,
-      "version" : 2
-   },
    "release_status" : "stable",
    "prereqs" : {
-      "runtime" : {
+      "configure" : {
+         "requires" : {
+            "ExtUtils::MakeMaker" : "0"
+            },
          "recommends" : {
-            "Encode" : "3.19"
+            "ExtUtils::MakeMaker" : "7.70"
+            }
          },
+      "runtime" : {
+         "recommends" : {
+            "Encode" : "3.20"
+            },
          "requires" : {
             "IO::Handle" : "0",
             "perl" : "5.006001",
             "XSLoader" : "0"
-         }
-      },
+            }
+         },
       "test" : {
          "requires" : {
             "Tie::Scalar" : "0",
             "Test::More" : "0"
-         }
-      },
+            }
+         },
       "build" : {
          "requires" : {
             "Config" : "0"
+            }
          }
       },
-      "configure" : {
-         "requires" : {
-            "ExtUtils::MakeMaker" : "0"
+   "resources" : {
+      "homepage" : "https://metacpan.org/pod/Text::CSV_XS";,
+      "bugtracker" : {
+         "web" : "http://rt.cpan.org/NoAuth/Bugs.html?Dist=Text-CSV_XS";
          },
-         "recommends" : {
-            "ExtUtils::MakeMaker" : "7.70"
-         }
-      }
-   },
-   "generated_by" : "Author",
-   "abstract" : "Comma-Separated Values manipulation routines",
+      "license" : [
+         "http://dev.perl.org/licenses/";
+         ],
+      "repository" : {
+         "url" : "https://github.com/Tux/Text-CSV_XS";,
+         "type" : "git",
+         "web" : "https://github.com/Tux/Text-CSV_XS";
+         },
+      "x_IRC" : "irc://irc.perl.org/#csv"
+      },
+   "name" : "Text-CSV_XS",
    "provides" : {
       "Text::CSV_XS" : {
-         "file" : "CSV_XS.pm",
-         "version" : "1.52"
-      }
-   },
+         "version" : "1.53",
+         "file" : "CSV_XS.pm"
+         }
+      },
+   "abstract" : "Comma-Separated Values manipulation routines",
+   "license" : [
+      "perl_5"
+      ],
+   "author" : [
+      "H.Merijn Brand <hmbr...@cpan.org>"
+      ],
+   "version" : "1.53",
+   "generated_by" : "Author",
    "dynamic_config" : 1,
-   "version" : "1.52"
-}
+   "meta-spec" : {
+      "version" : 2,
+      "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec";
+      }
+   }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Text-CSV_XS-1.52/META.yml 
new/Text-CSV_XS-1.53/META.yml
--- old/Text-CSV_XS-1.52/META.yml       2023-09-21 13:20:30.000000000 +0200
+++ new/Text-CSV_XS-1.53/META.yml       2023-11-23 10:19:13.000000000 +0100
@@ -1,7 +1,7 @@
 --- 
 abstract: Comma-Separated Values manipulation routines
 author: 
-  - H.Merijn Brand <hmbrand.org>
+  - H.Merijn Brand <hmbr...@cpan.org>
 build_requires: 
   Config: 0
 configure_requires: 
@@ -16,9 +16,9 @@
 provides: 
   Text::CSV_XS: 
     file: CSV_XS.pm
-    version: '1.52'
+    version: '1.53'
 recommends: 
-  Encode: '3.19'
+  Encode: '3.20'
 requires: 
   IO::Handle: 0
   Test::More: 0
@@ -31,4 +31,4 @@
   homepage: https://metacpan.org/pod/Text::CSV_XS
   license: http://dev.perl.org/licenses/
   repository: https://github.com/Tux/Text-CSV_XS
-version: '1.52'
+version: '1.53'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Text-CSV_XS-1.52/Makefile.PL 
new/Text-CSV_XS-1.53/Makefile.PL
--- old/Text-CSV_XS-1.52/Makefile.PL    2023-01-03 13:18:53.000000000 +0100
+++ new/Text-CSV_XS-1.53/Makefile.PL    2023-10-12 15:50:23.000000000 +0200
@@ -169,7 +169,7 @@
        'doc/CSV_XS.3:          CSV_XS.pm',
        '       pod2man       < $? > $@',
        'doc/CSV_XS.man:        doc/CSV_XS.3',
-       '       nroff -mandoc < $? > $@',
+       '       nroff2man     < $? > $@',
        'doc/csv2xlsx.md:       examples/csv2xlsx',
        '       pod2markdown  < $? > $@',
        'doc/csv2xlsx.html:     examples/csv2xlsx',
@@ -177,7 +177,7 @@
        'doc/csv2xlsx.3:        examples/csv2xlsx',
        '       pod2man       < $? > $@',
        'doc/csv2xlsx.man:      doc/csv2xlsx.3',
-       '       nroff -mandoc < $? > $@',
+       '       nroff2man     < $? > $@',
        '',
        $min_vsn;
     } # postamble
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Text-CSV_XS-1.52/cpanfile 
new/Text-CSV_XS-1.53/cpanfile
--- old/Text-CSV_XS-1.52/cpanfile       2023-09-21 13:20:30.000000000 +0200
+++ new/Text-CSV_XS-1.53/cpanfile       2023-11-23 10:19:13.000000000 +0100
@@ -1,7 +1,7 @@
 requires   "IO::Handle";
 requires   "XSLoader";
 
-recommends "Encode"                   => "3.19";
+recommends "Encode"                   => "3.20";
 
 on "configure" => sub {
     requires   "ExtUtils::MakeMaker";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Text-CSV_XS-1.52/examples/csv2xls 
new/Text-CSV_XS-1.53/examples/csv2xls
--- old/Text-CSV_XS-1.52/examples/csv2xls       2023-01-03 13:37:08.000000000 
+0100
+++ new/Text-CSV_XS-1.53/examples/csv2xls       2023-11-14 13:48:22.000000000 
+0100
@@ -1,12 +1,12 @@
 #!/pro/bin/perl
 
 # csv2xls: Convert csv to xls
-#         (m)'20 [25 Mar 2020] Copyright H.M.Brand 2007-2023
+#         (m)'23 [14 Nov 2023] Copyright H.M.Brand 2007-2023
 
 use 5.012000;
 use warnings;
 
-our $VERSION = "1.80";
+our $VERSION = "1.81";
 
 sub usage {
     my $err = shift and select STDERR;
@@ -41,7 +41,7 @@
     exit $err;
     } # usage
 
-use Getopt::Long qw(:config bundling nopermute passthrough);
+use Getopt::Long qw(:config bundling nopermute noignorecase passthrough);
 my $sep;       # Set after reading first line in a flurry attempt to 
auto-detect
 my $quo = '"';
 my $esc = '"';
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Text-CSV_XS-1.52/examples/csv2xlsx 
new/Text-CSV_XS-1.53/examples/csv2xlsx
--- old/Text-CSV_XS-1.52/examples/csv2xlsx      2023-01-03 13:17:37.000000000 
+0100
+++ new/Text-CSV_XS-1.53/examples/csv2xlsx      2023-11-14 13:48:55.000000000 
+0100
@@ -1,12 +1,12 @@
 #!/pro/bin/perl
 
 # csv2xlsx: Convert csv to xlsx
-#         (m)'22 Copyright H.M.Brand 2007-2023
+#         (m)'23 Copyright H.M.Brand 2007-2023
 
 use 5.014000;
 use warnings;
 
-our $VERSION = "1.20 - 2022-06-21";
+our $VERSION = "1.23 - 2023-11-14";
 
 sub usage {
     my $err = shift and select STDERR;
@@ -35,6 +35,9 @@
        -f         force usage of <xlsx> if already exists (unlink before use)
        -d <dtfmt> use <dtfmt> as date formats.   Default = 'dd-mm-yyyy'
        -C <C:fmt> use <fmt> as currency formats for currency <C>, no default
+         --font=F set default font (default Calibri)
+         --fs=N   set font size    (default 10)
+                  'M' = 'mono', 'D' = 'DejaVu Sans', 'DM' = 'DejaVu Sans Mono'
        -D cols    only convert dates in columns <cols>.
                   Default is everywhere. -D0 is disable
        -L N       limit export to N rows
@@ -42,6 +45,7 @@
          --de     Some CSV fields might be double-encoded. Try to fix that.
        -m         merge multiple CSV's into a single xlsx (separate sheets)
                     -o is required, all arguments should be existing files
+         --skip-empty Skip empty files on merge
        -S <cp>    Split CSV on COLUMNxPAT into separate sheets. See --man
                   or --info for options/features and examples. May repeat.
          --sl=C   Use column C as sheet label when splitting with -S
@@ -52,10 +56,10 @@
 
 use Text::CSV_XS;
 use Excel::Writer::XLSX;
-use List::Util   qw( first                       );
-use Date::Calc   qw( Delta_Days Days_in_Month    );
-use Encode       qw( from_to                     );
-use Getopt::Long qw(:config bundling passthrough );
+use List::Util   qw( first                                    );
+use Date::Calc   qw( Delta_Days Days_in_Month                 );
+use Encode       qw( from_to                                  );
+use Getopt::Long qw(:config bundling passthrough noignorecase );
 my $quo = '"';
 my $esc = '"';
 my $wdt = 4;           # Default minimal column width
@@ -79,6 +83,8 @@
     "d|date-fmt=s"     => \$dtf,
     "D|date-col=s"     => \$dtc,
     "C|curr-fmt=s"     => \$crf,
+      "font=s"         => \my $font,
+      "fs|font-size=i" => \my $font_size,
     "f|force!"         => \my $frc,
     "F|formulas!"      => \my $frm,
       "Fa=s"           => \$fac,
@@ -91,6 +97,7 @@
     "u|utf-8|utf8!"    => \my $utf,
       "de|fix-utf8!"   => \my $dutf, # double encoded? \x{c3}\x{ab} => \x{100}
     "m|merge!"         => \my $mrg,
+      "skip-empty!"    => \my $skip_empty,
     "S|split=s"                => \my @split,
       "sl|split-label=s"=> \my $split_sl,
     "L|row-limit=i"    => \my $row_limit,
@@ -131,8 +138,10 @@
            push @csv => $_;
            next;
            }
-       warn "Argument $_ is not an existing (CSV) file\n";
-       usage (1);
+       unless ($skip_empty) {
+           warn "Argument $_ is not an existing (CSV) file\n";
+           usage (1);
+           }
        }
     $xls && @csv or usage (1);
     @ARGV = @csv;
@@ -195,6 +204,7 @@
 my $wbk = Excel::Writer::XLSX->new ($xls);
    $dtf =~ s/j/y/g;
 my %fmt = (
+    dflt => $wbk->add_format (),
     date => $wbk->add_format (align => "center", num_format => $dtf),
     rest => $wbk->add_format (align => "left"),
     wrap => $wbk->add_format (text_wrap => 1),
@@ -203,6 +213,15 @@
     num_format => "$1 $2",
     align      => "right",
     );
+if ($font) {
+    $font eq "M"  and $font = "mono";
+    $font eq "D"  and $font = "DejaVu Sans";
+    $font eq "DM" and $font = "DejaVu Sans Mono";
+    $_->set_font ($font)      for values %fmt;
+    }
+if ($font_size) {
+    $_->set_size ($font_size) for values %fmt;
+    }
 
 my @args = @ARGV ? @ARGV : ("");
 foreach my $csvf (@args) {
@@ -363,12 +382,12 @@
                    from_to ($val, "utf-8", "ucs2");
                    $val =~ m/\n/
                        ? $wks->write_unicode ($h, $c, $val, $fmt{wrap})
-                       : $wks->write_unicode ($h, $c, $val);
+                       : $wks->write_unicode ($h, $c, $val, $fmt{dflt});
                    }
                else {
                    $val =~ m/\n/
                        ? $wks->write_string  ($h, $c, $val, $fmt{wrap})
-                       : $wks->write_string  ($h, $c, $val);
+                       : $wks->write_string  ($h, $c, $val, $fmt{dflt});
                    }
                next;
                }
@@ -397,7 +416,7 @@
                $wks->write_string  ($h, $c, $val);
                }
            else {
-               $wks->write ($h, $c, $val);
+               $wks->write ($h, $c, $val, $fmt{dflt});
                }
            }
        ++$h % 100 or $opt_v && printf STDERR "%6d x %6d\r", $w, $h;
@@ -510,6 +529,28 @@
 
  -C '$:### ### ##0.00'
 
+=item --font=Calibri
+
+You can set the default font. The XLSX writer used sets the default font
+face to C<Calibri>.
+
+ --font=Arial
+
+There are 3 default shortcuts
+
+ --font=M
+ --font=D
+ --font=DM
+
+Setting the font to C<mono>, C<DejaVu Sans>, or C<DejaVu Sans Mono>.
+
+=item --fs=10
+
+=item --font-size=10
+
+Optional set the default font-size to anything other than the default 10.
+Must be a positive integer. No checks.
+
 =item -f
 
 =item --force
@@ -581,6 +622,11 @@
 With this option, the option C<-o> is required. All arguments should be
 existing files. Piping is not supported.
 
+=item --skip-empty
+
+When merging CSV files with C<-m>, skip empty files. The default is to exit
+with an error message.
+
 =item -L N
 
 =item --row-limit=N
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Text-CSV_XS-1.52/t/47_comment.t 
new/Text-CSV_XS-1.53/t/47_comment.t
--- old/Text-CSV_XS-1.52/t/47_comment.t 2021-03-20 18:04:28.000000000 +0100
+++ new/Text-CSV_XS-1.53/t/47_comment.t 2023-11-20 18:39:05.000000000 +0100
@@ -4,7 +4,7 @@
 use warnings;
 
 use Test::More;
-use Text::CSV_XS;
+use Text::CSV_XS qw(csv);
 
 BEGIN {
     if ($] < 5.008002) {
@@ -12,7 +12,7 @@
        }
     else {
        require Encode;
-       plan tests => 60;
+       plan tests => 61;
        }
     require "./t/util.pl";
     }
@@ -56,4 +56,17 @@
        }
     }
 
+is_deeply (csv (
+    in               => *DATA,
+    sep_char         => "|",
+    headers          => "auto",
+    allow_whitespace => 1,
+    comment_str      => "#"
+    ), [{ id => 42, name => "foo" }], "Last record is comment");
+
 1;
+__END__
+id | name
+#
+42 | foo
+#
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Text-CSV_XS-1.52/t/67_emptrow.t 
new/Text-CSV_XS-1.53/t/67_emptrow.t
--- old/Text-CSV_XS-1.52/t/67_emptrow.t 2023-08-07 15:01:22.000000000 +0200
+++ new/Text-CSV_XS-1.53/t/67_emptrow.t 2023-11-20 08:44:25.000000000 +0100
@@ -10,7 +10,7 @@
         plan skip_all => "This test unit requires perl-5.8.1 or higher";
        }
     else {
-       plan tests => 47;
+       plan tests => 56;
        }
 
     use_ok "Text::CSV_XS", ("csv");
@@ -47,7 +47,7 @@
 is ($csv->skip_empty_rows (0),         0,              "+0");
 is ($csv->skip_empty_rows (undef),     0,              "undef");
 
-open my $fh, ">", $tfn;
+open my $fh, ">", $tfn or BAIL_OUT "$tfn: $!\n";
 print $fh "a,b,c,d\n";
 print $fh "1,2,0,4\n";
 print $fh "4,0,9,1\n";
@@ -89,6 +89,14 @@
     $ea,[8,2,7,1],$ea,$ea,[5,7,9,3],$ea],                      "A Callback");
 is_deeply (csv (@parg, skip_empty_rows => sub {0}), \@head,    "A Callback 0");
 
+# Array behavior (line by line)
+open $fh, "<", $tfn;
+$csv = Text::CSV_XS->new ({ skip_empty_rows => 1 });
+while (my $row = $csv->getline ($fh)) {
+    ok (@$row, "Row has columns");
+    }
+close $fh;
+
 # Hash behavior
 push @parg => bom => 1;
 my $eh = { a => "", b => undef, c => undef, d => undef },
@@ -122,3 +130,13 @@
     { a => 5, b => 7, c => 9, d => 3 },$eh],                   "H Callback");
 
 is_deeply (csv (@parg, skip_empty_rows => sub {0}), \@head,    "H Callback 0");
+
+# Hash behavior (line by line)
+open $fh, "<", $tfn;
+$csv = Text::CSV_XS->new ({ skip_empty_rows => 1 });
+my $cols = $csv->getline ($fh);
+$csv->column_names (@$cols);
+while (my $row = $csv->getline_hr ($fh)) {
+    isnt ($row->{a}, undef, "Column 'a' is defined");
+    }
+close $fh;

Reply via email to