2011-09-05 14 views

risposta

16

penso che si sono confusi su ciò che "accodare" significa in perl. Quello che si sta descrivendo è l'apertura di un file e il troncamento di esso, cioè .:

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

Questo eliminerà il contenuto di $file e aprire un nuovo file con lo stesso nome.

Il motivo per utilizzare aperto per l'aggiunta è quando si dispone di un file che si desidera non da sovrascrivere. Cioè la differenza tra > e >> consiste semplicemente nel fatto che il primo tronca il file esistente e inizia a scrivere all'inizio del file e quest'ultimo salta alla fine del file esistente e inizia a scrivere lì.

Documentazione here

6
+1

In realtà è molto più facile aprire il file nel modo giusto. Perché aprirlo in modalità append e quindi troncarlo a 0 quando è più facile aprirlo in modalità di scrittura in primo luogo? – Matteo

+3

Non lo so, non ho inventato la limitazione pazzesca. Inoltre, oggi mi sentivo in vena di rispondere a domande al valore nominale. L'apertura di – daxim

+1

da '>' è peggiore quando dovremmo eseguire operazioni atomiche utilizzando il gruppo. Perché? perché non possiamo raggruppare per file chiuso. Truncate è il migliore per quello. Apriamo il file come '+ <', flock, test e decidere rimuovere il contenuto o meno. – Znik

1

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

2

la gestione dei file include:

  1. leggere un file (<)
  2. scrivere in un file di
    1. Append (>>)
    2. sovrascrittura (>)

Per la spiegazione dettagliata, visitare il link this.

Problemi correlati