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: