strawberry instalar descargar active windows perl

windows - instalar - padre perl



¿Cómo hago para que mis scripts de Perl actúen como los programas normales en Windows? (3)

Quiero que mis scripts de Perl se comporten como cualquier otro ejecutable (archivo * .exe).

  • Cuando hago doble clic en myscript.pl , quiero que se ejecute en lugar de abrir en un editor de texto.
  • Quiero ejecutar myscript.pl lugar de perl myscript.pl .
  • Realmente quiero ejecutar myscript lugar de myscript.pl .
  • Quiero ejecutar el program | myscript program | myscript lugar de program | perl myscript.pl program | perl myscript.pl .
  • Quiero poder ejecutar mi script mediante arrastrar y soltar.

Hay una serie de cambios que debe realizar en Windows para que funcionen todas estas cosas. Los usuarios suelen tropezar con cosas que no funcionan de a una por vez; dejándolos confundidos si han cometido un error, hay un error en Perl, hay un error en Windows, o el comportamiento que desean simplemente no es posible. Esta pregunta tiene la intención de proporcionar un único punto de referencia para hacer que todo funcione por adelantado; idealmente antes de que estos problemas ocurran.

Preguntas relacionadas:


Convierta sus scripts Perl en archivos por lotes usando pl2bat una vez que estén listos para ser ejecutados por los usuarios.

El truco funciona a través del conmutador perl -x que, según perldoc perlrun , hace que Perl busque la primera línea que se perldoc perlrun como #!.*perl .


Después de seguir las instrucciones en la respuesta aceptada, un doble clic todavía conducía a archivos .pl que se abren con el Bloc de notas en Windows 10, incluso cuando se configuró perl.exe como el controlador de archivos predeterminado.

Después de encontrar el comentario de Jack Wu en ActivePerl. Los archivos .pl ya no se ejecutan, sino que se abren en el Bloc de notas. Pude ejecutar scripts Perl haciendo doble clic como tal:

  • Seleccione y haga clic derecho en un archivo .pl
  • Utilice el submenú "Abrir con" para "Elegir otra aplicación"
  • Seleccione "Usar siempre esta aplicación para abrir archivos .pl" (haga esto ahora; no tendrá la oportunidad después de haber seleccionado un programa)
  • Desplácese hasta la parte inferior de "Otras opciones" para buscar "Más aplicaciones" y seleccione "Buscar otra aplicación en esta PC".
  • Navegue a C: / ruta / a / perl / bin / y seleccione Perl5.16.3.exe (o el equivalente, dependiendo de la versión de Perl que haya instalado, pero no Perl.exe )

Luego, el ícono de Perl aparece junto a los archivos .pl y un doble clic los abre en Perl cada vez que lo desee.


Nota: las acciones a continuación requieren privilegios administrativos. Para los pasos que utilizan el símbolo del sistema, debe iniciarse mediante "Ejecutar como administrador" en Windows Vista / Windows 7.

Asociar archivos * .pl con perl

Ejecute los siguientes comandos en el indicador de shell:

assoc .pl=PerlScript ftype PerlScript=C:/bin/perl.exe "%1" %*

Reemplace C:/Perl/bin/perl.exe con la ruta a su instalación de Perl. Esto le permite ejecutar myscript.pl lugar de perl myscript.pl .

Las ubicaciones de instalación predeterminadas son:

  • ActivePerl: C:/Perl
  • Strawberry Perl: C:/Strawberry

Agregue .PL a su variable de entorno PATHEXT.

Esto hace que Windows considere que los archivos * .pl sean ejecutables al buscar su RUTA. Le permite ejecutar myscript lugar de myscript.pl .

Puede configurarlo para la sesión actual de cmd

set PATHEXT=%PATHEXT%;.PL

Para establecerlo permanentemente (en Windows Vista o Windows 7)

setx PATHEXT %PATHEXT%;.PL

En Windows XP, debes usar la GUI:

  1. Haga clic con el botón derecho en Mi PC, y luego haga clic en Propiedades.
  2. Haga clic en la pestaña Avanzado.
  3. Haga clic en Variables de entorno.
  4. Seleccione PATHEXT, luego haga clic en Editar.
  5. Adjuntar ;.PL al valor actual.

Hacer que la redirección de E / S funcione

La redirección de E / S (por ejemplo, program | myscript ) no funciona para programas iniciados a través de una asociación de archivos. Hay un parche de registro para corregir el problema.

  1. Inicie el Editor del Registro.
  2. Busque y haga clic en la siguiente clave del registro: HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVersion/Policies/Explorer
  3. En el menú Edición, haga clic en Agregar valor y luego agregue el siguiente valor de registro:
    • Nombre del valor: InheritConsoleHandles
    • Tipo de datos: REG_DWORD
    • Radix: Decimal
    • Datos de valor: 1
  4. Salga del Editor del registro.

Advertencia: en principio, esto solo debería ser necesario en Windows XP. En mi experiencia, también es necesario en Windows 7. En Windows 10 esto es activamente dañino: los programas se ejecutan pero no producen nada en stdout / stderr. La clave de registro debe establecerse en 0 en lugar de 1.

Ver también:

Si parchear el registro no es una opción ejecutando el program | perl -S myscript.pl program | perl -S myscript.pl es una program | perl -S myscript.pl menos molesta para los scripts en tu PATH.

Agregar un manejador de soltar

Agregar un controlador de caída para Perl le permite ejecutar un script de Perl mediante arrastrar y soltar; por ejemplo, arrastrando un archivo sobre el ícono del archivo en el Explorador de Windows y soltándolo allí. Ejecute la siguiente secuencia de comandos para agregar las entradas necesarias al registro:

use Win32::TieRegistry; $Registry->Delimiter("/"); $perlKey = $Registry-> {"HKEY_CLASSES_ROOT/Perl/"}; $perlKey-> {"shellex/"} = { "DropHandler/" => { "/" => "{86C86720-42A0-1069-A2E8-08002B30309D}" }};