Lecture de la fin d'un fichier
Bonjour,
Je voudrais vérifier que les deux derniers caractères d'un fichiers soient bien \x0d\x0a (saut de ligne windows).
Je procéde de la façon suivante :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
# Fichier à controler
my $file = 'test.txt';
# Ouverture du fichier
open (FILE, $file) or die "Impossible d'ouvrir le fichier : $!\n";
# On se place à la fin du fichier - 2 caractères
seek (FILE, -2, 2);
# Lecture des deux caractères
my $ligne = '';
read ( FILE, $ligne, 2 );
# Affichage du résultat
print "\nDEUX DERNIERS CARACTERES = '$ligne'\n";
print "\nDEUX DERNIERS CARACTERES CORRECTS\n" if ($ligne =~ m/^\x0d\x0a$/);
# Fermeture du fichier
close FILE; |
Je ne comprend pas pourquoi ça ne marche pas... (bien sur quand je regarde le fichier dans un éditeur hexa, il se termine bien par les caractères voulu).
Si quelqu'un veut bien m'expliquer, merci :)