in reply to Dereference inside a regex
The regex has uninitialized values then.. ?
What uninitialized values? Can you give a short, standalone program that produces these uninitialized values?
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: Dereference inside a regex
by tobias_hofer (Friar) on Jun 07, 2013 at 15:56 UTC | |
here the code in its current state: and I get this message from perl-diagnostics, moreover i am using eclipse and epic-plugin and strawberryperl 5.10.0. The warning looks like this:
Ok, i am just guessing that this is because of the dereferencing, but the scalar $state is initialized with '0'. So I am running out of plans... | [reply] [d/l] [select] |
by AnomalousMonk (Archbishop) on Jun 08, 2013 at 10:38 UTC | |
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. | [reply] [d/l] [select] |