in reply to Regular expression matching when it shouldn't

You have:

/[A-Z0-9]+[A-Z0-9]+[A-Z0-9]{1}/i
as your regex. I'm guessing that you want to match at least three alphanumeric characters. (I'd write this as
/[A-Z0-9]{3,}/i
or
/\w{3,}/
if you don't mind matching _s as well.)

Anyways, you're getting matches that you don't expect because m// matches substrings, not whole lines. So, if you give this regex a string with at least three consecutive alphanumerics, it'll match regardless of what else is in the string. If you want to match only alphanumerics, you want something like this:

/^ # match the start of the line [A-Z0-9]{3,} # match at least 3 alnums, beginning at the start of the + line $ # match the end of the line -- we've only matched alnums /xi;
or, much more concisely:
/^[A-Z0-9]{3,}$/i;
If you're going to be writing a lot of perl, I strongly suggest that you learn regexes well. Mastering Regular Expressions is, IMO, the best book for the job; the Camel book also has some good stuff. You might find Steve Litt's tutorial useful as well.

--
:wq