¿Ya dominas lo básico? Un curso estructurado de Perl es la vía rápida para dar el salto.
Ver cursos de Perl en UdemyEnlace de afiliado. No te cuesta nada extra.
- 01Preparar el entorno (lo que necesitas)
- 02Tu primera salida (print)
- 03Variables (variables escalares, $)
- 04Condicionales (la sentencia if)
- 05Repetir (el bucle for)
- 06Escribir una subrutina (una función)
- 07Repetir (el bucle while)
- 08Trabajar con arrays (@)
- 09Trabajar con hashes (%)
- 10Coincidencia con expresiones regulares
- 11Sustitución con expresiones regulares (s///)
- 12Trabajar con texto
- 13Referencias
- 14Subrutinas anónimas
- 15Entrada y salida de archivos, lo básico
- 16Módulos y use strict / warnings
- 17El operador ternario
- 18Ordenar (sort)
- 19Paquetes y lo básico de la orientación a objetos
- 20[Proyecto] Construye un mini sistema de inventario
Entrada y salida de archivos, lo básico
En esta lección abrirás un archivo y lo leerás línea a línea.
open(my $fh, '<', 'archivo') abre el archivo para lectura y deja un manejador en $fh; el < indica el modo, y sería > para escribir o >> para añadir al final. El operador <$fh> lee una línea, y close() cierra el archivo.
El código de ejemplo lee un archivo de registro entero mostrando cada línea. En esta página no hay archivos reales, así que lo que ves es la forma habitual del código y la salida que produciría con un registro vacío.
Lo importante de esta lección es el or die. Si el archivo no existe o no tienes permiso, open devuelve falso y el guion continúa tan campante leyendo de la nada, dando resultados vacíos sin explicación. Ese or die "no se puede abrir: $!" detiene el programa en el punto exacto del problema, y la variable $! contiene el motivo que da el sistema operativo. En Perl no es una precaución opcional: es la costumbre establecida.
Fíjate también en que se lee línea a línea y no de golpe. Un archivo de registro de varios gigabytes se procesa así sin problema, mientras que cargarlo entero en memoria tumbaría el proceso. Es el patrón que hace de Perl una herramienta seria para administrar servidores.
🧪 Este sitio no puede compilar ni ejecutar Perl directamente, así que comprueba al instante si lo que escribiste coincide con el código de referencia (la corrección ocurre por completo en tu navegador; no se envía nada a ningún servidor).
