Función abierta de Perl

Descripción

Esta función abre un archivo usando el identificador de archivo especificado. El identificador de archivo puede ser una expresión, el valor resultante se utiliza como identificador. Si no se especifica un nombre de archivo, una variable con el mismo nombre que el identificador de archivo utilizado (debe ser una variable escalar con un valor de cadena que haga referencia al nombre del archivo). El nombre de archivo especial '-' se refiere a STDIN y '> -' se refiere a STDOUT.

Sintaxis

A continuación se muestra la sintaxis simple para esta función:

open FILEHANDLE, EXPR, LIST

open FILEHANDLE, EXPR

open FILEHANDLE

Valor devuelto

Esta función devuelve o en caso de error y 1 en caso de éxito.

Ejemplo

A continuación se muestra la sintaxis para abrir file.txt en modo de solo lectura. Aquí, el signo menos que <indica que el archivo debe abrirse en modo de solo lectura.

open(DATA, "<file.txt");

Aquí DATA es el identificador de archivo que se utilizará para leer el archivo. Aquí está el ejemplo que abrirá un archivo e imprimirá su contenido en la pantalla.

#!/usr/bin/perl

open(DATA, "<file.txt");

while(<DATA>) {
   print "$_";
}

A continuación se muestra la sintaxis para abrir file.txt en modo de escritura. Aquí, el signo menos que> indica que el archivo debe abrirse en modo de escritura -

open(DATA, ">file.txt");

Este ejemplo realmente trunca (vacía) el archivo antes de abrirlo para escribir, lo que puede no ser el efecto deseado. Si desea abrir un archivo para leer y escribir, puede poner un signo más antes de los caracteres> o <.

Por ejemplo, para abrir un archivo para actualizarlo sin truncarlo:

open(DATA, "+<file.txt");

Para truncar el archivo primero:

open DATA, "+>file.txt" or die "Couldn't open file file.txt, $!";

Puede abrir un archivo en modo anexar. En este modo, el punto de escritura se establecerá al final del archivo.

open(DATA,">>file.txt") || die "Couldn't open file file.txt, $!";

Un doble >> abre el archivo para agregarlo, colocando el puntero del archivo al final, para que pueda comenzar a agregar información inmediatamente. Sin embargo, no puede leerlo a menos que también coloque un signo más delante de él:

open(DATA,"+>>file.txt") || die "Couldn't open file file.txt, $!";

A continuación se muestra la tabla que da los posibles valores de los diferentes modos.

Entities    Definition
< or r		Read Only Access
> or w		Creates, Writes, and Truncates
>> or a         Writes, Appends, and Creates
+< or r+	     Reads and Writes
+> or w+	     Reads, Writes, Creates, and Truncates
+>> or a+    Reads, Writes, Appends, and Creates