Un identificador de archivo es una variable que se utiliza para leer y escribir en un archivo. Este identificador de archivo se asocia con el archivo.
Para escribir en el archivo, se abre en modo de escritura como se muestra a continuación:
open (FH, ‘>’, “filename.txt”);
Si el archivo existe, trunca el contenido anterior del archivo con el contenido nuevo. De lo contrario, se creará un nuevo archivo y se agregará contenido.
La función print() se usa para escribir contenido en un archivo.
Sintaxis: imprimir string de identificador de archivo
Aquí, el identificador de archivo está asociado al archivo en el momento de abrirlo y la string contiene el contenido que se escribirá en el archivo.
Ejemplo :
# Opening file Hello.txt in write mode open (fh, ">", "Hello.txt"); # Getting the string to be written # to the file from the user print "Enter the content to be added\n"; $a = <>; # Writing to the file print fh $a; # Closing the file close(fh) or "Couldn't close the file";
Antes de escribir en el archivo:
Ejecutando código para escribir:
Archivo actualizado:
Así es como funciona el programa:
Paso 1: Abrir el archivo Hello.txt en modo escritura.
Paso 2: obtener el texto del teclado de entrada estándar.
Paso 3: escribir la string almacenada en ‘$a’ en el archivo señalado por el identificador de archivo ‘fh’
Paso 4: cerrar el archivo.
Copiar contenido de un archivo a otro:
Antes de la ejecución del código:
Archivo de origen:
Archivo de destino:
Ejemplo:
el siguiente ejemplo lee el contenido del archivo de origen y lo escribe en el archivo de destino.
# Source File $src = 'Source.txt'; # Destination File $des = 'Destination.txt'; # open source file for reading open(FHR, '<', $src); # open destination file for writing open(FHW, '>', $des); print("Copying content from $src to $des\n"); while(<FHR>) { print FHW $_; } # Closing the filehandles close(FHR); close(FHW); print "File content copied successfully!\n";
Código de ejecución:
Archivo de destino actualizado:
Así es como funciona el programa: –
Paso 1: Abrir 2 archivos Source.txt en modo de lectura y Destination.txt en modo de escritura.
Paso 2: leer el contenido del FHR, que es un identificador de archivo para leer contenido, mientras que FHW es un identificador de archivo para escribir contenido en un archivo.
Paso 3: Copiar el contenido con el uso de la función de impresión.
Paso 4: cierre la conexión una vez que haya terminado de leer el archivo.
Hay dos formas en que se pueden manejar los errores
- Lanzar una excepción si el archivo no se puede abrir (Manejo de un error)
- Dar una advertencia si el archivo no se puede abrir y continuar ejecutándose (Informe de errores)
Lanzar una excepción (usando la función Die)
Cuando no se pudo asignar un identificador de archivo válido a un identificador de archivo en ese momento, die se ejecuta imprimiendo el mensaje y elimina el programa actual.
Ejemplo :
# Initializing filename $filename = 'Hello.txt'; # $filename = 'ello.txt'; # Prints an error and exits # if file not found open(fh, '<', $filename) or die "Couldn't Open file $filename";
En el código anterior, cuando el archivo existe, simplemente se ejecuta sin errores, pero si el archivo no existe, genera un error y el código finaliza.
Dar una advertencia (usando la función de advertencia)
Cuando no se puede asignar un identificador de archivo válido a un identificador de archivo, 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"; }
Cuando el archivo existe:
Cuando el archivo no existe:
Publicación traducida automáticamente
Artículo escrito por rupanisweety y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA