Capítulo 1: Introducción
¿ Qué es un programa?
¿Que es Perl?
¿Que es CGP?
Temas de seguridad
Perl y HTML
Acerca de este libro
Qué no es este libro
Las novedades
Sitio web de la guía de aprendizaje Perl y CGI
Capítulo 2: Fundamentos de Perl
Datos sobre Perl
Escalares, arrays y arrays asociados
Operadores y funciones
Comillas
Entrecomillado sin comillas
Instrucciones, bloques y ámbito
Declaración de variables privadas
La línea shebang
Creación de un script Perl CGI
Creación de la salida a un navegador
Documentación del script
Comprobación de la sintaxis del script
Capítulo 3: Acerca de servidores, Perl y CGI.pm
¿ Qué es un servidor?
La importancia de los directorios
Consulte al host web!
Cómo obtener un intérprete Perl
Cómo obtener CGI.pm
Capítulo 4: Cómo ejecutar Perl CGI en el servidor Unix
¿ Qué Perl se está ejecutando?
¿ Qué es CGI.pm?
Instalación de scripts en servidores Unix
Transferencia de script
Cambio de permisos
Verificación de un servidor Unix
Capítulo 5: Comprobación local de scripts en Windows
Instalación de los servidores Xitami o Sambar
Instalación de Microsoft Personal Web Server
Instalación de IIS en Windows 2000
Visualización de extensiones de archivo
Verificación del servidor (Iª Parte)
Instalación del intérprete Perl
Instalación de CGI.pm
Instalación de scripts en servidores Windows
Verificación del servidor (IIª Parte)
Capítulo 6: Comprobación local de scripts en Mac
Instalación de Compartir Web Personal
El directorio web raíz
Como compartir con prudencia el directorio web raíz
Inicialización del servidor de compartición web
Verificación del servidor (Iª Parte)
Instalación de MacPerl
Instalación de CGI.pm
Instalación de scripts en servidores Mac
Verificación del servidor (IIª Parte)
Capítulo 7: Obtención de datos de los usuarios
Cómo etiquetar los datos de entrada
Creación de un formulario
Creación de cuadros de texto
Creación de cuadros de contraseña
Creación de áreas de texto grandes
Creación de botones de radio
Creación de casillas de verificación
Creación de un botón de envío
Reinicio de un formulario
Utilización de una imagen para enviar datos
Creación de un enlace a un script
Utilización de un enlace para mandar datos a un script
Capítulo 8: Variables de entorno
La plataforma y el navegador de su visitante
Visualización de las variables de entorno disponibles
Almacenamiento de los datos procedentes de variables de entorno
Capítulo 9: Cómo enviar datos al script
Obtención de un solo valor desde un formulario
Obtención de múltiples valores del formulario
Obtención de todos los nombres de los elementos de un formulario
Obtención de todos los nombres y sus correspondientes valores
Capítulo 10: Operaciones simples con escalares
Asignación de un valor a una variable escalar
Multiplicación, división, adición, sustracción
Uso de mas de un operador
Cómo elevar un número a una potencia
Uso de funciones matemáticas
Cómo obtener el resto de una división
Conexión de cadenas entre sí
Repetición de una cadena
Cómo operar y asignar en un paso
Incremento (o disminución) de una variable
Capítulo 11: Condiciones y bucles
Comparación de números
Comparación de cadenas
Evaluación de condiciones sin comparaciones
Comprobación de dos o más comparaciones
Creación de una instrucción condicional básica
Adición de opciones para combinaciones falsas
Adición de condiciones múltiples, independientes
Uso de unless
Repetición de un bloque para cada elemento de un array
Cómo cargar la variable predeterminada
Repetición de un bloque mientras una condición es verdadera
Repetición de un bloque mientras una condición es falsa
Ejecución del bloque al menos una vez
Repetición de un bloque cierto número de veces
Anidación de instrucciones condicionales
Cómo ignorar una iteración del bucle
Salir de todo un bucle
Capítulo 12: Cómo trabajar con arrays
Asignación de una lista a una variable de array
Referencia a un elemento particular de un array
Referencia a múltiples elementos de un array
Cómo añadir o reemplazar un elemento en un array
Cómo añadir al final o al comienzo de un aray
Eliminación del último elemento de un array
Eliminación del primer elemento de un array
Cómo reemplazar más de un elemento de una array
Obtención de la longitud de un array
Modificación de todos los miembros de un array
Ordenación de arrays
Inversión del orden de los contenidos de un array
Capítulo 13: Subrutinas
Creación de una subrutina sencilla
Uso de una subrutina sencilla
Creación de una subrutina para recibir entradas
Cómo llamar a una subrutina que admite una entrada
Uso del valor devuelto por una subrutina
Establecimiento manual del valor de retorno
Cómo guardar subrutinas de un archivo externo
Llamadas a subrutinas desde un archivo externo
Capítulo 14: Arrays asociativos
Asignación de una lista a un array asociativo
Obtención de un valor usando una clave
Adición o sustitución de un par clave-valor
Extracción de varios valores usando claves
Recuperación de todas las claves de un hash
Recuperación de todos los valores de un hash
Obtención de cada una de las claves y valores de un hash
Obtención de los pares en un orden concreto
Eliminación de pares clave-valor
Comprobación de la existencia de una clave
Capítulo 15: Análisis de datos
Cómo realizar una búsqueda
Buscar y reemplazar
Visualización y empleo de lo encontrado
División de un valor en partes
Construcción de patrones de búsqueda
Consejos para la construcción de patrones de búsqueda
Búsqueda de un solo carácter
Búsqueda de una cadena de caracteres
Búsqueda de caracteres de grupo
Búsqueda de caracteres no pertenecientes a grupos
Uso de abreviaturas de clase
Limitación de la ubicación
¿Cuánto debe coincidir?
Disminución de la avidez de los cuantificadores
Búsqueda de un elemento o de otro
Más sobre la utilización de búsquedas efectivas
Capítulo 16: Cómo recordar lo que nos dice el usuario
Acerca de los campos ocultos
Adición de campos ocultos al formulario
Cómo guardar los datos introducidos en un campo oculto
Acerca de las cookies
Visualización de las cookies en el navegador
Envío de cookies
Configuración de la fecha de caducidad de las cookies
Limitación de cookies a un dominio
Limitación de cookies a una parte del servidor
Limitación de cookies a conexiones seguras
Lectura y uso de cookies
Cómo (y cuando) los usuarios rechazan las cookies
Capítulo 17: Formateado, impresión y HTML
Formateo de la salida con Perl
Creación de un patrón de formato para números enteros
Creación de un patrón de formato para números decimales
Creación de un patrón para cadenas
Cómo cambiar la caja de caracteres
Cómo cambiar caracteres
Cómo obtener la longitud de una cadena
Cómo encontrar la ubicación de algo en una cadena
Cómo extraer una cadena de otra
Cómo limpiar el final de una cadena
Cómo formatear la salida con HTML
Impresión de varias lineas a la vez
Simplificación de las rutas de imágenes y vínculos
Presentación de datos en una tabla
Capítulo 18: Seguridad
Lea las preguntas más frecuentes sobre seguridad
El problema de las entradas del usuario
Protección de las llamadas al sistema
Limitación de los accesos a los archivos
Uso de CGI.pm para limitar los datos entrantes
Cómo guardar la información para uno mismo
Cómo evitar datos corruptos
Limpieza y uso de datos externos
Capítulo 19: Archivos y directorios
Apertura de un archivo
Verificación de las operaciones con archivos y directorios
Obtención de acceso exclusivo a un archivo
Cómo leer datos desde un archivo externo
Cómo cerrar un archivo
Cómo renombrar un archivo
Eliminación de un archivo
Verificación del estado de un archivo
Apertura de un directorio
Cómo leer el contenido de un directorio
Cómo cerrar un directorio
Cambio de permisos desde un script
Eliminación de un directorio
Preparación para la salida de un mensaje de correo electrónico
Envío de una salida vía e-mail
Capítulo 20: Cómo cargar archivos
Creación de un formulario para subir archivos
Obtención del nombre del archivo subido
Búsqueda de un archivo tipo MIME
Cómo especificar donde debería guardarse el archivo
Cómo leer y limitar los archivos subidos