Interfaz con el script Perl local desde una interfaz de usuario web

Dado que tengo un script Perl local que imprime "Hola" en un símbolo del sistema de Windows.

Quiero hacer una interfaz web que cuando haga clic en un botón en una página HTML usando Javascript o algo así, pueda ejecutar este Perl Script local. He intentado alojar la página en Localhost en un servidor Xampp Apache, sin embargo, esto usa el Perl instalado en Xampp.

¿Hay alguna forma de interactuar con Perl local desde una interfaz de usuario web? es decir Ejecutar un script de perl en el shell local desde una interfaz de usuario web.

preguntado el 12 de junio de 12 a las 21:06

Esto suena como una potencial pesadilla de seguridad... -

¿Serías capaz de explicar por qué? Estoy escribiendo esto para estar completamente fuera de línea. Solo me gustaría usar una interfaz de usuario web para que sea la interfaz gráfica de usuario para un script de Perl. -

JavaScript no está diseñado para permitir que un servidor inserte código en un navegador que daría como resultado la ejecución de una aplicación en el sistema de un usuario. Imagina si pudieras ejecutar fdisk. -

En ese caso, podría usar Bailarín, Mojolicious o el Catalizador para configurar una aplicación web que se ejecuta fuera de localhost. -

Un enfoque es lograr que el usuario coopere en la ejecución de un demonio que escucha una solicitud en algún puerto y toma alguna acción cuando se le solicita. Parece difícil de vender al principio, pero es mucho más común de lo que podría sospechar al principio. Claro, nadie realmente quiere instalar Apache por ti. Pero Yahoo y Skype han tenido bastante éxito en conseguir que instales un demonio: Yahoo Messenger. Se convierte en su responsabilidad asegurarse de que el daemon que está proporcionando para que alguien lo instale no esté plagado de agujeros de seguridad. Esa parte es difícil. -

2 Respuestas

Normalmente ejecuto un script perl que funciona como un servidor web primitivo. Al iniciar, imprime una URL que se puede usar para acceder a ella.

Esto se puede hacer con los siguientes módulos:

use HTTP::Daemon;
use HTTP::Status;
use HTTP::Response;

en unas 60 líneas de código.

No puedo publicar mi código, pero aquí hay una muestra más elaborada (usa un tenedor, que es una mejora con respecto a lo que tengo): http://www.perlmonks.org/?node_id=415908

Respondido el 12 de junio de 12 a las 22:06

Mire en Node JS ... puede llamar a perl desde la página web, es muy, muy simple de configurar y poner en marcha un sitio localhost, y es gratis.

Respondido el 12 de junio de 12 a las 22:06

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.