Perl 正在缩小以读/写方式打开的文件
在perl中: 我有一个以读/写方式打开的文件,带有独占锁Perl 正在缩小以读/写方式打开的文件,perl,file-io,readwritelock,Perl,File Io,Readwritelock,在perl中: 我有一个以读/写方式打开的文件,带有独占锁 打开($f,“+
打开($f,“+<$filename”)
鸥群(f,洛克什);
如果我向文件中写入的数据多于以前保存的数据,文件将增长。如果我写更少的数据,我的新内容在开始,但旧内容仍然在文件的末尾 这并不奇怪,但这不是我想要的 在以读/写方式打开文件时,是否有一种简单的方法来收缩文件?基本上我想告诉它在这个字节位置结束文件
我知道我可以以不同的方式打开它,我正在考虑这样做,但是一行修复会很好。我实际上不知道perl,但是因为
ftruncate(2)
将是C函数,也许会有帮助?你们都赢得了一个cookie。我不能在9分钟内接受你的答案(为什么?),我甚至搜索了truncate这个词,但不知怎么的,还是漏掉了。谢谢。我建议测试open、flock、truncate等@hpavc或use的结果。我正在测试所有这些命令的结果。为了简洁起见,就把它们删掉吧。