http://www.perlmonks.org?node_id=756643


in reply to global variable initialization inside try{}

I get the same issue as almut -- it works fine under 5.10.0 but under 5.8.8 there's a problem. The Error I have for my 5.10.0 is different from the one in my 5.8.8 modules. I updated Error and tried it, but to no avail.

Update: It seems ikegami in Re: global variable initialization inside try{} has a simpler answer with no guesswork.

I also wonder if the last to an enclosing outer loop that is found in run_clauses suffers from the same issue that redo did in 5.8.8 according to rt ticket 63752. That scoping bug left a lexical declared in the loop variant of a while loop undefined after a redo. That bug was fixed in 5.8.9 and in the 5.9.x tree for 5.10.0 so it may explain the difference in behavior. I don't have the inclination to track it down to that bug nor the skill and internals knowledge to make it easy for me to do so. I could probably muddle through, but others would have a much easier time of it.

I'd upgrade to 5.8.9 or 5.10.0 and go from there. If the above bug is to blame, then 5.8.9 will have it fixed. We know because almut confirmed it that 5.10.0 acts as expected.