my %titles = ( 'suby' => 'submitted by', 'stat' => 'Status', 'desc' => 'a short concise description', 'catg' => 'Jobfail', 'agrp' => 'finance', 'lnam' => 'Stevens', ); # You'll likely want an array of these, but that's another post :-) my %data = ( 'suby' => 2, 'stat' => 7, 'desc' => 8, 'catg' => 536870915, 'agrp' => 536870922, 'lnam' => 536870926, ); my @fields = qw(suby stat desc catg agrp lnam); $tkt_data = join ',', map { $data{$_}, $titles{$_} } grep { defined ($data{$_}) } @fields;