我需要打開文件追加模式在Perl,但我需要打開文件之前,所有的數據被刪除,並在新的數據去的Perl:追加模式文件並打開文件的清除內容
。我會逐行輸入數據,所以在輸入第一行之前我需要先刪除所有以前的數據。
請幫忙。
我需要打開文件追加模式在Perl,但我需要打開文件之前,所有的數據被刪除,並在新的數據去的Perl:追加模式文件並打開文件的清除內容
。我會逐行輸入數據,所以在輸入第一行之前我需要先刪除所有以前的數據。
請幫忙。
我想你是無所適從 「追加」 是指在Perl。你所描述是打開一個文件,截斷它,即:
open my $fh, '>', $file;
這將刪除的$file
內容,並打開一個新的文件具有相同的名稱。
使用open進行追加的原因是當你有一個你要做的文件而不是希望覆蓋。即>
和>>
之間的區別僅僅在於前者截斷了現有文件並開始在文件開始處寫入,而後者跳到現有文件的末尾並開始在那裏寫入。
文檔here
open(fileHandle, ">", $filePath);
事實上,以正確的方式打開文件要容易得多。爲什麼在追加模式下打開它,然後在第一個寫入模式下更容易打開它時,將它截斷爲0? – Matteo
我不知道,我沒有彌補瘋狂的限制。此外,今天我有心情回答問題的面值。用'>'開頭的 – daxim
當我們應該用flock做原子操作時會更糟。爲什麼?因爲我們不能爲封閉的文件涌入。截斷是最好的。我們打開文件爲'+ <',羣集,測試並決定是否刪除內容。 – Znik