note
anonymized user 468275
By coincidence I have been having a similar problem in 5.8.2. When assigning a variable to a match backreference, at outer scope there was no warning when the match failed. When assigning it to a variable at level 1 loop scope from within a level 2 loop, it gave the warning that something was uninitialised in the match expression (an untrue statement). Furthermore, even using the ternary operator to force the variable to '' on match failure, the match warning was delayed until the variable was subsequently tested with a simple "if ($var)" at which point it made even less sense. I get the impression that Perl can sometimes catch its feet slightly when trying to process potential uninitialisation for variables being updated or initialised in a different lexical and sub-global scope from which they were declared. <!-- Node text goes above. Div tags should contain sig only -->
<div class="pmsig"><div class="pmsig-468275">
<p><i>One world, one people</i>
</div></div>
905630
905635