Dans cette leçon issue du tutoriel de Perl, nous allons voir comment inclure des données en fin de ficher avec Perl.

Dans la précédente leçon, nous avons appris comment écrire dans des fichiers. Ce cas d'utilisation est bon quand nous sommes entrain de créer un fichier vide, mais il existe d'autres cas d'utilisation où vous aimeriez garder le contenu du fichier original tout en ajoutant quelques nouvelles lignes de contenu en fin de ce fichier.

Le cas le plus répandu étant quand vous écrivez dans un fichier journal.

Ouvrir un fichier avec le symbole > détruira le contenu du fichier s'il y en avait un :

open(my $fh, '>', 'rapport.txt') or die ...

Si nous voulions ajouter du contenu à la fin de ce fichier, nous utiliserions le double symbole >>, comme montré dans l'exemple ci-dessous :

open(my $fh, '>>', 'rapport.txt') or die ...

Appeler cette fonction prédéfinie ouvrira le fichier en mode ajout à la fin. Cela signifie que le fichier restera intact et quelque soit ce que print() ou say() envoie dans ce fichier sera ajouté en fin de ce fichier.

L'exemple complet est comme ci-dessous :

use strict;
use warnings;
use 5.010;

my $nom_de_fichier = 'rapport.txt';
open(my $fh, '>>', $nom_de_fichier) or die "Impossible d'ouvrir le fichier '$nom_de_fichier' $!";
say $fh "Mon premier rapport généré via perl";
close $fh;
say 'effectué!';

Si vous lancez ce script plusieurs fois, vous verrez que ce fichier grandit. À chaque fois que ce script est lancé, une nouvelle ligne est ajouté en fin du fichier.