Thank you, Luke and Larry, for your replies. They did help. For now, I will use the syntax $obj.:bar[] and $obj.:baz{} in the get_bar|baz() accessor methods to get copies returned; if the rules change again, I'll update later. I noticed that the example seemed incomplete, saying only what would happen with the above in list context, and not saying what would happen in scalar context. I would like a way of specifying that the copy always happens regardless of the caller's context. This doesn't have to be a language 'default', and I'm fine if its a little more verbose, just as long as its consistent and unambiguous. > return $self.:foo # in any context > return $self.:bar[]; # in list context > return $self.:baz{}; # in list context > return $:foo; # in any context > return @:bar; # in any context > return %:baz; # in any context Eg, something that is like lines 5 and 6, but lets me explicitly use 'self'. -- Darren DuncanThread Previous | Thread Next