Perl — manipulation de fichiers
Aller à la navigation
Aller à la recherche
| Type | Entrées/sorties Perl |
|---|---|
| Éléments | filehandle, mode d'ouverture, chemin |
Pour manipuler un fichier en Perl, il faut une variable filehandle, un mode d'ouverture et le chemin du fichier.
Modes d'ouverture
| Mode | Effet |
|---|---|
< |
Ouverture en lecture |
> |
Ouverture en écriture (écrase le fichier existant) |
>> |
Ouverture en écriture (ajout à la suite) |
Déclaration
# my $filename = "C:\\fichier_test.txt"; # Sous Windows
my $filename = "/home/utilisateur/fichier_test.txt"; # Sous Linux
my $fh;
open ($fh, '>', $filename) or die "Impossible d'ouvrir le fichier $filename en écriture";
# ... code qui écrit dans le fichier ...
close $fh;
open ($fh, '<', $filename) or die "Impossible d'ouvrir le fichier $filename en lecture";
# ... code qui lit le fichier ...
close $fh;
Écrire dans un fichier
use strict;
use warnings;
open (my $fh, '>', 'fichier_test.txt') or die "Impossible d'ouvrir le fichier";
print $fh "Hello, World !\n"; # On précise à print le filehandle de destination
close $fh;
Lire un fichier
open (my $fh, '<', 'fichier_test.txt') or die "Impossible d'ouvrir le fichier";
my $ligne = <$fh>;
close $fh;
print $ligne;
Afficher un fichier ligne à ligne
use strict;
use warnings;
my $filename = "/home/utilisateur/prg/perl/lorem_ipsum.txt";
open (my $fh, '<', $filename)
or die "Impossible d'ouvrir le fichier '$filename' en lecture";
my $compteur = 1;
while (my $ligne = <$fh>)
{
print "$compteur\t$ligne";
++$compteur;
}
close $fh;
Recopier un fichier
use strict;
use warnings;
my $fichier_src = "fichier_test1.txt";
my $fichier_dst = "fichier_test2.txt";
open (my $fh_src, '<', $fichier_src)
or die "impossible d'ouvrir le fichier '$fichier_src' en lecture";
open (my $fh_dst, '>', $fichier_dst)
or die "impossible d'ouvrir le fichier '$fichier_dst' en écriture";
while (my $ligne = <$fh_src>)
{
print $fh_dst $ligne;
}
close $fh_src;
close $fh_dst;