perl | Funciones de E/S de archivo

El manejo de archivos en Perl se usa para leer datos de un archivo externo o para escribir datos en un archivo externo. Esto es muy útil ya que proporciona una plataforma para almacenar y recuperar datos de archivos de forma permanente.

File Handle
Un FileHandle asocia un nombre a un archivo externo, que se puede utilizar hasta el final del programa o hasta que se cierre el FileHandle. En resumen, un FileHandle es como una conexión que se puede usar para modificar el contenido de un archivo externo y se le da un nombre a la conexión (FileHandle) para un acceso más rápido y sencillo.

Las funciones de entrada y salida (funciones de E/S) son una parte integral del manejo de archivos y, a continuación, se explican las principales funciones de E/S con ejemplos.

línea de lectura()

Esta función lee una línea del IDENTIFICADOR DE ARCHIVO a la que debe hacer referencia la expresión dada. Para cada llamada de función, se lee la siguiente línea del archivo. Esto se puede repetir hasta que se alcance el final del archivo. Para usar un identificador de archivo directamente, debe pasarse como un typeglob.

Sintaxis:

readline (EXPR)

Ejemplo:

#!/ usr / bin / perl - w
  
my($data) = "";
open(F, "Hello.txt") or 
 die("Error encountered while reading file");
  
$data = <F>;
print("$data");
  
$data = readline(*F);
print("$data");
  
close(F);

Producción:

modo bin()

Esta función se utiliza para establecer el formato de lectura y escritura de FILEHANDLE en binario. Cuando un archivo se escribe como binario, no tiene un carácter de fin de archivo. Dado que los datos se leen y escriben en binario, la ejecución es más rápida y eficiente, ya que la máquina no tiene que convertir los datos y son directamente comprensibles.

Sintaxis:

binmode(FILEHANDLE)

Ejemplo:

#!/ usr / bin / perl
   
my($read_data);
open(DATA, "<Hello.txt") or die "Error in reading the file";
  
# To convert the file 
# in binary mode
binmode(DATA);
  
close(DATA);

leer()

Esta función se usa para leer un número deseado de caracteres de un archivo durante la ejecución, es decir, se puede usar para leer un bloque de información almacenada en búfer. También se utiliza para leer datos binarios de archivos.
Sintaxis:

read(FILEHANDLE, SCALAR, LENGTH)

Ejemplo:

#!/ usr / bin / perl
   
my($read_data);
open(DATA, "<Hello.txt") or die "Error in reading the file";
read(DATA, $read_data, 4);
   
print($read_data);
close(DATA);

Producción:

impresión()

print() es una de las funciones de E/S más importantes en perl. Se utiliza para enviar datos a un archivo desde la consola.

Sintaxis:

print FILEHANDLE LIST

Ejemplo:

#!/ usr / bin / perl
  
my($read_data);
open(DATA, "<Hello.txt") or
 die "Error in reading the file";
  
@dat = ("these", "are", "the", "file", "contents");
print DATA @dat;
close(DATA);

Archivo antes print():

Salida:
Esto escribirá «Estos son los contenidos del archivo» en el archivodata.txt

buscar()

Esta función se utiliza para cambiar la posición del puntero del archivo a la posición deseada. La posición aquí también se puede cambiar respectivamente a otra posición especificada (DÓNDE).

Sintaxis:

seek(FILEHANDLE, POSITION, WHENCE)

Aquí WHENCE se usa para especificar una posición respectiva a la cual se mueve el puntero.
a) WHENCE = 0, significa que el puntero debe comenzar al principio del archivo.
b) WHENCE = 1, significa que el puntero debe comenzar en la posición actual del archivo.
c) WHENCE = 2, significa que el puntero debe comenzar al final del archivo.

Ejemplo:

#!/ usr / bin / perl
  
my($read_data);
open(DATA, "<Hello.txt") or
die "Error in reading the file";
  
# Here, WHENCE is set to 1
seek(DATA, 10, 1);
close(DATA);

Producción:

The position of the pointer will be set to the specified position.

decir()

Esta función se utiliza para obtener la posición del puntero en el archivo del programa.

Sintaxis:

tell(FILEHANDLE)

Ejemplo:

#!/ usr / bin / perl
  
my($read_data);
open(DATA, "<Hello.txt") or 
 die "Error in reading the file";
print(tell(DATA));
  
$char = getc(DATA);
  
print(tell(DATA));
close(DATA);

Salida:

esto se debe a que inicialmente el puntero está en la posición 0 pero después de leer un carácter se mueve a la posición 1.

cerca()

Cuando abrimos un archivo, asociamos un IDENTIFICADOR DE ARCHIVO con un archivo externo. Así, cuando terminemos de usar el archivo, debemos desvincular el IDENTIFICADOR DE ARCHIVO del archivo y para ello se utiliza la función close(). Esto vacía los búferes de FILEHANDLE.

Sintaxis:

close(FILEHANDLE)

Ejemplo:

#!/ usr / bin / perl
  
my($read_data);
open(DATA, "<data.txt") or 
 die "Error in reading the file";
  
close(DATA);

Publicación traducida automáticamente

Artículo escrito por PradeepSelva y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *