Subroutines, or subs, are one of the keystones of Perl 6. In this chapter, you learned how to create and use subroutines. We examined in detail the properties of the sub's parameters, such as passing parameters by copy, allowing read-and-write parameters, defining the default value, or providing parameters that are optional. You looked at the slurpy parameters and flattening arrays, learned how to constrain the type of both the arguments, and then return value.
On top of that, other applications of the subroutines were discussed. Namely, we talked about overloading subs with the multi keyword, looked at how new operators can be created and embedded in the language, and how to pass functions to other functions. And, finally, we took a brief look at anonymous functions and pointy code blocks.
In the next chapter, we'll talk about modules, which are the next level...