#!/usr/bin/perl use strict; use warnings; use feature qw/ say /; use Text::CSV_XS; my $csv = Text::CSV_XS->new( { binary => 1, auto_diag => 1 } ); my $wanted = join ';', ( 11, 15, 18 ); foreach my $row ( @{ $csv->fragment( *DATA, "col=$wanted" ) } ) { say "@{ $row }"; } __DATA__ A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z z,y,x,w,v,u,t,s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a