Steve Peters <[EMAIL PROTECTED]> wrote: > ~ seems to be available for a sigil, if my reading of S02 is correct, and > the cent sign is replacing :: in all cases. If not (that is $::foo is > still the global variable named foo) then * may also be available.
Sigils can't conflict with unary operators (like, say, the stringification and flattening operators, ~ and *) and ideally shouldn't conflict with binary ops either (although % breaks this rule). This has been done before several times on p6l, but I'll do it again: Chr Term Operator === ==== ======== ~ Stringify Concatenate ` Reserved for user Reserved for user ! Not @ Array sigil Array sigil # Comment Comment $ Scalar sigil Scalar sigil % Hash sigil Hash sigil, modulo ^ (Not sure) one() junction & Subroutine sigil all() junction * Unary splat Multiplication ( Open paren Subroutine call ) (technically unused) Close paren - Negate Subtract _ Identifier (technically unused) = Iteration Assign + Numify Add \ Take reference | any() junction [ Anonymous array Array index { Block Hash index ] (technically unused) Close square bracket } (technically unused) Close curly bracket ; (technically unused) Statement delimiter, anonymous array : Pair "super comma" ' Single quotes (technically unused) " Double quotes (technically unused) , (technically unused) List items < quote words Less than . Method call on topic Method call > (technically unused) Greater than / Anonymous rule Divide ? Boolify There are very few unary operators available, and none (besides the user-defined backticks operator) unused in both term and operator context. -- Brent 'Dax' Royal-Gordon <[EMAIL PROTECTED]> Perl and Parrot hacker