in reply to Re^2: Dereference inside a regex
in thread Dereference inside a regex
Before I saw your reply below indicating your problem is fixed, I was going to suggest you take a look at the package global variable $MTA::Profile_ARM::state_symbol to see how it was defined; you have apparently done this and found the problem. And, yes, using strictures and warnings is always a good idea, especially if you are a novice Perler.
The misleading line number reported for the "uninitialized value in regexp compilation" warning is due to a quirk (dare one say bug?) present until recently (I'm too lazy to look up the version in which this was fixed) in the compiler such that the line number of the first line of a statement block (e.g., an if-statement) is the line number reported for any warning (or error?) encountered within the statement block. This can be disorienting, but the warning message did clearly refer to a "regex compilation" problem, and there are only two regexes associated with the if-statement in question, and these regexes consist entirely in the interpolation of some value from a single global hash, so the obvious place to look should have been the $MTA::Profile_ARM::state_symbol global.