在Perl中:收縮文件打開在讀/寫
我有一個文件打開讀/寫,與排他鎖。
open($f, "+< $filename");
flock($f, LOCK_EX);
如果我寫更多的數據比它以前持有的文件,該文件將增長。
如果我寫的數據較少,我的新內容就在開頭,但舊內容仍然在文件末尾。
這並不奇怪,但它不是我想要的。
是否有一個簡單的方法來縮小文件,而它是在讀/寫打開?基本上我想告訴它在這個字節位置結束文件。
我知道我可以用不同的方式打開它,而且我正在考慮這樣做,但是一行修復會很好。
我建議測試open,flock,truncate等的結果。 – hpavc 2010-11-23 06:56:28
@hpavc,或者使用[autodie](http://search.cpan.org/perldoc?autodie)。 – cjm 2010-11-23 07:42:22