WITCH lcurly


Mnemonics

"code", "block", "enclose", "brace yourself"

Used as a brace pair or quote pair

{} creates a Closure
{} after a class name (is just a closure but) means create a pre-vivification protoobject.
{} except with specific contents inside or as part of a variable term denotes use for hashes
{} empty as part of a term allows hashes to be interpolated
{} during hash declaration sets up user defined indexing
{} injects hash information in POD delimited blocks
{} when used as a user supplied delimiter to a quote, match, or substitution, is merely a general quoting character

When used inside regexes

{} within a rule institutes an "action"<>
{} also in a substitution injects code execution in a match
{N} or {N..M} postfix to a match term is a repeat count (a closure returning a range)
<{}> in extensible metasyntax allows injection of rules generated by code.
<?{}> or <!{}> also extensible metasyntax performs an assertion.

As an adverb

{} can be used as parenthesisers in adverbs

Old, deprecated, or other language uses

{N,M} is used as a repeat count in many regular expression implementations. In Perl6 that is ** N..M