my %fields; #$csvIn is a Text::xSV object. while ($csvIn->get_row()) { ($fields{partner}, $fields{kampagne}, $fields{keywordCluster}, $fields{keyword}, $fields{clicks}, $fields{leads}, $fields{orders}, $fields{jaronVerguetung}, $fields{partnerVerguetung}, $fields{profit}) = $csvIn->extract(qw(partner kampagne keywordCluster keyword clicks leads orders jaronVerguetung partnerVerguetung profit)); #set nulls to empty string. Have to do this or there will be problems later printing the data rows. (($fields{partner}, $fields{kampagne}, $fields{keywordCluster}, $fields{keyword}, $fields{clicks}, $fields{leads}, $fields{orders}, $fields{jaronVerguetung}, $fields{partnerVerguetung}, $fields{profit}) ) = map { unless ( defined ($_) ) { "" } else {$_} } ($fields{partner}, $fields{kampagne}, $fields{keywordCluster}, $fields{keyword}, $fields{clicks}, $fields{leads}, $fields{orders}, $fields{jaronVerguetung}, $fields{partnerVerguetung}, $fields{profit} ); }