Quote diotalevi:
my() has a runtime effect. You *always* (unless you're doing something freakish) want that to happen. The my $var STATEMENT-MODIFIER allows the runtime part of my() to potentially not happen.
In other words,
my $var = ... if/unless/while/for/foreach ...
is wrong and/or buggy. Use
my $var;
$var = ... if/unless/while/for/foreach ...
instead
In this case, replace
my $v2 = -2 if 0;
with
my $v2;
$v2 = -2 if 0;
PS - You post here regularly. You should start heeding "Clean Your Room" in How (Not) To Ask A Question and start indenting your code.
In reply to Re: 'my' with 'if 0' retains old value
by ikegami
in thread 'my' with 'if 0' retains old value
by jesuashok
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |