Next Previous Contents

4. Ficheros

4.1 Leyendo y escribiendo de ficheros

Para abrir un fichero en Perl se usa una llamada como la de C: open:


open(F,"fichero");

@contenido = <F>;

close(F);

Los parámetros de open son un identificador (algo como los "descriptores de fichero" de C) y la ruta del fichero a abrir. Nótese que a diferencia del resto de variables y tipos de Perl, no lleva ningún símbolo antes del nombre que indique su naturaleza. Si no se especifica nada más, se supone que el fichero se abre para lectura.

En la línea que viene después de open lo que hacemos es meter en el array @contenido todo el contenido del fichero "apuntado" por F. Cada línea del fichero es un elemento del array. Ahora con un bucle foreach podríamos analizar línea a línea el contenido del fichero. Por último, con close cerramos el fichero.

Para diferenciar si abrimos un fichero para lectura o para escritura se precede a la ruta del mismo un signo mayor que (para escritura) o menor que (para lectura), de este modo:


open(F,">fichero");     # Abrimos para escritura

open(F,"<fichero");  # Abrimos para lectura

Para escribir o leer del fichero, en general, sólo hay que indicar el identificador del fichero después de la función. Por ejemplo, con print:


open(F,">fichero");

print F "Hola";

close(F);

Hay varios identificadores predefinidos en Perl, como también hay varios descriptores de ficheros predefinidos en C; los más habituales, STDIN y STDOUT, que representan la entrada estándar y la salida estándar, respectivamente. Con ellos podemos hacer cosas así:


@texto = <STDIN>;
foreach $l (@texto) {
        print uc($l);
}

Este código imprimiría en mayúsculas lo que le pasáramos por la entrada estándar.


Next Previous Contents