Un identificador de archivo es una estructura interna de Perl que asocia un archivo físico con un nombre. Todos los identificadores de archivo tienen acceso de lectura/escritura, por lo que una vez que se adjunta el identificador de archivo a un archivo, se puede realizar la lectura/escritura. Sin embargo, el modo en que se abre el identificador de archivo debe especificarse al asociar un identificador de archivo.
La función Abrir se utiliza para abrir un archivo nuevo o un archivo existente.
Sintaxis: abrir IDENTIFICADOR DE ARCHIVO, VAR
Aquí FILEHANDLE es el identificador devuelto por la función de apertura y VAR es la expresión que tiene el nombre del archivo y el modo de abrir el archivo.
La siguiente tabla muestra los modos en los que se puede abrir un archivo y acceder a varias operaciones.
Modo | Descripción |
---|---|
r o < | Acceso de solo lectura |
w o > | Crea, escribe y trunca |
un o >> | Escribe, agrega y crea |
r+ o +< | Lee y escribe |
w+ o +> | Lee, escribe, crea y trunca |
a+ o +>> | Lee, escribe, agrega y crea |
Una vez que se asigna un IDENTIFICADOR DE ARCHIVO a un archivo, se pueden realizar varias operaciones como leer, escribir y agregar. Hay varias maneras diferentes de leer un archivo.
- Uso de un operador de manejo de archivos
- Usando la función getc
- Usando la función de lectura
- El operador FileHandle
El método principal para leer la información de un identificador de archivo abierto es mediante el operador < > . Cuando se usa el operador < > en un contexto de lista, devuelve una lista de líneas del identificador de archivo especificado. El siguiente ejemplo lee una línea del archivo y la almacena en el escalar.Deje que el contenido del archivo «GFG.txt» sea el siguiente:
GeeksforGeeks Hello Geek Geek a revolution Geeks are the best
Ejemplo: GFG.pl
# Opening the file
open
(fh,
"GFG.txt"
) or
die
"File '$filename' can't be opened"
;
# Reading First line from the file
$firstline
= <fh>;
print
"$firstline\n"
;
Producción :
- Función
getc La función getc devuelve un solo carácter del IDENTIFICADOR DE ARCHIVO especificado, o STDIN si no se especifica ninguno
Sintaxis: getc IDENTIFICADOR DE ARCHIVO
# Opening the file
open
(fh,
"GFG.txt"
) or
die
"File '$filename' can't be opened"
;
# Reading First char from the file
$firstchar
=
getc
(fh);
print
"$firstchar\n"
;
Producción:
Si hubo un error o el identificador de archivo está al final del archivo, devuelve undef.
- Función de
lectura La función de lectura se utiliza para leer datos binarios de un archivo mediante el identificador de archivo.
Sintaxis
leer IDENTIFICADOR DE ARCHIVO, ESCALAR, LONGITUD, DESPLAZAMIENTO
leer IDENTIFICADOR DE ARCHIVO, ESCALAR, LONGITUDAquí, LONGITUD representa la longitud de los datos que se leerán y los datos se colocan al comienzo de ESCALAR si no se especifica DESPLAZAMIENTO. De lo contrario, los datos se colocan después de los bytes de OFFSET en ESCALAR. Si la lectura del archivo es exitosa, la función devuelve el número de bytes leídos, cero al final del archivo o undef si hubo un error.
- Lanzar una excepción si el archivo no se puede abrir
- Dar una advertencia si el archivo no se puede abrir y continuar ejecutándose
- Lanzar una excepción
Cuando no se pudo asignar a filehandle un puntero de archivo válido en ese momento, die se ejecuta imprimiendo el mensaje y elimina el programa actual.
Ejemplo :# Initializing filename
$filename
=
'GFG1.txt'
;
# Prints an error and exits if file not found
open
(fh,
'<'
,
$filename
) or
die
"Couldn't Open file $filename"
;
Producción:
El código anterior imprime un error si no se encuentra el archivo y sale del código.
- Dar una advertencia
Cuando no se pudo asignar a filehandle un puntero de archivo válido, simplemente imprime un mensaje de advertencia usando la función de advertencia y sigue ejecutándose.
Ejemplo :# Initializing filename
$filename
=
'GFG.txt'
;
# Opening a file and reading content
if
(
open
(fh,
'<'
,
$filename
))
{
while
(<fh>)
{
print
$_
;
}
}
# Executes if file not found
else
{
warn
"Couldn't Open a file $filename"
;
}
Producción:
El ejemplo que se muestra a continuación lee el contenido del archivo especificado por filehandle hasta que llega al final del archivo (EOF).
Ejemplo: Archivo.pl
# Opening the file open (FH, "GFG.txt" )or die "Sorry!! couldn't open" ; print "Reading file \n" ; # Reading the file till FH reaches EOF while (<FH>) { # Printing one line at a time print $_ ; } close ; |
Producción :
Hay dos formas en que se puede manejar la excepción
Publicación traducida automáticamente
Artículo escrito por rupanisweety y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA