2011-09-05 95 views

回答

16

我想你是無所適從 「追加」 是指在Perl。你所描述是打開一個文件,截斷它,即:

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

這將刪除的$file內容,並打開一個新的文件具有相同的名稱。

使用open進行追加的原因是當你有一個你要做的文件而不是希望覆蓋。即>>>之間的區別僅僅在於前者截斷了現有文件並開始在文件開始處寫入,而後者跳到現有文件的末尾並開始在那裏寫入。

文檔here

6
+1

事實上,以正確的方式打開文件要容易得多。爲什麼在追加模式下打開它,然後在第一個寫入模式下更容易打開它時,將它截斷爲0? – Matteo

+3

我不知道,我沒有彌補瘋狂的限制。此外,今天我有心情回答問題的面值。用'>'開頭的 – daxim

+1

當我們應該用flock做原子操作時會更糟。爲什麼?因爲我們不能爲封閉的文件涌入。截斷是最好的。我們打開文件爲'+ <',羣集,測試並決定是否刪除內容。 – Znik

1

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

2

文件處理包括:

  1. 閱讀文件(<
  2. 寫在文件
    1. 追加(>>
    2. 覆蓋(>

有關詳細說明,請訪問this鏈接。