<div>Running in perl 5.10.1 shows:</div>
<div> </div>
<div>initial value: initial</div>
<div>the new value: new value</div>
<div>check_value_exported_sub sees:</div>
<div>exported_variable: initial</div>
<div>check_value_local_def sees:</div>
<div>exported_variable: new value</div>
<div> </div>
<div>that is, same as what you saw in 5.10.0</div>
<div> </div>
<div>Based on the perlsub section "Temporary Values via local()":</div>
<div> A "local" modifies its listed variables to be "local" to the enclosing<br> block, "eval", or "do FILE"--<u>and to any subroutine called from within<br></u> <u>that block</u>. A "local" just gives temporary values to global (meaning<br>
package) variables. It does not create a local variable. This is<br> known as dynamic scoping. ...</div>
<div> </div>
<div>Emphasis is in the original perldoc. So it looks like a bug to me too. Bring it to the monks.</div>