On 10/10/05, Austin Hastings <[EMAIL PROTECTED]> wrote: > So to pass a hash that has one element requires using the <c>hash</c> > keyword?
I don't see a hash in your example, so I'm not sure what you're referring to here. > Specifically, if I say: > > @args = (a => 1, get_overrides()); > > Then can I say > > foo([EMAIL PROTECTED]); Not if you want that a=>1 to be a named argument. Under the proposal, the only ways to pass a named argument are: 1) By using a literal pair in the syntactic top-level of the arg list 2) By splatting a pair, hash, or arg-list-object > Or will I, in the case of no overrides, get a positional pair instead of > named a =>1 ? The overrides have nothing to do with it. That a=>1 will *always* be a positional, because by the time it reaches the argument list, it's a value (not a syntactic form). The only way to use a pair-value as a named argument is to splat it directly, or splat a hash or arg-list-object containing it. Splatting an array *never* introduces named arguments, only positionals. Stuart