in reply to Confused by a Conditional

The reason the conditional is coming out as true is that it is not parsed the way you think it is:

if ( ($key eq 'ID') or 'TITLE' or 'GENE' or 'CYTOBAND' or 'LOCUSLINK' or 'CHROMOSOME' or 'SCOUNT') # ... }

... is the same thing. The strings 'TITLE', etc. are considered true by perl.

(update: ... and everyone beats me and gives better answers. Sigh...)