【问题标题】:print data to csv file form an array将数据从数组打印到 csv 文件
【发布时间】:2019-05-22 00:26:53
【问题描述】:

我尝试将数组打印到 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 格式打印数据,我需要有关语法的更多信息。

【问题讨论】:

    标签: perl export-to-csv


    【解决方案1】:

    您不能将裸字文件句柄用作子例程参数。改用词法文件句柄:

    open my $out, '<', $file or die ...;
    $csv->print($out, \@columns);
    

    或者,使用 typeglob sigil(不太可取):

    $csv->print(*OUT, \@columns);
    

    此外,您打开了文件进行阅读 (&lt;)。您无法打印到输入文件句柄。你是说&gt;吗?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-19
      • 1970-01-01
      • 2017-12-24
      • 1970-01-01
      • 2020-03-19
      • 2018-05-07
      • 1970-01-01
      • 2011-02-07
      相关资源
      最近更新 更多