En este tema, aprenderemos cómo manejar archivos en Perl. Trabajar con archivos es una habilidad esencial para cualquier programador, ya que permite leer datos de archivos, escribir datos en archivos y manipular archivos de diversas maneras.
Contenido
Apertura y Cierre de Archivos
Para trabajar con archivos en Perl, primero debemos abrir el archivo y, una vez que hayamos terminado de trabajar con él, debemos cerrarlo.
Sintaxis Básica
# Abrir un archivo open(my $fh, '<', 'archivo.txt') or die "No se pudo abrir el archivo: $!"; # Cerrar un archivo close($fh) or die "No se pudo cerrar el archivo: $!";
open
: Función para abrir un archivo.$fh
: Manejador de archivo (file handle).'<', 'archivo.txt'
: Modo de apertura y nombre del archivo.die
: Termina el programa si ocurre un error.$!
: Variable especial que contiene el mensaje de error.
Lectura de Archivos
Leer Línea por Línea
open(my $fh, '<', 'archivo.txt') or die "No se pudo abrir el archivo: $!"; while (my $linea = <$fh>) { print $linea; } close($fh) or die "No se pudo cerrar el archivo: $!";
Leer Todo el Archivo de una Vez
open(my $fh, '<', 'archivo.txt') or die "No se pudo abrir el archivo: $!"; my @contenido = <$fh>; close($fh) or die "No se pudo cerrar el archivo: $!"; print @contenido;
Escritura en Archivos
Escribir en un Archivo
open(my $fh, '>', 'archivo.txt') or die "No se pudo abrir el archivo: $!"; print $fh "Esta es una nueva línea en el archivo.\n"; close($fh) or die "No se pudo cerrar el archivo: $!";
Añadir a un Archivo
open(my $fh, '>>', 'archivo.txt') or die "No se pudo abrir el archivo: $!"; print $fh "Esta línea se añade al final del archivo.\n"; close($fh) or die "No se pudo cerrar el archivo: $!";
Modos de Apertura de Archivos
Modo | Descripción |
---|---|
< |
Lectura |
> |
Escritura (sobrescribe el archivo) |
>> |
Añadir (escribe al final del archivo) |
Manejo de Errores
Es importante manejar los errores al trabajar con archivos para evitar que el programa falle inesperadamente.
Ejemplo de Manejo de Errores
open(my $fh, '<', 'archivo.txt') or die "No se pudo abrir el archivo: $!"; while (my $linea = <$fh>) { print $linea; } close($fh) or warn "No se pudo cerrar el archivo: $!";
warn
: Emite una advertencia pero no termina el programa.
Ejercicios Prácticos
Ejercicio 1: Leer y Mostrar un Archivo
Instrucciones:
- Crea un archivo llamado
datos.txt
con algunas líneas de texto. - Escribe un script en Perl que lea y muestre el contenido del archivo.
Solución:
open(my $fh, '<', 'datos.txt') or die "No se pudo abrir el archivo: $!"; while (my $linea = <$fh>) { print $linea; } close($fh) or die "No se pudo cerrar el archivo: $!";
Ejercicio 2: Escribir en un Archivo
Instrucciones:
- Escribe un script en Perl que escriba las siguientes líneas en un archivo llamado
salida.txt
:- "Primera línea"
- "Segunda línea"
- "Tercera línea"
Solución:
open(my $fh, '>', 'salida.txt') or die "No se pudo abrir el archivo: $!"; print $fh "Primera línea\n"; print $fh "Segunda línea\n"; print $fh "Tercera línea\n"; close($fh) or die "No se pudo cerrar el archivo: $!";
Ejercicio 3: Añadir a un Archivo
Instrucciones:
- Escribe un script en Perl que añada la línea "Nueva línea añadida" al final del archivo
salida.txt
.
Solución:
open(my $fh, '>>', 'salida.txt') or die "No se pudo abrir el archivo: $!"; print $fh "Nueva línea añadida\n"; close($fh) or die "No se pudo cerrar el archivo: $!";
Conclusión
En esta sección, hemos aprendido cómo abrir, leer, escribir y cerrar archivos en Perl. También hemos visto cómo manejar errores al trabajar con archivos. Estos conceptos son fundamentales para cualquier programador que necesite manipular archivos en sus scripts. En el próximo módulo, exploraremos cómo trabajar con arreglos en Perl.
Curso de Programación en Perl
Módulo 1: Introducción a Perl
Módulo 2: Programación Básica en Perl
Módulo 3: Trabajando con Datos
Módulo 4: Programación Intermedia en Perl
Módulo 5: Programación Avanzada en Perl
- Expresiones Regulares Avanzadas
- Interacción con Bases de Datos usando DBI
- Programación Web con Perl
- Multithreading