Subject: | say() does not work with bind_columns() |
Date: | Tue, 9 May 2017 11:40:52 +0100 |
To: | bug-Text-CSV_XS [...] rt.cpan.org |
From: | Theron Stanford <shixilun [...] gmail.com> |
Here's a minimal example showing that print() works with bind_columns()
while say() doesn't.
$ cpanm -v Text::CSV_XS
...
Successfully installed Text-CSV_XS-1.29 (upgraded from 1.22)
$ cat text-csv_xs-print.pl
use strict;
use warnings;
use Text::CSV_XS;
my $csv = Text::CSV_XS->new({ binary => 1, always_quote => 1 });
my $data = 'x';
$csv->bind_columns(\$data);
open my $fh, '>', 'text-csv_xs-print.csv';
$csv->print($fh, undef); print $fh "\n";
$ perl text-csv_xs-print.pl
$ cat text-csv_xs-print.csv
"x"
$ cat text-csv_xs-say.pl
use strict;
use warnings;
use Text::CSV_XS;
my $csv = Text::CSV_XS->new({ binary => 1, always_quote => 1 });
my $data = 'x';
$csv->bind_columns(\$data);
open my $fh, '>', 'text-csv_xs-say.csv';
$csv->say($fh, undef);
$ perl text-csv_xs-say.pl
Expected fields to be an array ref at
/Users/theronstanford/perl5/perlbrew/perls/perl-5.14.2/lib/site_perl/5.14.2/darwin-thread-multi-2level/Text/CSV_XS.pm
line 889.
$ perl -v
This is perl 5, version 14, subversion 2 (v5.14.2) built for
darwin-thread-multi-2level
(with 1 registered patch, see perl -V for more detail)
Copyright 1987-2011, Larry Wall
Perl may be copied only under the terms of either the Artistic License or
the
GNU General Public License, which may be found in the Perl 5 source kit.
Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl". If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.
$ uname -a
Darwin Therons-MacBook-Pro.local 16.5.0 Darwin Kernel Version 16.5.0: Fri
Mar 3 16:52:33 PST 2017; root:xnu-3789.51.2~3/RELEASE_X86_64 x86_64