Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much
 
PerlMonks  

Re: Re: Re: Scoping issues with code evaluation asserstions?

by diotalevi (Canon)
on Jun 19, 2003 at 19:08 UTC ( [id://267308] : note . print w/replies, xml ) Need Help??


in reply to Re: Re: Scoping issues with code evaluation asserstions?
in thread Scoping issues with code evaluation asserstions?

You'd need to have declared $ret as a global somewhere for local to localize it. Remember that local() declares nothing.

use vars '$ret'; sub regex { local $ret = '';

What you didn't realize was that the (?{ ... }) is a closure so when it first ran it captured the original $ret and continued to write to that same instance which wasn't the same one being returned in later iterations.