Удаление последней строки файла
Проблема
Требуется удалить из файла последнюю строку.
Решение
Читайте файл по одной строке и запоминайте байтовое смещение последней прочитанной строки.
Когда файл будет исчерпан, обрежьте файл по последнему сохраненному смещению:
open (FH, "+< $file") or die "can't update $file: $!";
while ( <FH> ) {
$addr = tell(FH) unless eof(FH);
}
truncate(FH, $addr) or die "can't truncate $file: $!";
Комментарий
Такое решение намного эффективнее загрузки всего файла, поскольку в любой момент времени в
памяти хранится всего одна строка. Хотя вам все равно приходится читать весь файл, программу
можно использовать и для больших файлов, размер которых превышает объем доступной памяти.
См. такжеОписание функций open и
binmode
Proverte kod v komentariyah gde pro list tam oshibki detskie
Оставить комментарий:
|
|