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.
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link or
or How to display code and escape characters
are good places to start.
|