> -----Original Message----- > 1d) Additional arguments may occur as adverbs *only* if there > are explicit parens. (Or in the absence of parens they may > parse as arguments when a term is expected--but then they're > not adverbs, just named arguments...) > > splurt():by{ +$_ } # okay > splurt 1,2,3 :by{ +$_ } # ILLEGAL (comma rejects the adverb) > splurt 1,2,3 :{ +$_ } # ILLEGAL (comma rejects the adverb) > splurt 1,2,3,:{ +$_ } # likely okay (as anonymous named > param) > splurt :{ +$_ } # likely okay (as anonymous named > param) > splurt { +$_ } # okay (positional param) > splurt 1,2,3, { +$_ } # okay (positional param) >
Doesn't the concept of an anonymous named param (in the fourth and fifth examples above) seem like an oxymoron? If it's anonymous it can't have a name (or at least we can't know its name). More importantly, what is an anonymous named param used for? Also, suppose I have a hash %foo = {'by' => 1, 'from' => 2}; Would splurt :%foo; have the same result as splurt :by(1) :from(2); or would I need the braces in this case? Joe Gottman