Yep, I've seen that too. The issues is, I think, that what you get from the tied hash is a reference to the method in the tied object, and that doesn't get executed in context of the array dereference, but it does in the context of assigning the value to a variable. Why this would be, I don't know.