Herbert Breunung > Perl6-Doc > Perl6::Overview::Control

Download:
Perl6-Doc-0.36.tar.gz

Annotate this POD

CPAN RT

Open  0
View/Report Bugs
Source  

NAME ^

Perl6::Overview::Control - Control Structure

DESCRIPTION ^

Loop Structures

    while EXPR { ... }
    until EXPR { ... }
    
    loop { ... };
    loop ($i = 0; $i < 10; $i++) { ... }

    repeat { ... } while EXPR;
    repeat { ... } until EXPR;
    repeat while EXPR { ... }
    repeat until EXPR { ... }

For Loop structures

    for @foo { ... }
    for @foo -> $x { ... }
    for @foo -> $x, $y, $z { ... }
    for @foo.kv -> $index, $value { ... }
    
    for %hash.kv -> $key, $value { ... }
    
    for =<> {...} # was while (<>) { ... } in p5

Switch/Case style control elements

    given $x { ... }   # $x is now topic for block
    when EXPR { ... }  # perform $_ ~~ EXPR execute block and break
    default { ... }    # same as when true { ... }    

Closure traits

    BEGIN { ... }      # Body executed at compile-time, as soon as possible
    CHECK { ... }      # Body executed at compile-time, as last as possible
    INIT  { ... }      # Body executed at runtime, as soon as possible
    END   { ... }      # Body executed at runtime, as last as possible
    START { ... }      # Body only executed once (per clone), inline

    sub foo {
      START {
        # Initialize environment, e.g. create some files, etc.
      }

      ...;
    }
    foo();  # Runs initialization block
    foo();  # Does not run initialization block again
    foo();  # ditto
syntax highlighting: