tassilo.parseval@post.rwth-aachen.de (via RT) wrote: > According to my knowledge, @- and @+ should be dynamically scoped so it's > obvious that they still have their values in Tie::Prematch::FETCH() when doing > > $foo =~ s/.ob/tied(%pre)->FETCH($foo)/e; > > But they somehow loose them when doing > > $foo =~ s/.ob/$pre{ $foo }/; > > even though it should be functionally identical. No, the /e creates a scope. Add a /e to your 2nd example and it becomes equivalent to the 1st one (apparently).