cdumont wrote:
> In japanese it could even be :
>
> wa {
> '' no baai ni { ... }
> }
>
> Getting rid off the thema or I guess here taking $_ as the default.
>
> is this possible :
>
> given $operator {
> '' {}
> '' {}
> }
>
> ?
>
>
If Larry doesn't mind me elbowing into the conversation... The
unmentioned detail here is that given and when are decoupled; they're
not two keywords in the same construct. In other words, given can be
used without when and when can be used inside any block.
C<given> only binds $_ and executes a block, it's kind of a single-shot
C<for>. So you can do this:
given $long_expression_that_is_difficult_to_type_more_than_once {
.trim;
s:g/<!alpha>//;
.prettify;
.indent;
say $_;
}
And C<when> simply matches the current $_ with its argument. So you can,
for example, use it inside C<for> or C<map>:
@encoded = map @list:{
when 'black' { 1 }
when 'white' { 2 }
when /#(.*)/ { $<1> }
}
Miro