#! perl -slw use strict; my $re_resgen = qr[(.)(,(?:\w+),(?:\w+),ResGen)]; while () { s[$re_resgen][my $t=$1; $t.='"' unless $t eq '"'; $t.$2]e; print; } =pod output c:\test>234040 001 GENE1="Rattus norvegicus serum and glucocorticoid-regulated kinase (sgk) mRNA, complete cds",NM_019232,333,ResGen,ATP binding|pr otein serine/threonine kinase|protein amino acid phosphorylation,,,,29517 002 GENE2="ESTs, Weakly similar to putative serine/threonine protein kinase MAK-V [M.musculus]",NM_144755,331,ResGen,,,,,246273 003 GENE3="Thiosulfate sulphurtransferase (rhodanese)",X56228,329,ResGen,mitochondrion|sulfate transport| thiosulfate sulfurtransfer ase,,,,25274 004 GENE4="Spleen tyrosine kinase",NM_012758,327,ResGen,ATP binding|protein tyrosine kinase|intracellular signaling cascade|protein amino acid phosphorylation,,,,25155 005 GENE5="Spleen kinase 24,NM_012758,,ResGen,ATP binding|protein tyrosine kinase|intracellular signaling cascade|protein amino acid phosphorylation,,,,25155 =cut __DATA__ 001 GENE1="Rattus norvegicus serum and glucocorticoid-regulated kinase (sgk) mRNA, complete cds,NM_019232,333,ResGen,ATP binding|protein serine/threonine kinase|protein amino acid phosphorylation,,,,29517 002 GENE2="ESTs, Weakly similar to putative serine/threonine protein kinase MAK-V [M.musculus]",NM_144755,331,ResGen,,,,,246273 003 GENE3="Thiosulfate sulphurtransferase (rhodanese)",X56228,329,ResGen,mitochondrion|sulfate transport| thiosulfate sulfurtransferase,,,,25274 004 GENE4="Spleen tyrosine kinase,NM_012758,327,ResGen,ATP binding|protein tyrosine kinase|intracellular signaling cascade|protein amino acid phosphorylation,,,,25155 005 GENE5="Spleen kinase 24,NM_012758,,ResGen,ATP binding|protein tyrosine kinase|intracellular signaling cascade|protein amino acid phosphorylation,,,,25155