Perhaps it's better to think of '@' and '@@' as working with different
contexts.  S02 says that there are three main contexts (void, scalar,
and list); that scalar context has a number of "sub-contexts"
(boolean, integer, number, and string), and that list context has a
number of sub-contexts based on the container type.  The difference
between '@' and '@@' seems to be 'list context' vs. 'lisp context', as
it were - i.e., whether or not nested lists should be flattened.  How
this maps to required roles, I'm still not sure.

--
Jonathan "Dataweaver" Lang

Reply via email to