$ cat test.pl use 5.18.2; use warnings; use Text::CSV_XS qw( csv ); csv (in => csv ( in => *ARGV, blank_is_undef => 1, on_in => sub { $_ //= "NULL" for @{$_[1]}; }, ), ); $ cat test.csv 1,2,,3,4 1,2,"",3,4 $ perl test.pl test.csv 1,2,NULL,3,4 1,2,,3,4