In Perl 6 any variable and value is an object. Here's a list of all different types of values, represented my different classes or roles. The "routine types"{link: routine_types} are in a different section.

| char | meaning |
| . | any character |
| ^ | begin of the sring |
| ^^ | begin of a line |
| $ | end of the string |
| $$ | end of a line |
| () | compass a subregex |
| ** | muliply this (meta)char/subrule times the following digit |

^^^ Control Chars

These Escape Sequences will be evalueated to invisible control chars, if the ":b" aka ":backslash" quoting Adverbs are set (included in "", qq and <<>>). They are also usable in regexes and thatswhy also included in the next list.

Every block can contain special named blocks (some are only for loops) that are started at certain times. They are traits (compile time property) of a block object. Those marked with a * can also be used within an expression as in "BEGIN my $x = 3 * 3;".

> if . . . . . . when following expression evals in boolean context to "Bool::True", the block that following after that will be executed
> elsif . . . . works like if, but only recognized if no preceding "if" or "elsif" clause was executed
> else . . . . following block will be executed, when no preceding "if" or "elsif" clause was executed
> unless. . . opposite of if, no "elsif" or "else" is allowed to follow
> given . . . evals an expression into scalar context assignes it to $_ for the following block
> when . . . smartmatches an expression against $_; if the result is "Bool::True", the following block will be executed
> default . . following block will be executed, when no "when" clause was executed

^^^ Loops

> loop . . . . general (endless) loop, unless used as an C-style-loop, evals following expression into void context
> repeat. . . initial command for while or until loops that have their condtion at the end
> while. . . . loop with negative exit condition (exit when false), condition, evals expression into boolean context
> until . . . . loop with positive exit condition(exit when true), evals expression into boolean context
> for . . . . . evals expression into lazy list context and iterates over that list from first to last value, sets each time $_ (can be combined with when as well),

> multi. . . . . marks routines, witch can have siblings with same name but different signature; when called, the one with matching sig is executed
> only . . . . . routines which dont' allow to have an multi sibling (is default, you may leave it out)
> proto . . . . fallback for multi, if no multi signature matches the caller, a proto with same name is executed

^^^ Routine Traits

"phasers"{link: Closure Traits} (closure traits) can also be seen as routine traits