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 }; }