note
AnomalousMonk
<p>
Before I saw your [id://1037695|reply] below indicating your problem is fixed, I was going to suggest you take a look at the package global variable <c> $MTA::Profile_ARM::state_symbol </C> 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.
</P>
<p>
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 <i>first line</I> of a statement block (e.g., an <c>if</C>-statement) is the line number reported for any warning (or error?) encountered <i>within</I> 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 <c>if</C>-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 <c> $MTA::Profile_ARM::state_symbol </C> global.
</P>
1037680
1037692