When using Nextflow your are not limited to BASH scripts, in a pipeline script you can mix any scripting language. In means that for each process you are free to use the one that fits better its specific task or simply choose the scripting language you prefer.
In the above example it is defined a simple pipeline made up of two processes. The first one executes a Perl code, because the script block definition starts with a PERL shebang declaration (line 14).
In the same way the second process will execute a Python piece of code, by the simply fact the the script block starts with a Python shebang header (line 38).