
Recibir un email cuando tengamos disponibilidadPerl es uno de los lenguajes de programación más utilizados para construir aplicaciones CGI para la Web. En los últimos años ha evolucionado de tal forma que ahora es posible realizar labores de administración en cualquier sistema operativo. Gran parte de su popularidad se debe a que se distribuye de forma gratuita y que puede ejecutarse en cualquier plataforma en la que tengamos un intérprete disponible.
Con este libro aprenderá a utilizar Perl a través de explicaciones sobre cómo monitorizar servidores de Internet e interfaces con el correo electrónico o cómo servir y consumir canales RSS. Descubrirá, además, cómo desarrollar módulos CGI y relaciones con bases de datos, interactuar en Internet utilizando los módulos Net:: o analizar XML con este lenguaje de programación.
Perl. Introducción al desarrollo Web le guiará en los primeros pasos imprescindibles para empezar a crear sus propias aplicaciones web, lo que incluye una potente combinación de ejemplos del mundo real junto con explicaciones detalladas y consejos sobre cómo debería aplicar estas técnicas.
Agradecimientos
Sobre el autor
Sobre el revisor técnico
Introducción
Qué trata este libro
Qué debería saber
¿Por qué Apache?
Utilizar los ejemplos del libro
Parte I. Desarrollo CGI con Perl
1. El módulo CGI
Una visión de conjunto de CGI
Qué necesita para este capítulo
Hola mundo, estilo CGI
Hola mundo, orientado a funciones
Crear el script
Revisar el código
Hola mundo, orientado a objetos
Crear el script
Revisar el código
Visión detallada de las funciones CGI.pm
Métodos abreviados de HTML
Páginas y formularios dinámicos
Cookies
Ingredientes de la cookie
Limitaciones de las cookies
Ejemplos de cookies
Cocinar cookies a mano
Cocinar cookies con CGI.pm
Consumir cookies
Establecer la caducidad de la cookie
Establecer múltiples cookies
Establecer el indicador secure
Variables de entorno
Ver variables de entorno
Conservar valores entre formularios
Interacción con el sistema
Depuración y solución de problemas
Resultado verboso
Comprobar sintaxis
El modulo Carp
Otros trucos de solución de problemas
Consideraciones de seguridad con programas CGI
Permisos de archivos
Taint mode
Exactitud
Datos no fiables de formularios
Datos no fiables de cookies
Resumen
2. Módulos CGI populares
Integración con otros módulos
CGI::Carp
Enviar errores fatales al navegador
Escribir en un archivo de registro alternativo
URI::Escape
Net::SMTP
Mod_perl y HTML::Mason
Interacción basada en variables de entorno
Consideraciones de seguridad con módulos CGI
Resumen
3. Bases de datos y Perl
Interactuar con una base de datos
El DBI
Drivers de base de datos
Nombre de origen de datos, credenciales y atributos
Manejadores de base de datos
Manejadores de sentencias
Gestión de error
Utilizar bases de datos SQL con el DBI
Conectar con la base de datos
Desconectarse de la base de datos
Ejecutar una consulta
Recuperar los resultados
Volcar los resultados
Terminar la sentencia
Utilizar el método quote para sentencias dinámicas
Ejecutar otras sentencias SQL
Vincular parámetros
Insertar datos en una base de datos
Interactuar con la Web
Mostrar el resultado en HTML
Crear tablas HTML
Solución de problemas de interacción de base de datos
Consideraciones de seguridad con acceso a datos
Credenciales almacenadas
Privilegios innecesarios
Sentencias y entradas de datos no saneadas
Resumen
4. Interacción con el sistema
Scripts Perl y el sistema operativo
Trabajar con manejadores de archivos
Abrir manejadores de archivo
Utilizar die() para capturar errores
Leer de manejadores de archivo
Escribir en manejadores de archivo
Cerrar manejadores de archivo
Utilizar pruebas de archivos
Un pequeño aparte: listados de directorio
Enviar archivos con CGI.pm
Crear un campo para enviar archivos
Acceder a la información de encabezado del archivo que se envía
Proteger archivos temporales
Trabajar con procesos del sistema
Ejecutar procesos del sistema desde un programa Perl
La función system
Ejecutar comillas
Procesos del sistema como manejadores de archivo
Utilizar procesos del sistema dentro de un programa CGI
Consideraciones de seguridad con la interacción del sistema
Resumen
Parte II. Interacción con Internet con LWP y Net::Tools
5. Módulos LWP
Empezar a trabajar con los LWP
HTML a 29.999 pies
Peticiones HTTP
Respuestas HTTP
Manténgalo sencillo con LWP::Simple
Funciones get
La función head
La función mirror
Obtener más funcionalidad con LWP::UserAgent
Utilizar el LWP
Recuperar una página Web
Establecer parámetros adicionales
Establecer el tiempo límite
Controlar las redirecciones de navegador
Enviar encabezados adicionales
Clonar el navegador
Enviar un formulario Web
Gestionar cookies
Gestionar sitios protegidos con contraseña
Crear un servidor espejo de un sitio Web
Gestionar proxies
Eliminar etiquetas HTML de una página
Consideraciones de seguridad con LWP
Resumen
6. Net::Tools
Comprobar el correo electrónico con Net::POP3
Crear un objeto POP3
Establecer y obtener otros parámetros de conexión POP3
Host
Timeout
ResvPort
Debug
Banner
Comprobar el correo electrónico
Login
List
Get
Uidl
Top
Popstat()
Eliminar correo electrónico y salir
Delete
Quit
Comprobar el correo electrónico con Mail::Box
Enviar correo electrónico con SMTP
Crear un objeto SMTP
Establecer otros parámetros de conexión SMTP
Hello
Host
LocalAddr, LocalPort y Port
Timeout
Debug
Enviar un mensaje
Campo Asunto y otros encabezados
Múltiples destinatarios
Comprobar el DNS con Net::DNS
Realizar una sencilla resolución de DNS
Buscar registros MX
Buscar los servidores DNS autorizados
Enviar un ping con Net::Ping
Crear un objeto ping
Enviar una petición echo ICMP
Obtener tiempos más precisos
Enviar una comprobación TCP
Consideraciones de seguridad con módulos Net::
Resumen
Parte III. XML y RSS
7. Servicios Web basados en SOAP
Visión de conjunto de SOAP
SOAP se encuentra con Perl: SOAP::Lite
Importar y depurar SOAP::Lite
Configurar el objeto SOAP
Invocar métodos SOAP
Resultado
Autodispatch
Gestionar errores SOAP
Establecer tipos y nombres
Crear un receptor SOAP
Consumir un servicio Web SOAP
Invocar su servidor SOAP
Invocar el servicio SOAP del Servicio Nacional de Meteorología
Consideraciones de seguridad con los servicios Web SOAP
Resumen
8. Perl y RSS
RSS: divertirse con las versiones
Leer RSS con XML::RSS
Analizar documentos RSS
Depurar scripts RSS
Escribir RSS con XML::RSS
Consideraciones de seguridad con RSS
Resumen
9. Analizar XML con Perl
Métodos de análisis de XML
Consideraciones de análisis XML
Analizar XML con XML::Simple
Data::Dumper
Opciones de XML::Simple
Forearray
KeyAttr
Analizar XML con XML::SAX
Métodos del analizador XML::SAX
Interfaces del manejador SAX2
Manejadores de evento para contenido
Manejadores de evento para error
Un analizador y manejador básico
Codificar el programa principal
Crear el paquete del manejador
Ejecutar el analizador
Incluir atributos
Utilizar el análisis basado en árbol
Consideraciones de seguridad con el análisis de XML
Resumen
Parte IV. Mejorar el rendimiento con mod_perl
10. Apache y mod_perl
Cómo Apache gestiona las peticiones
Procesos hijos de Apache
Bifurcaciones
mod_cig vs. mod_perl
Ventajas de mod_perl
Desventajas de mod_perl
Más allá de la programación de CGI con mod_perl
Apache::Registry vs. Apache::PerlRun
Instalar mod_perl
Obtener el código
Descomprimir el código
Buscar prerrequisitos
Crear e instalar mod_perl
Elegir opciones de compilación
Configuración para mod_perl
Desde mod_cgi a mod_perl
Consideraciones de seguridad con mod_perl
Resumen
11. Desarrollo con mod_perl
Pensar en mod_perl
Consideraciones iniciales
Avisos y comprobaciones de contaminación
Ámbito de aplicación de las variables y variables de entorno
Apache::Registry vs. Apache::PerlRun, revisitado
Apache::PerlRun
PerlRunOnce
Apache::Registry
Precargar módulos Perl
Precargar Apache::DBI
Precargar otros módulos y métodos
Trabajar con el objeto de petición de Apache
Acceder a la petición
Utilizar métodos para recuperar valores de petición
Acceder a encabezados de petición
Acceder a la respuesta
Establecer un encabezado de respuesta
Establecer estados de respuesta
Trabajar con cookies
Escribir cookies
Leer cookies
Enviar archivos
Trabajar con el servidor Apache
Obtener información sobre el servidor
Controlar los registros
Consideraciones de seguridad con mod_perl, revisitado
Resumen
Parte V. Crear plantillas Web
12. Template Toolkit
Perl y las plantillas
Introducción a Template Toolkit
Ejemplo de Template Toolkit
Utilizar el Template Toolkit
tpage
ttree
Revisión rápida de las opciones de ttree
El módulo Template y Apache::Template
Sintaxis del Template Toolkit
Eliminar el salto de línea
Interpolación
Comentarios
Estilos de etiqueta
Variables
Definir y establecer variables
Trabajar con variables
Métodos virtuales
Directivas
Trabajar con directivas
Include
Directiva INCLUDE
Directiva PROCESS
Directiva INSERT
Directiva WRAPPER
Directiva BLOCK
Bucles
Directiva FOREACH
Directiva WHILE
Condicionales
Gestión de excepciones
Bloques de Perl
Plug-ins
Plug-in de fecha
Plug-in del módulo CGI
Plug-in del módulo DBI
Crear un sitio Web con Template::Toolkit
Crear un archivo de configuración del sitio
Crear el sitio
Consideraciones de seguridad
Resumen
13. Sitios Web Perl con Mason
Introducción a Mason
Instalar Mason
Compilar Mason
Configurar Apache y Mason
Sintaxis de Mason
Componentes
Sintaxis
Argumentos
Valores de retorno
Objetos de petición
Manejadores
Dhandlers
Autohandlers
Subpeticiones y más
Crear un sitio Web con Mason
Crear un página
Crear encabezados y pies de página
Utilizar valores de retorno
Consideraciones de seguridad con Mason
Resumen
Parte VI. Apéndice
Apéndice. Fundamentos básicos de Perl
Nuestro primer programa Perl
Palabras claves
Declaraciones y bloques de declaraciones
Secuencias de escape
Espacio en blanco
Tipos de datos
Números
Números binarios, hexadecimales y octales
Cadenas
Cadenas de comillas sencillas vs. dobles
q// y qq//
Delimitadores alternativos
Sintaxis heredoc
Convertir entre números y cadenas
Operadores
Operadores numéricos
Operadores aritméticos
Operadores de bit
Operadores boleanos
Operadores de cadena
Comparación de cadena
Variables
Modificar una variable
Operación y asignación a la vez
Autoincremento y autodecremento
Múltiples asignaciones
Ámbito de aplicación
Nombres de variable
La variables especial $_
Interpolación de variables
La declaración if
Operadores revisitados
Comparar números
Comparar cadenas
Otras pruebas
Operadores lógicos
Elección múltiple: if...else
Incluso más opciones: if ...elseif...else
La declaración unless
Modificadores de expresión
Utilizar evaluación perezosa
Constructores de bucle
Bucle while
While (
Bucles infinitos
Pasar en bucle hasta
El bucle for
Bucle foreach
do..while y do..until
Modificar expresiones
Constructores de control de bucle
Salir de un bucle
Pasar al siguiente
Volver a ejecutar el bucle
Etiquetas de bucle
goto
Resumen
Índice alfabético
Títulos relacionados con Perl. Introducción al desarrollo Web