Sig:
Introducción
Sup:
Análisis Léxico y Sintáctico
Ant:
Prólogo
Err:
Si hallas una errata ...
Las Bases
Subsecciones
Introducción
Escalares
Números
Cadenas
Contexos Numérico y de Cadena: Conversiones
Variables Mágicas
Lectura de Datos
La Lógica de Perl
Operadores Lógicos
Operadores de Comparación
Algunas Sentencias de Control
La estructura de control
unless
La estructura de control
until
Modificadores de Expresiones
La estructura de control
last
Depuración de errores
Una Breve Introducción a las Expresiones Regulares
Práctica: Radio de una circunferencia
Arrays y Listas
Iterpolación de
arrays
en cadenas
Bucles sobre
arrays
Las declaraciones
my
y
our
El operador
grep
El operador
map
Allanamiento de las listas
Pilas y Colas:
push
,
pop
y
splice
reverse
Ejercicio: Contextos
La función
scalar
Troceado de
arrays
Ejercicio: Elemento o Trozo
Ejercicio: Asignaciones, Trozos y Contextos
join
split
sort
La Lectura en un Contexto de Lista
Práctica: Fichero en Orden Inverso
Práctica: En Orden ASCIIbético
Práctica: Sin Distinguir Case
Práctica: Indexación
Ejercicio: grep
Práctica: Postfijo
Hashes
Acceso a los elementos de un hash
Asignación de Hashes
El operador flecha grande
Las funciones
keys
y
values
Hashes y
undef
La función
each
La función
delete
La función
exists
Interpolación de hashes
Obtener el conjunto de elementos de una lista
Hashes DBM
Troceado de un
hash
Práctica: Ordenar por Calificaciones
Subrutinas
Definición de subrutinas
Argumentos y valores de retorno
Otros modos de llamar a una subrutina
Tipo de objeto y ámbito
Variables privadas
Variables Dinámicas
El pragma
use strict
Argumentos con Nombre
Aliasing
de los parámetros
Contexto de la llamada
¿Quién llamó a esta rutina?
Práctica: Máximo
Práctica: Polares a Cartesianas
Práctica: Postfijo y Subrutina
Ejercicio: Prioridad de Operaciones
Ejercicio: Significados de la Coma
Entrada /Salida
El operador diamante
Práctica: Enumerar Ficheros
Ejercicio: Salida con Formato
Ejercicio: Contextos y E/S
Filehandles
Abrir un fichero
Cerrar un fichero
Errores al abrir un fichero
Lectura desde un fichero
El separador de lectura
Ejercicio: Muerte Prematura
El operador
select
El separador de campos de salida
El separador de registros de salida
Reapertura de uno de los ficheros estandar
Tests sobre ficheros
Práctica: Ficheros Grandes y Viejos
La función
stat
La función
localtime
Directorios
Acceso mediante Operadores
Acceso Mediante
glob
Práctica: Viejos y Grandes Recursivo
Operaciones con ficheros, links y directorios
unlink
symlink
mkdir
rename
Práctica: Renombrar Tipos de Ficheros
rmdir
chmod
chown
Gestión de Procesos
La función
system
La función
exec
Variables de entorno
Uso de comillas de ejecución
Pipes
La función
fork
La función
pipe
La Depuración de Procesos
Práctica: Un Cálculo Sencillo con Procesos
Señales
Envío de señales
Captura de señales
Controlando errores en tiempo de ejecución con
eval
Controlando warnings en tiempo de ejecución
Poniendo límites de tiempo con
eval
Práctica: Gestor de Colas
Sugerencias
Expresiones Regulares
Un ejemplo sencillo
Copia y sustitución simultáneas
Variables especiales después de un emparejamiento
El uso de
$1
dentro una expresión regular
Ambito automático
Expresiones regulares abreviadas
Listas y ExpReg
Map
y las expresiones regulares
Opciones
La opción
/m
La opción
/s
El Modificador
/g
La opción
/x
Interpolación en los patrones
RegExp no ``Greedy''
Negaciones y operadores no
greedy
Algunas extensiones
Comentarios
Paréntesis de agrupamiento
Operador de predicción positivo
Operador de predicción negativo
Secuencias de números de tamaño fijo
El ancla
G
Palabras Repetidas
Análisis de cadenas con datos separados por comas
Número de substituciones realizadas
Evaluación del remplazo
Anidamiento de
/e
Expandiendo y comprimiendo tabs
Modificación en múltiples ficheros
tr y split
Pack
y
Unpack
Referencias
Referencias a variables ya existentes
Referencias y referentes
Referencias a constantes
Contextos y referencias
Precedencias y prefijos
La notación flecha
Paso de arrays y hashes a subrutinas
Práctica: Conjuntos a través de Hashes
Identificando un referente
ref
Referencias a almacenamiento anónimo
Estructuras anidadas
Creación implícita y asignación de memoria
Impresión de estructuras anidadas
Ejemplo: El Producto de Matrices
Ejercicio: Indentificadores entre LLaves
Gestión de la memoria
Referencias simbólicas
Práctica: Referenciado Simbólico
Referencias a subrutinas anónimas
Funciones de orden superior
Práctica: Emulación de un Switch
Typeglobs
Introducción
Variables léxicas y typeglobs
Asignación de typeglobs
local
y typeglobs
Paso de filehandles como parámetros a una subrutina
Typeglobs y eficiencia
Ejercicio: Typeglobs
Práctica: Includes C
Typeglobs selectivos
Ejercicio: Asignaciones a Typeglobs
Typeglobs vistos como hashes
Referencias simbólicas y typeglobs
Prototipos
Clausuras
Clausuras y Generación de Funciones Similares
Anidamiento de subrutinas
Clausuras e Iteradores
Currying
Memoizing
Compartición, Persistencia y Privacidad: Un ejemplo con threads
Sig:
Introducción
Sup:
Análisis Léxico y Sintáctico
Ant:
Prólogo
Err:
Si hallas una errata ...
Casiano Rodríguez León
2006-02-21