A subroutine without a name is called an anonymous sub. You cannot call it by name, but it is still possible to run it via a handle, which, for example, is stored in a variable. All the attributes of a regular sub, such as a signature and a body, are defined in the same way as the normal subs.
In the following code, we will create an anonymous sub and save it in the $add variable; a space before the signature is required:
my $add = sub ($x, $y) {$x + $y} say $add(10, 20); # 30
Perl 6 allows a mixture of regular and anonymous subs. The anon keyword creates an anonymous sub out of the regular one, so its name can still be used to call it. First, look at the sub, which can be used both as an anonymous one and be called by its name:
my $add = sub add ($x, $y) {$x + $y} say $add(1, 2); # using anonymous sub say add(3, 4); # using regular sub call by name
Now, let us...