He estado usando mi propio entorno personal que ha funcionado de manera consistente durante más de 20 años. Comencé a incorporar muchos scripts Perl hace unos 14 años. He estado usando el mismo árbol de intérpretes de línea de comandos durante 22 años (NDOS-> 4DOS-> 4NT-> TCMD, en realidad el mismo programa).De repente, las secuencias de comandos perl no funcionan a menos que las prefija con "perl" y den la ruta completa a la secuencia de comandos
Acabo de cambiar de ActiveState Windows Perl a Strawberry Perl.
Durante años, esto es todo lo que he necesitado para ejecutar un script Perl:
SET .pl=perl
Este es el modo de especificar programa para abrir cosas con.
esto puedo simplemente hacer:
c:\>test.pl
Hello, world!
cosas simplemente trabajaban. Siempre.
Hoy, en un sistema operativo de una semana, las cosas simplemente dejaron de funcionar.
Los scripts de Perl se ejecutarán, pero no HARÁN nada. No hay error. Ninguna salida. Nada.
La única forma de que funcione es si prefijo el script con "perl" (en cuyo caso, mi ruta no se busca porque el nombre del script es ahora un parámetro, así que me queda completar la ruta completa) para el guión)
esto es lo que se siente al ser yo:
C:\>test.pl
C:\>perl test.pl
Can't open perl script "test.pl": No such file or directory
C:\>perl c:\bat\test.pl
Hello, world!
Tenga en cuenta que este estaba trabajando bien ayer, incluso el día de hoy. No sé qué cambió esto y qué lo rompió, y he mirado bastante tiempo, encontré problemas similares pero no idénticos, y ninguna solución ha ayudado.
I hvae un bote de scripts. Realmente odiaría tener que insertar el mundo "perl" antes de cada uno de ellos, ¡y luego calificar el camino completo!
De manera realista, probablemente tenga que escribir un contenedor perl.bat que convierta el parámetro nombre de archivo en una ruta de acceso totalmente calificada, y llame explícitamente a perl.
Realmente no quiero hacer eso. Esa es una solución de ban-aid. Quiero entender lo que está mal, la dirección es, y resolverlo.
estoy empezando a odiar Windows 7 ...
I _think_ una línea de comandos para ver sus asociaciones de archivos es a través del comando "Assoc". Escribir 'assoc .pl' en mi máquina de Windows produce' ".pl =" ', lo que significa que mis archivos .pl no están asociados con Perl. ¡Buena suerte! – rickumali