use Text::CSV_XS; my $csv = Text::CSV_XS->new ({ binary => 1, auto_diag => 1 }); open my $data, "<", $file_c or die "$file_c: $!\n"; my $rows = 0; while (my $row = $csv->getline ($data)) { $rows++; } print "Total $rows rows (including header line)\n"; #### $ ll xx.csv 12862169 -rw-rw-rw- 1 merijn users 415423 Sep 6 16:00 xx.csv $ perl -MDBI -wE'say DBI->connect("dbi:CSV:f_ext=.csv")->selectrow_arrayref("select count(*) from xx")->[0]," rows in fs"' 8739 rows in fs