Perl es un lenguaje de programación de computadora de código abierto y multiplataforma que se usa ampliamente tanto en el sector comercial como en el privado. Perl es popular entre los desarrolladores web debido a sus capacidades de procesamiento de texto y resolución de problemas adaptables y en constante evolución. Aunque Perl se desarrolló inicialmente para la edición de texto, su flexibilidad lo convierte en una herramienta versátil para una variedad de tareas.
Hemos analizado algunas de las cosas que pueden generar errores frecuentes, pero no todo es un problema común. Si tiene problemas y ninguna de las opciones funciona para CGI, deberá investigar un poco. En esta parte, veremos varias herramientas que pueden ayudarlo a localizar la causa del problema. Aquí hay un resumen rápido de las acciones que puede tomar:
- Usando el interruptor -c, puede verificar la sintaxis de sus scripts.
- Examine los registros de errores en el servidor web.
- Use la línea de comando para ejecutar su script. Volcar variables al navegador le permite probar sus valores.
- Utilice un depurador interactivo.
Verificación de sintaxis
Si su código no analiza ni compila, nunca se ejecutará correctamente. Entonces, antes de probar sus scripts en el navegador, practique probarlos usando el indicador -c desde la línea de comando, y mientras lo hace, verifique si hay advertencias usando el indicador -w. Recuerde que si usa el modo corrupto (lo que probablemente hace con todos sus scripts), también debe pasar el parámetro -T para evitar el siguiente error: myScript.cgi -wc perl La opción «-T» ya no está disponible. Como resultado, use el
perl -wcT calendar.cgi
Examinar los registros de errores
Los errores a menudo se informan a STDERR y, en ciertos servidores web, todo lo que se produce en STDERR mientras se ejecuta un script CGI aparece en los registros de errores. Cuando tiene un problema, normalmente puede encontrar mucha información importante al revisar estos registros. Este archivo se puede encontrar en:
/usr/local/apache/logs/error log o /usr/var/logs/httpd/error log con Apache.
Los errores se agregan al final del registro; debe vigilarlo mientras prueba su script CGI. Si ejecuta el comando tail con la opción -f
$cola -f /usr/local/apache/logs/error_log
Scripts ejecutados desde la línea de comandos
Después de que sus scripts hayan pasado una verificación de sintaxis, puede intentar ejecutarlos desde la línea de comandos. Debido a que los programas CGI dependen en gran medida de las variables de entorno , puede configurar manualmente estas variables antes de ejecutar su secuencia de comandos.
$exportar HTTP_COOKIE=”user_id=abc123″
$exportar QUERY_STRING=”mes=enero&año=2001″
$exportar SOLICITUD_METHOD=”OBTENER”
$./calendario.cgi
Depurador para Perl
Terminará en una sesión interactiva si ejecuta Perl con el modificador -d. Lamentablemente, esto implica que el depurador solo se puede usar a través de la línea de comandos. Aunque este no es el entorno típico para los scripts CGI, como mostramos antes, no es sencillo replicar el entorno CGI. Guardar un objeto CGI en un archivo de consulta, inicializar cualquier otra variable de entorno que pueda necesitar, como cookies, y luego ejecutar su secuencia de comandos CGI de esta manera es el mejor método para hacerlo.
$perl -dT calendario.cgi
Cargando rutinas DB desde perl5db.pl versión 1
Compatibilidad con Emacs disponible
Introduzca h o `h h’ para obtener ayuda.
main::(Dev:Pseudo:7): mi $q = nuevo CGI; BD<1>
Al principio, el depurador puede dar miedo, pero es realmente poderoso.
La tabla proporciona una descripción general rápida de todos los comandos fundamentales que necesitará para solucionar un script para comenzar. Aunque hay muchas más herramientas disponibles, puede depurar todos sus scripts CGI con solo estas instrucciones. Para comprender cómo navegar por el depurador, practique los programas que ya sabe que funcionan correctamente. Debido a que el depurador no modifica sus archivos, no puede interrumpir un script en funcionamiento ingresando un comando incorrecto.
Dominio | Descripción |
---|---|
s |
Paso; Perl ingresa a cualquier subrutina y ejecuta la línea que se muestra arriba del aviso. Vale la pena señalar que evaluar una línea con varias instrucciones puede tomar algunos pasos. |
norte |
Después de eso, Perl ejecuta la línea que se encuentra arriba del indicador, omitiendo las subrutinas (todavía se ejecutan; Perl espera a que terminen antes de continuar) |
punto de interrupción |
Continúe hasta que el programa finalice o se alcance el siguiente punto de interrupción, lo que suceda primero. |
123 | Continúe hasta llegar a la línea 123, que debe incluir un comando (no puede ser un comentario, una línea en blanco, la segunda mitad de un comando, etc.) |
b |
Establecer un punto de interrupción en la línea actual; Los puntos de interrupción detienen la ejecución del código que ha sido detenido por c. |
123 |
Coloque un punto de interrupción en la línea 123, que debe incluir un comando (no puede ser un comentario, una línea en blanco, la segunda mitad del comando, etc.). |
b mySub |
Establecer un punto de interrupción en la primera línea ejecutable de mi sub. |
d |
Elimina un punto de interrupción de la línea actual y acepta los mismos parámetros que b. |
D |
Eliminar punto de interrupción |
Conclusión
Hay dos requisitos para usar ptkdb. Primero necesitará un servidor X Window; el sistema X Window se incluye con la mayoría de los sistemas Unix y similares, y también hay versiones comerciales disponibles para otros sistemas operativos. En segundo lugar, el servidor web debe contener el módulo Tk.pm, que necesita Tk y es accesible en CPAN. Tk es una biblioteca de gráficos que viene con el lenguaje de programación Tcl.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA