in reply to Splitting \0
I think you've got your '@' and '$' in the wrong places. join() returns a SCALAR, split() returns a LIST (or a scalar, but I think you want the list here).
my @column_names = qw( chk ); # I assume you have more? my $columns_joined = join "," => map { $db->quote($fd{$_}) } grep { exists $fd{$_} } @column_names; my @column_values = split /\0/, $columns_joined;
In Section
Seekers of Perl Wisdom