Perl 6 Index Tablet / Perl 6
* ! (logical op) - logical negation, forces binary context, high precedence version of not
* ! (twigil) - twigil of private class and object variables
* ! - suffix for required named parameter in signatures
* !<op> (meta op) - negates (mostly comparsion operators)
* !! - second Part of the ternary (conditional) operator after ??
* !!! (yadda op) - yadda Operator that calles die
* " " (quoting op) - double quoting, interpolate with :s, :a, :h, :f, :c, :b (all vars, functions, blocks, control chars), alias to qq/.../ or Q :qq/.../
* # - starts a comment that continues to the end of the line; works even inside regexes as (regex Metachar)
* #`( ) - starts a multi line comment that continues to the end of the line or bracket, works with any combination of bracket pairs
* $ (sigil) - prefix of scalar vars
* $() (conext op) - forces scalar context, alias to item()
* $ (regex Metachar) - end of the string
* $$ (regex Metachar) - end of a line
* % (sigil) - prefix of hash variables
* % (numeric op) - gives remainder of a modulo division, forces numeric context
* %() (conext op) - forces hash context, alias to the hash() function
* %% (numeric op) - Bool::True if the left is evenly divisible by right value
* & (sigil) - sigil of the callable namespace
* & (junctive op) - junctive AND, requires that all conditions are met
* & (regex Metachar) - match multiple patterns (AND - connection of patterns)
* && (logical op) - short circuit AND, evals right side if left side returned true, high precedence version of and
* ' ' (quoting op) - simple quoting, just / and ' needs o be quoted, alias to q//
* () - grouping of values (parameters)
* () (regex Metachar) - encompass a subregex/submatch
* * (numeric op) - multiplies numbers and forces numeric context on parameters;
* * (term) - synonym for Inf (Whatever) in connection with a Range operator (".."); marks the end of an array in a slice operator so that negative indices access array elements relative to one beyond the final element
* * - marks as prefix slurpy arrays in signatures
* * (twigil) - secondary sigil of global variables
* ** (numeric op) - raises a number to a power and forces numeric context
* ** (regex Metachar) - multiplies char or group like x (strig op) outside of regex, (ha)**3 equals (hahaha)
* + (conext op), (numeric op) - forces numeric context of values and adds results
* +& (numeric op) - bitwise and, numeric context
* ++ (sequence traversion) - generic autoincrement, calls internal iterator of that object, before (prefix) or after (suffix) the evaluation of the surrounding term, alias to succ
* +< (numeric op) - shift left in numeric kontext
* +> (numeric op) - shift right in numeric kontext
* +^ (numeric op) - bitwise xor in numeric context
* +| (numeric op) - bitwise or in numeric context
* , - list generating operator
* - (numeric op) - forces numeric context and subtract
* -- (sequence traversion) - generic autodecrement, calls internal iterator of that object, before (prefix) or after (suffix) the evaluation of the surrounding term, alias to pred
* --> - define the type of the return value of a routine by writing the types name after this arrow at the end in a signature
* -> - assigns a named parameter for a block (pointy block)
* . - secondary sigil for public accessors (getter/setter)
* . (regex Metachar) - really any character (unlike Perl 5)
* .. (ranges), (infix list op) - range generating operator, range object in item context
* ... (infix list op) - infix operator for list generation, sequence operator
* ... (yadda op) - term that calls fail (exception), marks unimplemented empty routine bodies
* / (numeric op) - division, numeric context
* / (rat composer) - inside round braces (3/7) gives you a rational number that keeps track of its numerator and denominator
* // (numeric op) - short circuit defined or, returns the first defined value (from left to right), similar to orelse, high precedence version of err
* \0[<n>] escape sequence - character given in octal (brackets optional)
* : - pair generation operator, also known as adverbial syntax
* : (filetest op) - start of all file text ops, syntax: ":" ~ one (<r w x o R W X O e z s f d l p S b c t u g k T B M A C>)
* : (twigil) - for autogenerated named parameters of a block
* :b<n> - general radix form for literals, makes a number n in base b (up to 36), for example :2<1000001> is 65
* : - (flow control) - endchar of all labels, jou can jump to
* : - prefix of named parameter in a signature
* :: (sigil) - abstraction sigil, name space separator (like in Perl 5)
* ::= - binding a value or variable to a variable at compile time
* := - creates an alias to a variable at runtime (binding)
* ; - seperates commands ( statements ) or array indices eg @[2;3] instead of @a[2][3]
* < (num comparison) - infix op, lesser than, Bool::True if numerically ordered the left comes before the right operand
* <-> double pointy syntax to assign a rw parameter to a block
* << (meta op) - applies the operator on the left as hyper operator to the array on the right
* <<== - leftward pointing feed operator that adds values to an existing list (append-mode)
* << >> (quoting op) - circumfix quoting operator for grouping with autoquoting and evaluation (alias to Q :qq :ww /.../)
* <= (num comparison) - less than or equal, numeric comparison operator
* <== - leftward pointing feed operator
* <=> (num comparison) - numeric less-equal-greater comparison for sortable classes, does cmp in numeric context as leg does in string context
* < > (quoting op) - circumfix quoting operator for grouping with autoquoting (alias to Q :q :ww /.../ or qw/.../)
* < > (regex metachar) - embraces an subrule (assertion)
* = (Op) - assignment, right side is evaluated and assigned to the left
* <op>= (meta op) - self assignment, left side is one oper and the result is assigned to ($a += 3; equals $a = $a + 3)
* =:= (comparison op) - compares binding, if both vars are bound to same memory location
* == (num comparison) - equality of value, does a cmp in numerical context as leg does in string context
* === (comparison op) - identity, equality of value and type
* ==> (op) - rightward pointing feed operator
* ==>> (op) - rightward pointing feed operator that adds values to an existing list (append-mode)
* => (op) - pair (and hash) constructor, fatarrow
* > (num comparison)- infix op, greater than
* >= (num comparison) - infix op, greater than or equal
* >> (meta op) - binds operator (right) as hyper operator to an array (left)
* ? (conext op) - forces binary context in an expression, returns Bool::False when value is 0 or empty, otherwise Bool::True
* ? - suffix for optional named parameters in signatures
* ? - quantifier for 0 or 1 occurrence in Regexes
* ? (twigil) - secondary sigil for constant compiler hint variables
* ?& (bool op) - logical AND op, and combinator, forces binary context
* ?? !! (logical op) - ternary or conditional operator
* ??? (yadda op) - yadda operator that calles warn
* ?^ (bool op) - logical XOR, forces operands into boolean context
* ?| (bool op) - logical OR, forces operands into boolean context
* @ (sigil) - sigil of an array
* @() (conext op) - forces (flattened) array context, alias to list() function
* <var>[ ] - postcircumfix operator, appended on an array var, returns an array slice with values which indexes was inside the brackets
* [ ] - circumfix operator that creates a reference to an array that holds all values that encompas these brackets
* [<op>] (meta op) - circumfix reduction metaop, close to functional "reduce", applies the operator between all elements of an array
* [\<op>] (meta op) - circumfix reduction metaop, applies above reduction to a series of lists made of array slices ranging in length from 1 to the complete length of the original list
* \ - capture generator, creates a reference to the following structure
* \ - escape char, all escape sequences inside quotes and regexes start with it
* ^ (junctive op) - junctive xor, requires that one value in a list is true
* ^ - upto operator, ^$limit expands to 0 ..^ +$limit range
* ^ (ranges) - in range definitions, it excludes a limit value, in scalar context see smartmatch
* ^ (twigil) - for autogenerated positional parameters of a block, position results from alphabetical order of all $^-Variables
* ^ (regex Metachar) - start of the string
* ^^ (logical op) - logical xor, combines expressions, returns true when only one expression is true, otherwise false, high precedence version of xor
* ^^ (regex Metachar) - start of a line
* {} - circumfix operator: encloses blocks and creates a coderef, or a hashref when it is identified as a hash or contains a '=>'
* | (junctive op) - junctive OR, requires that a condition is fulfilled
* | (regex Metachar) - match alternate patterns (OR - connection of patterns)
* |() (conext op) - flatten capture object into arglist, (named parameter)
* || (logical op) - short circuit OR, evaluates sequentially, ends evaluation at the first expression that returns true, high precedence version of or
* ||() (conext op) - flatten capture object into semicolon list, (positional parameter)
* ~ (conext op), (string op) - forces string context (stringify) and/or concatenate strings, synonym for cat
* ~& (string op) - characterwise and, forces string context
* ~< (string op) - characterwise left shift, forces string context
* ~> (string op) - characterwise right shift, forces string context
* ~^ (string op) - characterwise xor, forces string context
* ~| (string op) - characterwise or, forces string context
* ~~ - smartmatch operator, compares (almost) all variable and data types