Je reviens à mon problème qui est maintenant résolu par la plus bête des méthodes mais qui m’aura malgré tout bien fait suer. Quelques explications :
[*] Oui je comptais bien utiliser les cores de la machine. Mais le programme avait un temps d’exécution de 30 mins à 1 heure. Je me vois mal attendre la fin de son execution pour changer ses paramètres sachant que je dois l’exécuter avec environ 500 combinaisons différentes… Il me fallait donc régler le problème pour un core puis l’appliquer pour utiliser les autres.
[*] Pour mon problème, dans le programme, plutot complexe et qui n’est pas de moi, il y avait à la fin de la ligne lançant l’exécutable du fichier run un &. Du coup un wait($!) par exemple était sans effet. J’ai corrigé le problème en le virant et en ajoutant tout simplement un && à mon script : ./run.bat && C’était tout bête… 
[*] Ce problème étant résolu j’ai pu exécuter le script (de paramètres différents) plusieurs fois pour utiliser les différents core de la machine.
Merci de vous êtes penché pour mon problème et désolé pour le délais entre mes posts. 