field|data_field1|value for data field 1 field|data_field2|value for data field 2 type|State=CA|state='CA' type|State=OR|state='OR' #### my ($type,$name,$desc)=split/\|/; $x=join ("|", ($name,$desc)); if (lc($type) eq "field"){ push @fields, $x; } elsif (lc($type) eq "type"){ push @types, $x; } ... ... ... foreach $f (@types){ ($name,$desc)=(split/\|/,$f); $desc=~s/\n//g; $name=ucfirst($name); print qq{$name }; }