Perl: очистить содержимое файла и открыть файл в режиме добавления - PullRequest
13 голосов
/ 05 сентября 2011

Мне нужно открыть файл в режиме append в Perl, но мне нужно, чтобы перед открытием файла все данные были удалены, а свежие данные вошли.

Я буду вводить данные построчно, поэтому перед вводом первой строки мне нужно, чтобы все предыдущие данные были удалены.

Пожалуйста, помогите.

Ответы [ 4 ]

16 голосов
/ 05 сентября 2011

Я думаю, вы не понимаете, что означает "append" в perl. То, что вы описываете, - это открытие файла и его усечение, т. Е .:

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

Это удалит содержимое $file и откроет новый файл с тем же именем.

Причиной использования open для добавления является наличие файла, который вы не хотите перезаписать. То есть Разница между > и >> заключается просто в том, что первый обрезает существующий файл и начинает запись в начале файла, а последний переходит к концу существующего файла и начинает запись в него.

Документация здесь

6 голосов
/ 05 сентября 2011
2 голосов
/ 08 марта 2013

Обработка файлов включает в себя:

  1. Чтение файла (<)
  2. Запись в файл
    1. Добавление (>>)
    2. Перезаписать (>)

Для подробного объяснения, пожалуйста, посетите эту ссылку.

1 голос
/ 05 сентября 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...