*Foo{SCALAR} = SCALAR(0x511f4) # original entry in glob $x = SCALAR(0x511f4) # ref to original scalar (same) $Foo = 5 # original value Enter scope *Foo{SCALAR} = SCALAR(0x47650) # new SCALAR entry in glob $y = SCALAR(0x47650) # ref to it $Foo = 42 # value of localized var $$x = 5 # value of original $$y = 42 # value via ref to localized var $Foo = 42 # after editing original, local unchanged Exit scope *Foo{SCALAR} = SCALAR(0x511f4) # original entry back in glob $Foo = 6 # change we made via $$x now visible $y = SCALAR(0x47650) # the localized var still around via ref $$y = 42 # still contains value