В этой части Учебника Perl мы узнаем, как дописывать данные в файл с помощью Perl.

В предыдущей части мы научились записывать в файлы. Это удобно, когда мы создаем файл с нуля, но в некоторых случаях вам понадобится сохранять исходный файл, дописывая новые строки в конец.

Наиболее очевидный случай - это запись в лог-файл.

Вызов

open(my $fh, '>', 'отчет.txt') or die ...

Открыв файл для записи (со знаком >), мы удалим все содержимое файла, которое могло в нем быть.

Если мы хотим дописать данные в конец файла, нужно использовать два знака "больше", например:

open(my $fh, '>>', 'отчет.txt') or die ...

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

print

или

say

, добавится в конец.

Вот полный пример:

use strict;
use warnings;
use 5.010;

my $filename = 'отчет.txt';
open(my $fh, '>>', $filename) or die "Не могу открыть файл '$filename' $!";
say $fh "Мой первый отчет, сгенерированный с помощью perl";
close $fh;
say 'готово';

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