variable $_
Documentation for variable $_
assembled from the following types:
language documentation Variables
From Variables
(Variables) variable $_
$_
is the topic variable. It's the default parameter for blocks that do not have an explicit signature, so constructs like for @array { ... }
and given $var { ... }
bind the value or values of the variable to $_
by invoking the block.
for <a b c> { say $_ } # sets $_ to 'a', 'b' and 'c' in turn say $_ for <a b c>; # same, even though it's not a block given 'a' { say $_ } # sets $_ to 'a' say $_ given 'a'; # same, even though it's not a block
CATCH
blocks set $_
to the exception that was caught. The ~~
smartmatch operator sets $_
on the right-hand side expression to the value of the left-hand side.
Calling a method on $_
can be shortened by leaving off the variable name:
.say; # same as $_.say
m/regex/
and /regex/
regex matches and s/regex/subst/
substitutions work on $_
:
say "Looking for strings with non-alphabetic characters..."; for <ab:c d$e fgh ij*> { .say if m/<-alpha>/; } # OUTPUT: «Looking for strings with non-alphabetic characters... # ab:c # d$e # ij*»