use Text::CSV_XS "csv"; csv (in => csv (in => *DATA, sep => ";"), sep => ";", quote_always => 1, out => \my $out); print $out =~ s/^"([^"]*)"/$1/grm; __END__ ABC;123;;;;;HELLO; DEF;345;;BANANA;12DEF;44,55;4*12;;;;;;;;3; #### $ perl test.pl ABC;"123";"";"";"";"";"HELLO";"" DEF;"345";"";"BANANA";"12DEF";"44,55";"4*12";"";"";"";"";"";"";"";"3";""