while (<>) { @lines = grep {/^DE|^GN|^ID/} split ("\n", $_); foreach $lines(@lines) { if ($lines =~ /^DE|^GN/ && $lines !~ /Putative uncharacterized protein/) { $lines =~ /.+\=(.+)\;/; print lc($1)."\n"; } elsif ($lines =~ /^ID/) { print " \n"; } } }