use Text::CSV_XS qw(csv); my $count = 0; my $aoa = csv (in => "sample.csv", sep => "|", filter => { 10 => sub { $_ eq "Submit" }, 13 => sub { $_ eq "GSM" }, 14 => sub { $_ eq "SMPP" and ++$count }, }); say $count;