【发布时间】:2017-03-28 16:05:30
【问题描述】:
在我的一个 linux vm 框中,以下 perl 代码在第 4 行失败
use Text::CSV_XS qw( csv );
my $csv = Text::CSV_XS->new( { binary => 1, eol => "\n" } );
open( $fh, '<:crlf', 'test.csv' ) or die $!;
@lineArray = csv( in => $fh, headers => "auto");
print 'done';
错误表明 main 中没有 csv 方法。错误输出为 @main::csv 未定义子例程。 此代码适用于其他安装,但不仅仅是在一台机器上。
Perl 版本是 5.10.1
【问题讨论】:
-
盒子上安装的是什么版本的模块?似乎是没有
csv功能的旧版本。另请注意,使用csv函数时不需要构造函数。 -
我刚刚使用从 docs 复制的示例在 v5.10 和 v5.16 上进行了测试,它的行为方式与您所说的相同——没有
csv函数。 -
是的,我意识到 Text::CSV_XS 在 2001 年 10 月之后于 2016 年 3 月发布。那是 15 年后。所以我想这就是原因,我的一个盒子里没有 csv 方法,因为模块很旧。