如何获取perl中文件中存在的最大列数

ram*_*amy 1 perl file

我有一个test.csv文件,其中包含类似这样的数据.

"a","usa","24-Nov-2011","100.98","Extra1","Extra2"
"B","zim","23-Nov-2011","123","Extra22"
"C","can","23-Nov-2011","123"
Run Code Online (Sandbox Code Playgroud)

我想获取此文件中的最大列数(在本例中为i,e 6),然后将其存储在变量中.

喜欢

 Variable=6
Run Code Online (Sandbox Code Playgroud)

你能给我一些关于如何继续的建议.

Dav*_*K-J 5

尝试使用Text :: CSV

阅读每一行,解析该模块,并将字段数与变量进行比较.

#!/bin/env perl
use strict;
use warnings;

use Text::CSV;

my $csv = Text::CSV->new;
my $max = 0;

open my $fh, "<:encoding(utf8)", "test.csv" or die "test.csv: $!";
while ( my $row = $csv->getline( $fh ) ) {
    my $count = scalar @$rows;
    $max = $count > $max ? $count : $max;
}
Run Code Online (Sandbox Code Playgroud)