Perl can be used for all stages of controlling jobs submitted to a compute cluster. You've seen how you can write files using Perl. This lets you use Perl to write the command and input files for your programs. You have also seen how to run programs from within Perl, so you can use Perl to run the job using the newly-written input file. You can then process the output using split, search and replace. You could then use the processed output to write new input files to run more programs. In this way, Perl can act as the glue that can stick a chain of programs together, with the output of one program being used to provide the input of the next program.