Из Text::CSV
документов :
При записи файлов CSV с установленным always_quote
пустое поле без кавычек является результатом неопределенного значения.
Таким образом, если вы сделаете что-то вроде:
my @arr = ( undef, undef, undef, undef, "5th column" );
my $csv = Text::CSV->new ( { always_quote => 1 } );
open my $fh, '>', 'outfile.csv' or die $!;
$csv->print( $fh, \@arr );
... вы должны получить выходной файл вида
,,,,5th column