Comment puis-je changer le shell système utilisé par perl pour system (), qx // et friends?

Je voudrais remplacer le shell perl utilise pour le system ; par exemple pour remplacer cmd.exe sur Windows avec bash. Existe-t-il un mécanisme pris en charge pour indiquer à perl quel shell utiliser?

Perl ignore la valeur de COMSPEC , mais vous pouvez définir la variable d’environnement PERL5SHELL sur le chemin d’access à un fichier de programme shell, avec tous les commutateurs que vous souhaitez utiliser. Par exemple

 C:\Windows\System32\cmd.exe /d /c 

Perl utilisera ceci pour exécuter les chaînes de commande que vous passerez à qx// et à system($command)$command contient des métacaractères de shell

Mais il n’y a pas de shell bash sur Windows par défaut, et vous devrez installer quelque chose comme Cygwin ou win-bash avant de pouvoir utiliser un shell de type bash.