2011-09-05 22 views

Respuesta

16

Creo que está confundido acerca de lo que "añadir" significa en Perl. Lo que usted describe es la apertura de un archivo y truncándolo, es decir .:

open my $fh, '>', $file; 

Esto eliminará el contenido de $file y abrir un nuevo archivo con el mismo nombre.

La razón para usar abrir para agregar es cuando tiene un archivo que hace no desea sobrescribir. Es decir. la diferencia entre > y >> es simplemente que la primera trunca el archivo existente y comienza a escribir al comienzo del archivo, y este último se salta al final del archivo existente y comienza a escribir allí.

Documentación here

6
+1

En realidad, es mucho más fácil abrir el archivo de la manera correcta. ¿Por qué abrirlo en modo de adición y luego truncarlo a 0 cuando es más fácil abrirlo en modo escritura en primer lugar? – Matteo

+3

No lo sé, no inventé la loca limitación. Además, hoy estaba de humor para responder preguntas al pie de la letra. – daxim

+1

abrir por '>' es peor cuando deberíamos hacer una operación atómica usando un rebaño. ¿Por qué? porque no podemos agruparnos para el archivo cerrado. Truncar es lo mejor para eso. Abrimos el archivo como '+ <', flock, prueba y decidimos eliminar contenido o no. – Znik

1

open(fileHandle, ">", $filePath);

2

manejo de archivos incluye:

  1. Leer un archivo (<)
  2. Escribir en un archivo
    1. Anexar (>>)
    2. sobrescritura (>)

Para una explicación más detallada, visite el enlace this.

Cuestiones relacionadas