>> In particular, it would seem that >> %foo[$key] >> would be just as easy for the compiler to grok as >> %foo{$key}
On Mon, 27 Jan 2003 15:39:19 -0800, Damian Conway <[EMAIL PROTECTED]> wrote: > Sure. But then is this: > > $ref[$key] > > an array or hash look-up??? Yes, well I suppose that could be considered one of the things I hadn't figured out yet. But is seems to me that if we're changing "$X[$n]" to "@X[$n]", then it would be more consistent to change "$ref->[$key]" to "@$ref[$key]". Except of course that mixing prefix and postfix notation is horrible, so perhaps "$ref@[$key]" and "$ref%[$key]". (I'd assumed that "%[" and "@[" would be single symbols?) > Decided at runtime? That might be OK, except (as others have pointed out) for auto-vivification, where the object doesn't exist before we operate on it. Maybe we would get away with the shorthand "$ref[$index]" *except* where autovivification is desired, and then we'd have to use the long-hand "$ref@[$index]" and "$ref%[$index]" versions? Hmmmmm, actually, I think I could class that as a feature, if the reader -- human or compiler -- could know just by looking whether auto-viv is expected. -Martin