Remarque : Les actions ci-dessous nécessitent des privilèges administratifs. Pour étapes utilisant l'invite de commande, celle-ci doit être lancée via "Exécuter en tant que administrateur" sur Windows Vista / Windows 7.
Associer les fichiers *.pl à perl
Exécutez les commandes suivantes à une invite du shell :
assoc .pl=PerlScript
ftype PerlScript=C:\bin\perl.exe "%1" %*
Remplacer C:\Perl\bin\perl.exe
avec le chemin de votre installation Perl. Ce site vous permet d'exécuter myscript.pl
au lieu de perl myscript.pl
.
Les emplacements d'installation par défaut sont :
- ActivePerl :
C:\Perl
- Strawberry Perl :
C:\Strawberry
Ajouter .PL
à votre variable d'environnement PATHEXT.
Cela permet à Windows de considérer les fichiers *.pl comme exécutables lors de la recherche dans votre PATH. Cela vous permet d'exécuter myscript
au lieu de myscript.pl
.
Vous pouvez le définir pour la session cmd actuelle
set PATHEXT=%PATHEXT%;.PL
Pour le paramétrer de façon permanente (sous Windows Vista ou Windows 7)
setx PATHEXT %PATHEXT%;.PL
Sous Windows XP, vous devez utiliser l'interface graphique :
- Cliquez avec le bouton droit de la souris sur Poste de travail, puis cliquez sur Propriétés.
- Cliquez sur l'onglet Avancé.
- Cliquez sur Variables d'environnement.
- Sélectionnez PATHEXT, puis cliquez sur Modifier.
- Ajouter
;.PL
à la valeur actuelle.
Faire fonctionner la redirection des E/S
Redirection des E/S (par exemple program | myscript
) ne fonctionne pas pour les programmes lancés via une association de fichiers. Il existe un correctif de registre pour corriger ce problème.
- Lancez l'éditeur du registre.
- Localisez et cliquez sur la clé suivante dans le registre :
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
- Dans le menu Édition, cliquez sur Ajouter une valeur, puis ajoutez la valeur de registre suivante :
- Nom de la valeur :
InheritConsoleHandles
- Type de données :
REG_DWORD
- Radix :
Decimal
- Données de valeur :
1
- Quittez l'éditeur de registre.
Attention : En principe, cela ne devrait être nécessaire que sur Windows XP. D'après mon expérience, c'est également nécessaire sous Windows 7. Dans Windows 10, cela est activement nuisible - les programmes s'exécutent mais ne produisent rien sur stdout/stderr. La clé de registre doit être réglée sur 0 au lieu de 1.
Voir aussi :
Si Parcheando le registre n'est pas une option en cours d'exécution. program | perl -S myscript.pl
est une solution de contournement moins ennuyeuse pour les scripts dans votre PATH.
Ajouter un gestionnaire de dépôt
L'ajout d'un gestionnaire de dépôt pour Perl vous permet d'exécuter un script Perl par glisser-déposer ; par exemple, en faisant glisser un fichier sur l'icône de fichier dans l'explorateur Windows et en le déposant à cet endroit. Exécutez le script suivant pour ajouter les entrées nécessaires au registre :
use Win32::TieRegistry;
$Registry->Delimiter("/");
$perlKey = $Registry-> {"HKEY_CLASSES_ROOT/Perl/"};
$perlKey-> {"shellex/"} = {
"DropHandler/" => {
"/" => "{86C86720-42A0-1069-A2E8-08002B30309D}"
}};