我试图将一个数组打印到一个csv文件中,并为此编写以下代码:
use strict;
use warnings;
use Text::CSV;
use Text::CSV_XS;
my $csv = Text::CSV_XS->new();
my $file = "data.csv";
open(OUT, '<', $file) or die "Could not open '$file' $!\n";
my @columns = (qw/what ever the items are for each columns/);
my $status = $csv->print(OUT, \@columns);
这个脚本给我返回了: 在test.pl第37行使用“ strict subs”时,不允许使用标头“ OUT”。 由于编译错误,test.pl的执行中止了。
我尝试使用Text :: CSV或Text :: CSV_XS在csv中打印数据,我需要有关语法的更多信息。
答案 0 :(得分:3)
您不能将裸字文件句柄用作子例程参数。改用词汇文件句柄:
open my $out, '<', $file or die ...;
$csv->print($out, \@columns);
或者,使用typeglob标记(不太可取):
$csv->print(*OUT, \@columns);
此外,您已打开文件进行读取(<
)。您无法打印到输入文件句柄。您是说>
吗?