in reply to Delete lines from CSV where column cell value is null

You can use a filter:
#!/usr/bin/perl use strict; use warnings; use Text::CSV_XS qw{ csv }; csv(in => shift, eol => "\n", filter => {1 => sub { length }, 5 => sub { length }});

It will only keep the lines where columns 1 and 5 (1-based) have a non-zero length.

Tested on:

1,2,3,4,5,6 keep,keep,keep,keep,keep,keep ,delete,delete,delete,delete,delete keep,,,,keep, delete,delete,delete,delete,,delete keep,2,3,4,keep,6 ,delete,delete,delete,,delete

($q=q:Sq=~/;[c](.)(.)/;chr(-||-|5+lengthSq)`"S|oS2"`map{chr |+ord }map{substrSq`S_+|`|}3E|-|`7**2-3:)=~y+S|`+$1,++print+eval$q,q,a,