times. Why? You could write this using "foreach" and simply use conditionals to test each regex (with a push for valid values). In fact, your second "grep" only gives you a subset of your first "grep", so make sure to pay attention for things like that as you recode. You can probably also skip some regexes by using "next" within the "for" loop, if there are mutually exlusive matches.
: Oops. Dyslexia. Looping twice for each structure. Still once too often. (Note, I would also make those list names a little less like each other. {grin} )