There is a peculiar difference between batch files and shell scripts, namely that a batch file will completetly transfer the execution to any other batch file called by it, much like exec does for shell scripts. The way to prevent this is the CALL keyword in batch files:
call ppm install Module::Build
call ppm repository add Theoryx5 http://theoryx5.uwinnipeg.ca/ppms/
call ppm repository add Catalyst http://home.ngmedia.com/chansen/catal
call ppm install Catalyst
The above code should work. Of course, you could consider ditching ppm and installing via CPAN.pm, but that might require a C compiler for the nastier parts.