New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Localization and goto() #857
Comments
From ilya@math.ohio-state.edu$a = 5; This prints 5. "Should" not it print 9 instead? Ilya Perl Info
|
From @samtregar
What? No! Maybe if you said "local $a = 9" it would! -sam |
From [Unknown Contact. See original ticket]Sam Tregar writes:
Thanks for this correction. My test script was busted, but my $a = 5; This still prints 5... :-( Ilya |
From [Unknown Contact. See original ticket]
And this is a problem exactly how? b()'s frame goes away. So its local view of $a I do not find this behaviour astonishing. --tom |
From [Unknown Contact. See original ticket]ilya@math.ohio-state.edu wrote
That was my initial reaction, but the documentation suggests rather The `goto-&NAME' form is highly magical, and substitutes
Mike Guy |
From [Unknown Contact. See original ticket]On Tue, Nov 16, 1999 at 06:08:18AM -0700, Tom Christiansen wrote:
This is an implementation detail. IIRC, it is documented that frame
I never said it was. However, while not astonishing, it is Ilya |
From [Unknown Contact. See original ticket]
If something has been replaced, it has gone away and is no longer there.
Such as? --tom |
From [Unknown Contact. See original ticket]Tom Christiansen writes:
Whether a person ceases to exist after a sex change operation is
In the particular case I needed it was local @ISA = (@ISA, 'DynaLoader'); Ilya |
From [Unknown Contact. See original ticket]ilya>> This is an implementation detail. IIRC, it is documented that frame tom> If something has been replaced, it has gone away and is no longer there. ilya> Whether a person ceases to exist after a sex change operation is Let's chalk this one up to a language barrier. http://work.ucsd.edu:5141/cgi-bin/http_webster?replace 1: substitute a person or thing for (another that has ceased to 2: take the place of [syn: {supplant}, {supersede}, {supervene 3: put something back where it belongs [syn: {put back}] 4: put in the place of another [syn: {substitute}] If a frame has been replaced, then that frame *has* gone away, It's a dead frame, Ilya. ilya>> What happens, however, is making some "normal programming tom> Such as? ilya> In the particular case I needed it was From the example you provided above, I see that, as it was with Be that as it may, I continue to fail to see any such ambiguity in the Could it be that your problem is nothing more than, having misunderstood --tom |
From [Unknown Contact. See original ticket]Tom Christiansen <tchrist@jhereg.perl.com> writes:
One could expect the frame to stay until the "goto" returned ;-)
-- |
From [Unknown Contact. See original ticket]
Don't we need a comefrom construct for that? :-) --tom |
From [Unknown Contact. See original ticket]Ilya Zakharevich <ilya@math.ohio-state.edu> writes:
What is the snag with : { Is it that now caller() will see the wrapper? -- |
From [Unknown Contact. See original ticket]Tom Christiansen writes:
Absolutely not. The contents of the frame is different, but the frame Ilya |
From [Unknown Contact. See original ticket]
Brevity and sophistry do not a productive pairing make. --tom |
From [Unknown Contact. See original ticket]Nick Ing-Simmons writes:
This is what the wrapper is currently doing. But note that the Apparently, undocumented magic of Carp hides this issue (I could not Ilya |
Migrated from rt.perl.org#1787 (status was 'resolved')
Searchable as RT1787$
The text was updated successfully, but these errors were encountered: