in reply to stupid mistake in DBI code

You pull your values and immediately clear the array

my %row =(); $sth->bind_columns(map {\$row{$_}} @Rcols); while (@values=$sth->fetchrow_arrayref) { @values = '';

Also note, your bind_columns statement can be simplified a little by taking the reference of a hash slice

$sth->bind_columns(\@row{@Rcols});

Update: Nevermind, appears you figured it out above