Hello,

lire un fichier au format txt, je sais faire mais là, le truc incompréhensible

J'ai un fichier au format texte donc et dont chaque ligne doit commencer par la chaîne "XS" suivie de numéros et caractères. Des anomalies font que dans ce même fichier, je peux avoir des lignes qui ne commencent pas par cette chaîne. Celà est dû à des retours chariots qui ne devraient pas avoir lieu d'être.

Le but de mon script (jetable) était au départ de chercher les lignes en anomalie et de les afficher.

Le soucis, c'est que ce code là ne m'indique aucune anomalie :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
use strict;
use warnings;
 
my $fic = "resultat.txt";
open(IN, "$fic") or die("err lecture $fic : $!\n");
while(<IN>)
{
	chomp();
	if ($_ !~ /^XS/)
	{
		warn "erreur : $_\n";
	}
}
Comme dit, c'est du code jetable. Avouez qu'il n'y a rien de terrible là dedans !

Sous mon éditeur de texte du boulot (Textpad), j'ai des dizaines de lignes qui ressortent en anomalie dans le fichier. Or, le code montré ci-dessus ne renvoie aucun warning alors que je lui demande justement de m'afficher les lignes qui ne commencent pas par "XS".

J'utilise Perl v5.8.8 build 822 sous Windows XP.

Quelqu'un peut-il me dire où se cache mon erreur ? Perso, je ne la trouve pas !